
PhantomRecon est un outil d'automatisation de red team modulaire, piloté par des agents et basé sur CLI, conçu pour démontrer des flux de travail offensifs autonomes en matière de sécurité, propulsés par l'IA (Google Gemini via Agent Development Kit - ADK).
PhantomRecon est un outil d'automatisation Red Team modulaire, piloté par agents et basé sur CLI, conçu pour démontrer des workflows offensifs de sécurité autonomes propulsés par l'IA (Gemini de Google via 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> : Cible à évaluer--auto : Exécute recon → plan → routage → rapport--nmap-timeout <seconds> : Remplace NMAP_TIMEOUT--nmap-top-ports <N> : Remplace NMAP_TOP_PORTS--nmap-args "..." : Ajoute aux arguments Nmap (NMAP_ARGS)--nmap-disable : Désactive Nmap (définit NMAP_DISABLE=1)Les variables d'environnement sont également prises en charge directement : NMAP_TIMEOUT, NMAP_TOP_PORTS, NMAP_ARGS, NMAP_DISABLE.
.gitignore exclut reports/* sauf reports/sample_report.md.reports/ uniquement.Conçu comme une preuve de concept, il simule l'identification d'une cible, l'exécution d'une reconnaissance étendue (Nmap, DNS, recherche web), la planification d'une stratégie d'attaque à l'aide d'un LLM, l'exécution conditionnelle d'exploits simulés et la génération d'un rapport.
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 - Agent parallèle) :
nmap_tool)dns_tool)web_search_tool)aggregation_tool) :
aggregated_recon_data dans l'état de session.planning_agent - LlmAgent) :
attack_planner_prompt.txt pour générer un plan d'attaque JSON.attack_plan dans l'état de session.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 vers .env (si l'exemple existe) ou modifiez .Cet outil est destiné uniquement aux tests de sécurité autorisés et à des fins éducatives. Ne l'utilisez pas contre des systèmes sans autorisation explicite.
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
sudo apt install nmap ou brew install nmap)sudo apt install dnsutils ou brew install bind)sudo apt install whois ou brew install whois)sudo apt install sqlmap ou brew install sqlmap)sudo apt install wapiti ou brew install wapiti)sudo apt install ruby-full puis gem install wpscan ou brew install wpscan)adk web pour demander à l'utilisateur l'IP/le domaine cible.dig, nslookup, dig +trace, tentative AXFR, whois)sqlmap avec des options affinées), scan Wapiti (résultats analysés), WPScan (résultats analysés, conditionnel), XSS réfléchie de base, injection de commande de base - (Vérifications réelles)searchsploit avec une requête affinée), énumération post-authentification (via connexion directe sqlmap) - (Vérifications réelles)PhantomRecon utilise une architecture multi-agents entièrement autonome propulsée par l'Agent Development Kit (ADK) de Google.
Agent orchestrateur senior (gemini-1.5-pro-latest)
Agents de sécurité spécialisés
L'orchestrateur agit comme un testeur d'intrusion senior :
Fonctionnalités clés :
context.session.state (sessions ADK)executor_fix.py)Exécution via CLI (recommandé) :
python -m phantomrecon --target <domain|ip> --auto
Console interactive :
python -m phantomrecon
Exécuteur ADK optionnel :
adk run phantomrecon -- --target <domain|ip> --auto
attack_plan depuis l'état.web_exploit_tool, sql_exploit_tool) en fonction du plan.exploit_results dans l'état de session.report_tool) :
.envGOOGLE_API_KEY.GOOGLE_GENAI_USE_VERTEXAI sur True ou False et configurez les variables associées (GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION) si vous utilisez Vertex AI.python -m phantomreconpython -m phantomrecon --target <target> --autoadk run phantomreconsudo apt install exploitdb ou brew install exploitdb)requirements.txt (installation via pip install -r requirements.txt)searchsploit avec une requête affinée), audit de configuration (via ssh-audit, résultats analysés) - (Vérifications réelles)ToolContext d'ADK pour transmettre des données entre agents et outils.