# 1diot9/vulnhunter-white architecture

> Architecture diagram of the GitHub repository 1diot9/vulnhunter-white, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/1diot9/vulnhunter-white
- Repository: https://github.com/1diot9/vulnhunter-white

## Overview

VulnHunter-White is an LLM-driven white-box vulnerability discovery and review application. Users import a GitHub repository or ZIP, configure audit options, and run a staged workflow: reconnaissance and optional code indexing, one or more mining paths, reviewer validation, and optional internet verification and attack-chain analysis. The React UI presents project controls, live logs, reports, and confirmed findings. The README documents the major workflow and capabilities; source excerpts are partial, so some internal links are documented rather than verified at call sites.

Main entry points: [`backend/app/services/pipeline.py`](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/services/pipeline.py) (Audit Orchestrator), [`backend/app/tools/phase_worker.py`](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/tools/phase_worker.py) (Vulnerability Worker), [`backend/app/tools/phase_reviewer.py`](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/tools/phase_reviewer.py) (Reviewer), [`frontend/src/App.tsx`](https://github.com/1diot9/vulnhunter-white/blob/main/frontend/src/App.tsx) (Web App)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["User Experience"]
  node_webapp["Web App<br/>[App.tsx]"]
  node_project_ui["Project Workspace"]
  node_findings_ui["Findings and Reports<br/>[VulnsPage.tsx]"]
end

subgraph group_orchestration["Audit Orchestration"]
  node_project_import["Repository Import<br/>[ingest.py]"]
  node_pipeline["Audit Orchestrator<br/>[pipeline.py]"]
end

subgraph group_analysis["Analysis and Review"]
  node_recon["Recon and Mining Paths<br/>[mining_paths.py]"]
  node_codeintel["Code Intelligence<br/>[service.py]"]
  node_worker["Vulnerability Worker<br/>[phase_worker.py]"]
  node_reviewer["Reviewer<br/>[phase_reviewer.py]"]
  node_audit_modes["Audit Modes<br/>[audit_mode.py]"]
  node_codegraph_cli["CodeGraph and JAR Index<br/>[cli.py]"]
end

subgraph group_verification["Verification and Results"]
  node_dynamic_verify["Dynamic Verification<br/>[dynamic_verify.py]"]
  node_lab["Docker Lab<br/>[lab.py]"]
  node_verifier["Internet Verifier<br/>[verifier.py]"]
  node_attack_chain["Attack Chains"]
  node_reports["Reports and Advisory<br/>[report.py]"]
end

subgraph group_platform["Application Platform"]
  node_api["Backend APIs"]
  node_database[("Project and Findings Store<br/>[models.py]")]
  node_tools["Agent Tool Dispatch<br/>[__init__.py]"]
  node_live_logs["Live Event Logs<br/>[live_log.py]"]
end

node_user(("Auditor"))
node_llm{{"LLM Provider"}}
node_external_services{{"GitHub and FOFA"}}

node_user -->|"uses"| node_webapp
node_webapp -->|"routes to"| node_project_ui
node_webapp -->|"routes to"| node_findings_ui
node_project_ui -.->|"configures projects"| node_api
node_findings_ui -.->|"views findings"| node_api
node_user -->|"imports source"| node_project_import
node_external_services -->|"provides repository"| node_project_import
node_project_import -->|"starts audit"| node_pipeline
node_pipeline -->|"runs reconnaissance"| node_recon
node_pipeline -->|"optionally indexes"| node_codeintel
node_codeintel -->|"builds indexes"| node_codegraph_cli
node_pipeline -->|"runs mining"| node_worker
node_worker -->|"submits findings"| node_reviewer
node_pipeline -->|"runs review"| node_reviewer
node_pipeline -->|"applies modes"| node_audit_modes
node_reviewer -->|"optionally verifies"| node_dynamic_verify
node_dynamic_verify -->|"uses lab"| node_lab
node_pipeline -->|"optionally verifies online"| node_verifier
node_pipeline -->|"optionally links findings"| node_attack_chain
node_reviewer -->|"produces reports"| node_reports
node_pipeline -->|"dispatches tools"| node_tools
node_tools -->|"registers worker tools"| node_worker
node_pipeline -->|"requests analysis"| node_llm
node_pipeline -->|"tracks project state"| node_database
node_worker -->|"records findings"| node_database
node_pipeline -->|"emits progress"| node_live_logs
node_verifier -->|"queries FOFA"| node_external_services
node_reports -.->|"shown as results"| node_findings_ui

click node_webapp "https://github.com/1diot9/vulnhunter-white/blob/main/frontend/src/App.tsx"
click node_project_ui "https://github.com/1diot9/vulnhunter-white/blob/main/frontend/src/pages/ProjectDetailPage.tsx"
click node_findings_ui "https://github.com/1diot9/vulnhunter-white/blob/main/frontend/src/pages/VulnsPage.tsx"
click node_api "https://github.com/1diot9/vulnhunter-white/tree/main/backend/app/api"
click node_project_import "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/services/ingest.py"
click node_pipeline "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/services/pipeline.py"
click node_recon "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/mining_paths.py"
click node_codeintel "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/code_intelligence/service.py"
click node_worker "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/tools/phase_worker.py"
click node_reviewer "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/tools/phase_reviewer.py"
click node_audit_modes "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/audit_mode.py"
click node_dynamic_verify "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/dynamic_verify.py"
click node_lab "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/services/lab.py"
click node_verifier "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/services/verifier.py"
click node_attack_chain "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/tools/phase_attack_chain.py"
click node_reports "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/services/report.py"
click node_database "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/models.py"
click node_tools "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/tools/__init__.py"
click node_live_logs "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/services/live_log.py"
click node_codegraph_cli "https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/code_intelligence/cli.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_webapp,node_project_ui,node_findings_ui toneBlue
class node_project_import,node_pipeline toneAmber
class node_recon,node_codeintel,node_worker,node_reviewer,node_audit_modes,node_codegraph_cli toneMint
class node_dynamic_verify,node_lab,node_verifier,node_attack_chain,node_reports toneRose
class node_api,node_database,node_tools,node_live_logs,node_user,node_llm,node_external_services toneIndigo
```

## Components

### User Experience

- [Web App](https://github.com/1diot9/vulnhunter-white/blob/main/frontend/src/App.tsx): `frontend/src/App.tsx`
- [Project Workspace](https://github.com/1diot9/vulnhunter-white/blob/main/frontend/src/pages/ProjectDetailPage.tsx): `frontend/src/pages/ProjectDetailPage.tsx`
- [Findings and Reports](https://github.com/1diot9/vulnhunter-white/blob/main/frontend/src/pages/VulnsPage.tsx): `frontend/src/pages/VulnsPage.tsx`

### Audit Orchestration

- [Repository Import](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/services/ingest.py): `backend/app/services/ingest.py`
- [Audit Orchestrator](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/services/pipeline.py): `backend/app/services/pipeline.py`

### Analysis and Review

- [Recon and Mining Paths](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/mining_paths.py): `backend/app/mining_paths.py`
- [Code Intelligence](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/code_intelligence/service.py): `backend/app/code_intelligence/service.py`
- [Vulnerability Worker](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/tools/phase_worker.py): `backend/app/tools/phase_worker.py`
- [Reviewer](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/tools/phase_reviewer.py): `backend/app/tools/phase_reviewer.py`
- [Audit Modes](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/audit_mode.py): `backend/app/audit_mode.py`
- [CodeGraph and JAR Index](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/code_intelligence/cli.py): `backend/app/code_intelligence/cli.py`

### Verification and Results

- [Dynamic Verification](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/dynamic_verify.py): `backend/app/dynamic_verify.py`
- [Docker Lab](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/services/lab.py): `backend/app/services/lab.py`
- [Internet Verifier](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/services/verifier.py): `backend/app/services/verifier.py`
- [Attack Chains](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/tools/phase_attack_chain.py): `backend/app/tools/phase_attack_chain.py`
- [Reports and Advisory](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/services/report.py): `backend/app/services/report.py`

### Application Platform

- [Backend APIs](https://github.com/1diot9/vulnhunter-white/tree/main/backend/app/api): `backend/app/api`
- [Project and Findings Store](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/models.py): `backend/app/models.py`
- [Agent Tool Dispatch](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/tools/__init__.py): `backend/app/tools/__init__.py`
- [Live Event Logs](https://github.com/1diot9/vulnhunter-white/blob/main/backend/app/services/live_log.py): `backend/app/services/live_log.py`

### Other components

- **Auditor**
- **LLM Provider**
- **GitHub and FOFA**

## Connections

- Auditor → Web App: uses (evidence: `README.md`)
- Web App → Project Workspace: routes to (evidence: `frontend/src/App.tsx`)
- Web App → Findings and Reports: routes to (evidence: `frontend/src/App.tsx`)
- Project Workspace → Backend APIs: configures projects
- Findings and Reports → Backend APIs: views findings
- Auditor → Repository Import: imports source (evidence: `README.md`)
- GitHub and FOFA → Repository Import: provides repository (evidence: `README.md`)
- Repository Import → Audit Orchestrator: starts audit (evidence: `README.md`)
- Audit Orchestrator → Recon and Mining Paths: runs reconnaissance (evidence: `README.md`)
- Audit Orchestrator → Code Intelligence: optionally indexes (evidence: `README.md`)
- Code Intelligence → CodeGraph and JAR Index: builds indexes (evidence: `backend/app/code_intelligence/service.py`)
- Audit Orchestrator → Vulnerability Worker: runs mining (evidence: `README.md`)
- Vulnerability Worker → Reviewer: submits findings (evidence: `README.md`)
- Audit Orchestrator → Reviewer: runs review (evidence: `README.md`)
- Audit Orchestrator → Audit Modes: applies modes (evidence: `backend/app/services/pipeline.py`)
- Reviewer → Dynamic Verification: optionally verifies (evidence: `README.md`)
- Dynamic Verification → Docker Lab: uses lab (evidence: `backend/app/dynamic_verify.py`)
- Audit Orchestrator → Internet Verifier: optionally verifies online (evidence: `README.md`)
- Audit Orchestrator → Attack Chains: optionally links findings (evidence: `README.md`)
- Reviewer → Reports and Advisory: produces reports (evidence: `README.md`)
- Audit Orchestrator → Agent Tool Dispatch: dispatches tools (evidence: `backend/app/main.py`)
- Agent Tool Dispatch → Vulnerability Worker: registers worker tools (evidence: `backend/app/tools/__init__.py`)
- Audit Orchestrator → LLM Provider: requests analysis (evidence: `README.md`)
- Audit Orchestrator → Project and Findings Store: tracks project state (evidence: `backend/app/services/pipeline.py`)
- Vulnerability Worker → Project and Findings Store: records findings (evidence: `backend/app/tools/phase_worker.py`)
- Audit Orchestrator → Live Event Logs: emits progress (evidence: `backend/app/code_intelligence/service.py`)
- Internet Verifier → GitHub and FOFA: queries FOFA (evidence: `README.md`)
- Reports and Advisory → Findings and Reports: shown as results
