PhantomRecon 是一个基于 CLI 的模块化、代理驱动的红队自动化工具,旨在演示由 AI(通过 Agent Development Kit - ADK 使用 Google Gemini)驱动的自主进攻性安全工作流。
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/ 下。作为概念验证构建,它模拟了识别目标、执行广泛侦察(Nmap、DNS、网络搜索)、使用 LLM 规划攻击策略、按条件执行模拟漏洞利用以及生成报告的过程。
phantomrecon/
├── phantomrecon/ # 主包(导出的编排代理)
│ ├── __init__.py
│ ├── __main__.py # CLI 入口点(交互式和非交互式)
│ └── agent/ # 代理图谱和工具
├── agents/ # 包含代理/工具逻辑的 Python 模块
│ ├── recon_logic.py # Nmap、DNS (dig)、种子化 Web 分析;启用 ADK 搜索
│ ├── routing_logic.py # 漏洞利用路由代理的逻辑
│ ├── exploit_web_logic.py # Web 漏洞利用函数(当前为模拟)
│ ├── exploit_sql_logic.py # SQL 漏洞利用函数(当前为模拟)
│ └── report_logic.py # 使用会话状态生成报告的函数
├── configs/
│ └── targets.json # (可选)目标配置
├── data/
│ └── dummy_scan_output.json # 未指定目标时的示例 Nmap 数据
├── demos/
│ └── walkthrough.md # 演示步骤
├── prompts/ # 用于 LLM 代理的提示模板
├── reports/
│ └── sample_report.md # 示例输出报告
├── requirements.txt # Python 依赖(包含 google-adk)
├── .gitignore # 从版本控制中排除的文件
└── LICENSE # MIT 许可证
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、)。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。此工具仅用于授权的安全测试和教育目的。未经明确许可,请勿对任何系统使用。
本项目采用 MIT 许可证授权 - 有关详细信息,请参阅 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)adk web 界面向用户询问目标 IP/域名。dig、nslookup、dig +trace、AXFR 尝试、whois)sqlmap 并使用精细选项)、Wapiti 扫描(解析结果)、WPScan(解析结果,条件执行)、基础反射型 XSS、基础命令注入 -(真实检测)searchsploit 并使用精细查询)、认证后枚举(通过 sqlmap 直连)-(真实检测)searchsploit 并使用精细查询)、配置审计(通过 ssh-audit,解析结果)-(真实检测)PhantomRecon 使用由 Google 的 Agent Development Kit (ADK) 驱动的完全自主多代理架构。
高级编排代理(gemini-1.5-pro-latest)
专业化安全代理
编排代理的运作方式类似于高级渗透测试人员:
主要特性:
context.session.state(ADK 会话)进行状态管理executor_fix.py)通过 CLI 运行(推荐):
python -m phantomrecon --target <domain|ip> --auto
交互式控制台:
python -m phantomrecon
可选的 ADK 运行器:
adk run phantomrecon -- --target <domain|ip> --auto
sql_exploit_toolexploit_results 列表。report_tool):
GOOGLE_API_KEY 变量添加你的 Google API 密钥(来自 AI Studio 或 Vertex AI 配置)。GOOGLE_GENAI_USE_VERTEXAI 设置为 True 或 False,并配置相关变量(GOOGLE_CLOUD_PROJECT、GOOGLE_CLOUD_LOCATION)。python -m phantomreconpython -m phantomrecon --target <target> --autoadk run phantomreconsudo apt install exploitdb 或 brew install exploitdb)requirements.txt 中列出的 Python 库(通过 pip install -r requirements.txt 安装)ToolContext 在代理/工具之间传递数据。