VulneraX is an autonomous Red Team platform that orchestrates AI-driven reconnaissance, payload generation, attack execution, and adaptive reporting. It combines Python-based scanning/orchestrator agents so you can trigger ethical hacking workflows, inspect results, and export polished PDFs without stitching together multiple services.
agent/: Python services (FastAPI + Flask) that expose/scan//execute, orchestrate Google ADK agents (recon_agent,payload_agent,attack_agent,report_agent*), and contain scanners (SimpleScanner,EnhancedSecurityScanner,SecurityScanner) backed by OWASP ZAP.client/: Next.js 14 (app/router) frontend with a landing page, protected dashboard, scan form, re-usable UI atoms (components/ui), and an API route that proxies scan requests to the backend (app/api/scan/route.ts).streamlit/: A dark-themed Streamlit experience that loads text reports fromagent/reports, renders them in-app, and lets you download PDF exports via ReportLab.common/: Lightweight helpers for agent-to-agent communication (a2a_client.py,a2a_server.py).aventus/: A Google ADK recon agent implementation that can be executed programmatically viaaventus/recon_agent/task_manager.py.agent/scan_results/: Scan artifacts such asendpoints.json,structure.json,subdomains.jsonand provides data consumed by Enhanced scanners and report agents.
-
Install Python dependencies
python -m pip install -r requirements.txt
Ensure OWASP ZAP is running on
http://localhost:8080. -
Backend
- Run FastAPI orchestrator:
cd agent uvicorn main:app --reload --host 0.0.0.0 --port 8000
- Run FastAPI orchestrator:
-
Streamlit report viewer
streamlit run streamlit/streamlit_app.py
Use the “Scan Now” button to open the backend, read
agent/reports/attack_report.txtandattack_report2.txt, and download PDF versions.
- The frontend sends
POST /api/scanwith{ input: "Scan <URL>" }. - The proxy forwards the body to the FastAPI backend, which invokes
run_security_scan()fromagent/orchestrator/agent.py. - Scanners (
SecurityScanner,SimpleScanner,EnhancedSecurityScanner) discover endpoints, forms, and subdomains, storing results underagent/scan_results. - Payload and attack agents optionally generate curl commands that
execute()runs viasubprocess. - Reports are saved via
save_report_to_file()so Streamlit and export scripts can reuse them.
agent/: orchestrator, scanners, reports, scan resultsclient/: Next.js app withapp/routes, UI components, and API proxystreamlit/streamlit_app.py: report viewer + PDF exportercommon/: helper agents (a2a)aventus/: Google ADK recon agent implementationrequirements.txt: Python dependenciespackage.json/package-lock: Next.js dependencies
agent/scan_results/*.jsoncontain endpoints, forms, and structure data extracted during scans.- Each scanner logs to console/file (see
SimpleScannerandSecurityScannerloggers) for auditing. - Reports live in
agent/reports/attack_report.txtandattack_report2.txt.
See LICENSE.