
PhantomRecon — это CLI-инструмент автоматизации red team на основе модульной агентной архитектуры, предназначенный для демонстрации автономных наступательных рабочих процессов в области безопасности на базе ИИ (Google Gemini через Agent Development Kit — ADK).
PhantomRecon — это CLI-инструмент автоматизации red team с модульной архитектурой и управлением через агентов, предназначенный для демонстрации автономных рабочих процессов наступательной безопасности на базе ИИ (Google Gemini через 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>: Цель для оценки--auto: Выполнить: разведка → планирование → маршрутизация → отчёт--nmap-timeout <seconds>: Переопределяет NMAP_TIMEOUT--nmap-top-ports <N>: Переопределяет NMAP_TOP_PORTS--nmap-args "...": Дополняет аргументы Nmap (NMAP_ARGS)--nmap-disable: Отключить Nmap (устанавливает NMAP_DISABLE=1)Переменные окружения также поддерживаются напрямую: NMAP_TIMEOUT, NMAP_TOP_PORTS, NMAP_ARGS, NMAP_DISABLE.
.gitignore исключает reports/*, кроме reports/sample_report.md.reports/.Созданный как proof-of-concept, инструмент имитирует идентификацию цели, проведение широкой разведки (Nmap, DNS, веб-поиск), планирование стратегии атаки с помощью LLM, условное выполнение имитируемых эксплойтов и формирование отчёта.
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 — параллельный агент):
nmap_tool)dns_tool)web_search_tool)aggregation_tool):
aggregated_recon_data в состояние сессии.planning_agent — LlmAgent):
attack_planner_prompt.txt для генерации JSON-плана атаки.attack_plan в состояние сессии.exploit_router — RouterAgent):
attack_plan из состояния.web_exploit_tool, sql_exploit_tool) на основе плана.exploit_results в состоянии сессии.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 в .env (если пример существует) или отредактируйте .env.GOOGLE_API_KEY.GOOGLE_GENAI_USE_VERTEXAI в True или False и настройте связанные переменные (GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION), если используете Vertex AI.python -m phantomreconpython -m phantomrecon --target <target> --autoadk run phantomreconЭтот инструмент предназначен только для авторизованного тестирования безопасности и образовательных целей. Не используйте его против систем без явного разрешения.
Этот проект лицензирован в соответствии с MIT License — подробности см. в файле LICENSE.
sudo apt install nmap или brew install nmap)sudo apt install dnsutils или brew install bind)sudo apt install whois или brew install whois)sudo apt install sqlmap или brew install sqlmap)sudo apt install wapiti или brew install wapiti)sudo apt install ruby-full, затем gem install wpscan или brew install wpscan)sudo apt install exploitdb или brew install exploitdb)requirements.txt (установка через pip install -r requirements.txt)