Skip to content

Commit 36b262a

Browse files
authored
Merge pull request #501 from owasp-noir/issue-476
Add AI Integration Documents
2 parents 7e6179c + 2387036 commit 36b262a

File tree

5 files changed

+68
-9
lines changed

5 files changed

+68
-9
lines changed

Diff for: README.md

+6-7
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,12 @@ OWASP Noir is an open-source project specializing in identifying attack surfaces
3030

3131
## Key Features
3232

33-
- Identify API endpoints and parameters from source code.
34-
- Support various source code languages and frameworks.
35-
- Provide analysts with technical information and security issues identified during source code analysis.
36-
- Friendly pipeline & DevOps integration, offering multiple output formats (JSON, YAML, OAS spec) and compatibility with tools like curl and httpie.
37-
- Friendly Offensive Security Tools integration, allowing usage with tools such as ZAP and Caido, Burpsuite.
38-
- Identify security issues within the source code through rule-based passive scanning.
39-
- Generate elegant and clear output results.
33+
- Extract API endpoints and parameters from source code.
34+
- Support multiple languages and frameworks.
35+
- Uncover security issues with detailed analysis and rule-based passive scanning.
36+
- Integrate seamlessly with DevOps pipelines and tools like curl, ZAP, and Caido.
37+
- Deliver clear, actionable results in formats like JSON, YAML, and OAS.
38+
- Enhance endpoint discovery with AI for unfamiliar frameworks and hidden APIs.
4039

4140
## Usage
4241

Diff for: docs/_advanced/ai_integration.md

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
title: AI Integration
3+
has_children: false
4+
nav_order: 5
5+
layout: page
6+
---
7+
8+
# AI Integration
9+
{: .d-inline-block }
10+
11+
New (v0.19.0)
12+
{: .label .label-green }
13+
14+
15+
## Overview Flags
16+
17+
* `--ollama http://localhost:11434` Specify the Ollama server URL to connect to.
18+
* `--ollama-model MODEL` Specify the Ollama model name to be used for analysis.
19+
20+
21+
## How to Use AI Integration
22+
### Step 1: Install and Run Ollama
23+
24+
1. Install Ollama: Follow the instructions on the official Ollama website to install the required software.
25+
2. Run the Model: Start the Ollama server and ensure the desired model is available. For example:
26+
27+
```bash
28+
# Download LLM model
29+
ollama pull llama3
30+
31+
# Run LLM model
32+
ollama run llama3
33+
```
34+
35+
### Step 2: Run Noir with AI Analysis
36+
37+
To leverage AI capabilities for additional analysis, use the following command:
38+
39+
```bash
40+
noir -b . --ollama http://localhost:11434 --ollama-model llama3
41+
```
42+
43+
This command performs the standard Noir operations while utilizing the specified AI model for enhanced analysis.
44+
45+
![](../../images/advanced/ollama.jpeg)
46+
47+
## Benefits of AI Integration
48+
49+
* Using an LLM allows Noir to handle frameworks or languages that are beyond its original support scope.
50+
* Additional endpoints that might be missed during a standard Noir scan can be identified.
51+
* Note that there is a possibility of false positives, and the scanning speed may decrease depending on the number of LLM parameters and the performance of the machine hosting the service.
52+
53+
## Notes
54+
55+
* Ensure that the Ollama server is running and accessible at the specified URL before executing the command.
56+
* Replace llama3 with the name of the desired model as required.

Diff for: docs/_advanced/diff.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Diff Mode
33
has_children: false
4-
nav_order: 5
4+
nav_order: 6
55
layout: page
66
---
77

Diff for: docs/_includes/usage.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ FLAGS:
4141
--use-matchers string Send URLs that match specific conditions to the Deliver
4242
--use-filters string Exclude URLs that match specified conditions and send the rest to Deliver
4343

44+
AI Integration:
45+
--ollama http://localhost:11434 Specify the Ollama server URL
46+
--ollama-model MODEL Specify the Ollama model name
47+
4448
DIFF:
4549
--diff-path ./app2 Specify the path to the old version of the source code for comparison
4650

@@ -51,7 +55,7 @@ FLAGS:
5155

5256
CONFIG:
5357
--config-file ./config.yaml Specify the path to a configuration file in YAML format
54-
--concurrency 100 Set concurrency
58+
--concurrency 50 Set concurrency
5559
--generate-completion zsh Generate Zsh/Bash/Fish completion script
5660

5761
DEBUG:

Diff for: docs/images/advanced/ollama.jpeg

485 KB
Loading

0 commit comments

Comments
 (0)