
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) :
attack_plan depuis l'état.web_exploit_tool, sql_exploit_tool) en fonction du plan.exploit_results dans l'état de session.report_tool) :
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 .env.GOOGLE_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 phantomreconCet 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)sudo apt install exploitdb ou brew install exploitdb)requirements.txt (installation via pip install -r requirements.txt)