
PhantomRecon is a CLI-based, modular, agent-driven red team automation tool designed to demonstrate autonomous offensive security workflows powered by AI (Google's Gemini via Agent Development Kit - ADK).
PhantomRecon è uno strumento di automazione red team basato su CLI, modulare e guidato da agenti, progettato per dimostrare flussi di lavoro di sicurezza offensiva autonomi alimentati dall'IA (Gemini di Google tramite Agent Development Kit - ADK).
python -m phantomrecon
python -m phantomrecon --target example.com --auto \
--nmap-timeout 30 --nmap-top-ports 100 --nmap-args "-sV -Pn"
--target <domain|ip>: Target da valutare--auto: Esegui ricognizione → piano → routing → report--nmap-timeout <seconds>: Sostituisce NMAP_TIMEOUT--nmap-top-ports <N>: Sostituisce NMAP_TOP_PORTS--nmap-args "...": Aggiunge agli argomenti di Nmap (NMAP_ARGS)--nmap-disable: Disabilita Nmap (imposta NMAP_DISABLE=1)Le variabili d'ambiente sono supportate anche direttamente: NMAP_TIMEOUT, NMAP_TOP_PORTS, NMAP_ARGS, NMAP_DISABLE.
.gitignore esclude reports/* tranne reports/sample_report.md.reports/.Costruito come proof-of-concept, simula l'identificazione di un target, l'esecuzione di un'ampia ricognizione (Nmap, DNS, Web Search), la pianificazione di una strategia di attacco tramite un LLM, l'esecuzione condizionata di exploit simulati e la generazione di un report.
phantomrecon/
├── phantomrecon/ # Main package (exported orchestrator agent)
│ ├── __init__.py
│ ├── __main__.py # CLI entrypoint (interactive and non-interactive)
│ └── agent/ # Agent graph and tools
├── agents/ # Python modules containing agent/tool logic
│ ├── recon_logic.py # Nmap, DNS (dig), seeded web analysis; ADK search enabled
│ ├── routing_logic.py # Logic for the Exploit Router agent
│ ├── exploit_web_logic.py # Functions for web exploits (currently simulated)
│ ├── exploit_sql_logic.py # Functions for SQL exploits (currently simulated)
│ └── report_logic.py # Functions for report generation using session state
├── configs/
│ └── targets.json # (Optional) Target configuration
├── data/
│ └── dummy_scan_output.json # Example Nmap data if no target specified
├── demos/
│ └── walkthrough.md # Demo steps
├── prompts/ # Prompt templates for LLM agents
├── reports/
│ └── sample_report.md # Example output report
├── requirements.txt # Python dependencies (includes google-adk)
├── .gitignore # Files excluded from version control
└── LICENSE # MIT License
recon_workflow - Agente Parallelo):
nmap_tool)dns_tool)web_search_tool)aggregation_tool):
aggregated_recon_data nello stato della sessione.planning_agent - LlmAgent):
attack_planner_prompt.txt per generare un piano di attacco JSON.attack_plan nello stato della sessione.exploit_router - RouterAgent):
python3, pip, nmap, dig, whois, sqlmap, wapiti, wpscan, searchsploit.python3 -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
pip install -r requirements.txt
.env.example in .env (se l'esempio esiste) o modifica .Questo strumento è destinato esclusivamente a test di sicurezza autorizzati e a fini educativi. Non utilizzarlo contro sistemi senza esplicita autorizzazione.
Questo progetto è concesso in licenza MIT - vedi il file LICENSE per i dettagli.
sudo apt install nmap oppure brew install nmap)sudo apt install dnsutils oppure brew install bind)sudo apt install whois oppure brew install whois)sudo apt install sqlmap oppure brew install sqlmap)sudo apt install wapiti oppure brew install wapiti)sudo apt install ruby-full poi gem install wpscan oppure brew install wpscan)adk web per chiedere all'utente l'IP/dominio del target.dig, nslookup, dig +trace, tentativo AXFR, whois)sqlmap con opzioni raffinate), scansione Wapiti (risultati analizzati), WPScan (risultati analizzati, condizionale), XSS riflesso di base, Command Injection di base - (Controlli reali)searchsploit con query raffinata), Enumerazione post-autenticazione (tramite connessione diretta di sqlmap) - (Controlli reali)PhantomRecon usa un'architettura multi-agente completamente autonoma basata sull'Agent Development Kit (ADK) di Google.
Agente Orchestratore Senior (gemini-1.5-pro-latest)
Agenti di sicurezza specializzati
L'orchestratore opera come un penetration tester senior:
Caratteristiche principali:
context.session.state (sessioni ADK)executor_fix.py)Esegui tramite CLI (consigliato):
python -m phantomrecon --target <domain|ip> --auto
Console interattiva:
python -m phantomrecon
ADK runner opzionale:
adk run phantomrecon -- --target <domain|ip> --auto
attack_plan dallo stato.web_exploit_tool, sql_exploit_tool) in base al piano.exploit_results nello stato della sessione.report_tool):
.envGOOGLE_API_KEY.GOOGLE_GENAI_USE_VERTEXAI su True o False e configura le variabili correlate (GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION) se usi Vertex AI.python -m phantomreconpython -m phantomrecon --target <target> --autoadk run phantomreconsudo apt install exploitdb oppure brew install exploitdb)requirements.txt (installazione tramite pip install -r requirements.txt)searchsploit con query raffinata), Audit di configurazione (tramite ssh-audit, risultati analizzati) - (Controlli reali)ToolContext di ADK per passare dati tra agenti/strumenti.