# yaswantpandey/sudarshan-ai-web-vulnerability-scanner architecture

> Architecture diagram of the GitHub repository yaswantpandey/sudarshan-ai-web-vulnerability-scanner, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner
- Repository: https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner

## Overview

SUDARSHAN is an AI-assisted web application security scanner. The CLI configures a scan, then the scanner coordinates reconnaissance and vulnerability testing, optionally performs OWASP and attack-chain analysis, applies AI analysis, and generates a report. The README also advertises GUI and web interfaces, API security testing, crawling, and validation; these are retained as capabilities, but their wiring is not established by the sampled source. The graph focuses on documented runtime stages and sampled calls; some integration paths are intentionally omitted where excerpts do not show who invokes them.

Main entry points: [`core/scanner_engine.py`](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/core/scanner_engine.py) (Scanner engine), [`main.py`](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/main.py) (CLI entry), [`modules/reconnaissance.py`](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/reconnaissance.py) (Reconnaissance), [`modules/owasp_scanner.py`](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/owasp_scanner.py) (OWASP tests)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interfaces["User interfaces"]
  node_cli["CLI entry<br/>[main.py]"]
  node_gui["Desktop GUI<br/>[sudarshan_gui.py]"]
  node_web["Web interface<br/>[sudarshan.py]"]
end

subgraph group_scan["Scan orchestration"]
  node_config["Scan config<br/>[config.py]"]
  node_engine["Scanner engine<br/>[scanner_engine.py]"]
end

subgraph group_testing["Recon and testing"]
  node_recon["Reconnaissance<br/>[reconnaissance.py]"]
  node_crawler["Web crawling<br/>[web_crawler.py]"]
  node_vuln["Vulnerability tests"]
  node_owasp["OWASP tests<br/>[owasp_scanner.py]"]
  node_api["API security<br/>[api_security.py]"]
  node_validator["Finding validation"]
end

subgraph group_analysis["Analysis and reporting"]
  node_chains["Attack chains<br/>[chain_attacks.py]"]
  node_ai["AI analysis<br/>[ai_engine.py]"]
  node_risk["Risk scoring<br/>[risk_calculator.py]"]
  node_reports["Report generation"]
end

node_user(("Operator"))
node_target(("Target web app"))
node_ollama(("Ollama service"))
node_report["Scan report"]

node_user -->|"starts scan"| node_cli
node_user -->|"uses"| node_gui
node_user -->|"uses"| node_web
node_cli -->|"sets options"| node_config
node_cli -->|"starts scan"| node_engine
node_engine -->|"runs recon"| node_recon
node_engine -->|"runs tests"| node_owasp
node_engine -->|"requests analysis"| node_ai
node_engine -->|"generates report"| node_reports
node_recon -->|"queries"| node_target
node_vuln -->|"tests"| node_target
node_owasp -->|"tests"| node_target
node_recon -->|"discovers"| node_target
node_ai -.->|"queries"| node_ollama
node_reports -->|"writes"| node_report
node_crawler -->|"crawls"| node_target
node_api -->|"tests"| node_target

click node_cli "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/main.py"
click node_gui "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/sudarshan_gui.py"
click node_web "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/sudarshan.py"
click node_config "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/core/config.py"
click node_engine "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/core/scanner_engine.py"
click node_recon "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/reconnaissance.py"
click node_crawler "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/web_crawler.py"
click node_vuln "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/vulnerability_scanner.py"
click node_owasp "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/owasp_scanner.py"
click node_api "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/api_security.py"
click node_validator "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/advanced_validator.py"
click node_chains "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/chain_attacks.py"
click node_ai "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/core/ai_engine.py"
click node_risk "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/utils/risk_calculator.py"
click node_reports "https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/utils/report_generator.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_cli,node_gui,node_web toneBlue
class node_config,node_engine toneAmber
class node_recon,node_crawler,node_vuln,node_owasp,node_api,node_validator toneMint
class node_chains,node_ai,node_risk,node_reports toneRose
class node_user,node_target,node_ollama,node_report toneIndigo
```

## Components

### User interfaces

- [CLI entry](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/main.py): `main.py`
- [Desktop GUI](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/sudarshan_gui.py): `sudarshan_gui.py`
- [Web interface](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/sudarshan.py): `sudarshan.py`

### Scan orchestration

- [Scan config](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/core/config.py): `core/config.py`
- [Scanner engine](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/core/scanner_engine.py): `core/scanner_engine.py`

### Recon and testing

- [Reconnaissance](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/reconnaissance.py): `modules/reconnaissance.py`
- [Web crawling](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/web_crawler.py): `modules/web_crawler.py`
- [Vulnerability tests](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/vulnerability_scanner.py): `modules/vulnerability_scanner.py`
- [OWASP tests](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/owasp_scanner.py): `modules/owasp_scanner.py`
- [API security](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/api_security.py): `modules/api_security.py`
- [Finding validation](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/advanced_validator.py): `modules/advanced_validator.py`

### Analysis and reporting

- [Attack chains](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/modules/chain_attacks.py): `modules/chain_attacks.py`
- [AI analysis](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/core/ai_engine.py): `core/ai_engine.py`
- [Risk scoring](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/utils/risk_calculator.py): `utils/risk_calculator.py`
- [Report generation](https://github.com/yaswantpandey/sudarshan-ai-web-vulnerability-scanner/blob/main/utils/report_generator.py): `utils/report_generator.py`

### Other components

- **Operator**
- **Target web app**
- **Ollama service**
- **Scan report**

## Connections

- Operator → CLI entry: starts scan
- Operator → Desktop GUI: uses
- Operator → Web interface: uses
- CLI entry → Scan config: sets options
- CLI entry → Scanner engine: starts scan
- Scanner engine → Reconnaissance: runs recon
- Scanner engine → OWASP tests: runs tests
- Scanner engine → AI analysis: requests analysis
- Scanner engine → Report generation: generates report
- Reconnaissance → Target web app: queries
- Vulnerability tests → Target web app: tests
- OWASP tests → Target web app: tests
- Reconnaissance → Target web app: discovers
- AI analysis → Ollama service: queries
- Report generation → Scan report: writes
- Web crawling → Target web app: crawls
- API security → Target web app: tests
