How sohampatil5337/elixir-pentest-agent works
This is an AI-assisted web penetration-testing dashboard. An operator starts a scan; the backend coordinates target crawling (optionally with login), form prioritization and injection checks, then generates findings and a report. Distinct stages include reconnaissance, endpoint resolution, attack-payload checks, and reporting. The frontend is served by the backend, and an Ollama-backed LLM supports planning and explanations. The README is minimal; the dashboard’s detailed UI behavior and some report-persistence wiring are not shown in the excerpts, so those relationships are omitted or marked unverified.
Main entry points: main.py FastAPI service · planner_agent.py Scan planner · injection_agent.py Injection tester · app.js Web dashboard
Components 15
Dashboard interface
- Web dashboard
frontend/app.js - FastAPI service
backend/main.py
Scan orchestration
- Scan planner
backend/agents/planner_agent.py - Recon subprocess
backend/run_recon_subprocess.py
Recon and testing
- Browser reconnaissance
backend/agents/recon_agent.py - Endpoint resolver
backend/agents/endpoint_map.py - Injection tester
backend/agents/injection_agent.py - Attack checks
backend/agents/attack_modules.py
Results and AI
- Report generator
backend/agents/reporting_agent.py - LLM client
backend/core/llm_client.py - Scan history
backend/main.py - Report files
backend/main.py
Other components
- Operator
- Target web app
- Ollama service
Connections 17
- Operator → Web dashboard: uses
- Web dashboard → FastAPI service: requests scans
- FastAPI service → Web dashboard: serves
backend/main.py - FastAPI service → Scan planner: runs scan
backend/main.py - Scan planner → Recon subprocess: launches
backend/agents/planner_agent.py - Recon subprocess → Browser reconnaissance: runs crawl
backend/run_recon_subprocess.py - Browser reconnaissance → Target web app: crawls
- Scan planner → Injection tester: tests forms
backend/agents/planner_agent.py - Injection tester → Endpoint resolver: resolves endpoint
backend/agents/injection_agent.py - Injection tester → Attack checks: runs checks
backend/agents/injection_agent.py - Injection tester → Target web app: sends payloads
backend/agents/injection_agent.py - Scan planner → LLM client: plans priority
backend/agents/planner_agent.py - FastAPI service → Report generator: generates report
backend/main.py - Report generator → LLM client: requests explanations
backend/agents/reporting_agent.py - LLM client → Ollama service: sends prompts
backend/core/llm_client.py - FastAPI service → Scan history: reads and writes
backend/main.py - FastAPI service → Report files: serves reports
backend/main.py