You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Noir is an open-source project dedicated to identifying attack surfaces, enhancing whitebox security testing, and optimizing security pipelines. It excels at discovering API endpoints, web endpoints, and other potential entry points within source code for comprehensive security analysis.
22
+
23
+

24
+
25
+
This tool was developed using [Crystal](https://crystal-lang.org). Initially started as hahwul's personal project[^1] in August 2023, it became an OWASP project[^2] in June 2024, co-led by [hahwul](https://github.com/hahwul) and [ksg](https://github.com/ksg97031).
[^2]: [Welcome to OWASP Noir](https://github.com/orgs/owasp-noir/discussions/336)
29
+
30
+
## How it works?
31
+
32
+
Noir is composed of several key components: detector, analyzer, deliver, minilexer/miniparser[^3], output-builder, and tagger[^4]. These components interact and work together to effectively analyze source code. Through this process, they help identify endpoints, parameters, headers, and more within the source code.
33
+
34
+
[^3]: The minilexer and miniparser is a parser and tokenizer used for code analysis to identify various elements within the source code.
35
+
[^4]: The tagger assigns relevant tags to the identified issues for easier categorization and management.
36
+
37
+
```mermaid
38
+
flowchart LR
39
+
SourceCode --> Detectors
40
+
41
+
subgraph Detectors
42
+
direction LR
43
+
Detector1 & Detector2 & Detector3
44
+
end
45
+
46
+
Detectors --> Analyzers
47
+
48
+
subgraph Analyzers
49
+
direction LR
50
+
Analyzer1 & Analyzer2 & Analyzer3
51
+
Analyzer2 --> |Condition| Minilexer
52
+
Analyzer3 --> |Condition| Miniparser
53
+
end
54
+
55
+
Analyzers --> |Condition| Deliver
56
+
Analyzers --> |Condition| Tagger
57
+
Deliver --> OutputBuilder
58
+
Tagger --> OutputBuilder
59
+
Analyzers --> OutputBuilder
60
+
OutputBuilder --> Endpoints
61
+
62
+
```
63
+
64
+
## About the project
65
+
### License
66
+
OWASP Noir is distributed by an [MIT license](https://github.com/owasp-noir/noir/blob/main/LICENSE).
67
+
68
+
### Contributing
69
+
70
+
Open-source projects thrive on the strength of the community. From small contributions to major ones, we want to express our gratitude to all contributors. If you're interested in contributing, please check out this document.
71
+
72
+
We believe every contribution counts and appreciate the time and effort you put into making this project better. Whether you're fixing a typo, adding a new feature, or improving documentation, your help is invaluable. Thank you for being part of our community!
73
+
74
+
To get started, simply follow the guidelines in the [Contribute Guide](https://github.com/owasp-noir/noir/blob/main/CONTRIBUTING.md). It's full of helpful tips and instructions to make your first contribution smooth and enjoyable.
OWASP Noir is committed to fostering a welcoming community.
84
+
85
+
View our [Code of Conduct](https://github.com/owasp-noir/noir/blob/main/CODE_OF_CONDUCT.md) on our GitHub repository.
86
+
87
+
## Help and feedback
88
+
89
+
We always welcome feedback. Please share your thoughts, suggestions, or report any issues via the GitHub [discussions](https://github.com/orgs/owasp-noir/discussions) or [issues](https://github.com/owasp-noir/noir/issues) page.
0 commit comments