BugTraceAI/BugTraceAI-CLI

GitHub: BugTraceAI/BugTraceAI-CLI

融合多角色 AI 共识分析与确定性利用工具的自主化 Web 安全扫描框架,实现从侦察到漏洞验证的完整渗透测试流水线。

Stars: 61 | Forks: 9

# BugTraceAI-CLI [![网站](https://img.shields.io/badge/Website-bugtraceai.com-blue?logo=google-chrome&logoColor=white)](https://bugtraceai.com) [![Wiki 文档](https://img.shields.io/badge/Wiki%20Documentation-000?logo=wikipedia&logoColor=white)](https://deepwiki.com/BugTraceAI/BugTraceAI-CLI) ![许可证](https://img.shields.io/badge/License-AGPL--3.0-blue.svg) ![状态](https://img.shields.io/badge/Status-Beta-orange) ![Python](https://img.shields.io/badge/Python-3.10+-blue?logo=python&logoColor=white) ![Docker](https://img.shields.io/badge/Docker-Required-blue?logo=docker) ![MCP](https://img.shields.io/badge/MCP-Compatible-green?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHoiLz48L3N2Zz4=) ![Made with](https://img.shields.io/badge/Made%20with-❤️-red) ## 📑 目录 - [🚨 免责声明](#-disclaimer) - [✨ 功能特性](#-features) - [🔬 核心方法论](#-core-methodology) - [🏗️ 架构](#️-architecture) - [🛠️ 技术栈](#️-technology-stack) - [🚀 快速开始](#-getting-started) - [🤖 AI 助手设置 (MCP)](#-ai-assistant-setup-mcp) - [⚙️ 配置](#️-configuration) - [📊 输出](#-output) - [📜 许可证](#-license) BugTraceAI-CLI 是一个自主进攻性安全框架,它将 LLM 驱动的分析与确定性利用工具相结合。与被动分析工具不同,BugTraceAI-CLI 使用真实的 payload、SQLMap 集成和基于浏览器的验证来主动利用漏洞,从而提供经确认的、可操作的发现。 其核心理念是 **“像渗透测试人员一样思考,像机器一样执行,像审计员一样验证”** —— 利用 AI 进行智能假设生成,但依靠真实工具进行利用和验证。 ## 🚨 免责声明 本工具仅供**授权安全测试**使用。 BugTraceAI-CLI 执行**主动利用**,包括: - 通过 SQLMap 执行真实的 SQL 注入 payload - 在浏览器中执行 XSS payload - 模板注入测试 - 服务器端请求伪造探测 **使用本工具即表示您承认并同意:** - 您将仅测试拥有明确书面许可的应用程序 - 您理解本工具会向目标发送实际的攻击 payload - 创建者对任何滥用或造成的损害不承担责任 **未经授权访问计算机系统是非法的。** ## ✨ 功能特性 BugTraceAI-CLI 实现了一个模仿专业渗透测试工作流程的 6 阶段流水线。 ### 阶段 1:侦察 (Reconnaissance) - 🕷️ **GoSpider 集成**:快速的异步爬取,支持 JavaScript 渲染和站点地图解析 - 🔍 **参数提取**:自动识别可注入参数 - 🌐 **API 端点丰富化**:从列表端点发现详细 URL - 🧭 **SPA 路由推断**:从前端路由推断 API 端点 ### 阶段 2:发现 (DASTySAST) - 🧠 **多角色分析**:6 个不同的 AI “角色” 分析每个 URL(漏洞赏金猎人、代码审计员、渗透测试人员等) - ✅ **共识投票**:需要分析角色中 4/5 的同意以减少误报 - 🔎 **怀疑性审查**:第 6 个“怀疑型”角色 (Claude Haiku) 执行最终过滤 - 🎯 **Nuclei CVE 扫描**:基于模板的已知漏洞检测(并行运行) - 🛡️ **并行执行**:所有角色同时分析以提高速度 ### 阶段 3:策略 (Strategy) - 🎯 **ThinkingConsolidationAgent**:将发现结果路由给专家的中心大脑 - 🔄 **去重**:消除跨 URL 的冗余发现 - ⚡ **优先级路由**:高置信度的发现优先测试 - 🛡️ **SQLi 绕过**:SQL 注入候选始终发送给 SQLMap(由工具决定,而非 LLM) - 🧩 **自动分发**:框架检测自动触发专家代理(例如 Angular → CSTIAgent) ### 阶段 4:利用 (Exploitation) 真实工具、真实 payload、真实结果 —— 14 个自主专家代理: | 代理 | 目标 | 方法 | | ------------------------------ | ------------------------------------- | ----------------------------------------------------------------- | | 🔥 **XSSAgent** | 跨站脚本攻击 (XSS) | Playwright 浏览器 + 6 级升级流水线 | | 💉 **SQLiAgent** | SQL 注入 | 带有 WAF 绕过篡改脚本的 SQLMap | | 🎭 **CSTIAgent** | 客户端/服务端模板注入 | AngularJS, Vue, Jinja2, Twig, Mako | | 🌐 **SSRFAgent** | 服务器端请求伪造 | OOB 回调验证 | | 📄 **XXEAgent** | XML 外部实体 | DTD 注入 + OOB 数据外带 | | 🔓 **IDORAgent** | 不安全的直接对象引用 | ID 操作 + 路径段测试 | | 📁 **LFIAgent** | 本地文件包含 | 带有过滤器规避的路径遍历 | | 🧩 **PrototypePollutionAgent** | 原型链污染 | 基于浏览器的属性验证 | | 🔌 **APISecurityAgent** | API 安全 | 破坏性的对象级授权 (BOLA) 测试 | | 🔑 **JWTAgent** | JWT 漏洞 | 算法混淆、弱密钥、令牌伪造 | | 🔀 **OpenRedirectAgent** | 开放重定向 | HTTP 3xx + 基于 DOM 的重定向检测 | | 💀 **RCEAgent** | 远程代码执行 | 命令注入 + 反序列化测试 | | 📨 **HeaderInjectionAgent** | 头部注入 | CRLF 注入 + 响应拆分 | | 📦 **MassAssignmentAgent** | 批量赋值 | 参数污染 + 权限提升 | | 💀 **KaliAgent** | 高级利用 | 通过 MCP 使用完整的 Kali Linux 终端工具集 (Nmap, Metasploit, 等.) | | 🕵️ **ReconAgent** | 自动化侦察 | 全自动 ReconFTW 编排,用于深度侦察 | ### 阶段 5:验证 (Validation) - 🖥️ **Chrome DevTools Protocol**:用于 XSS 的底层浏览器验证 - 👁️ **视觉 AI**:屏幕截图分析确认可视化漏洞 - 📸 **证据捕获**:每个确认的发现都包含证明 ### 阶段 6:报告 (Reporting) - 📊 **AI 驱动的报告**:LLM 生成的执行和技术评估 - 📝 **多种格式**:JSON(机器可读)、Markdown 和 HTML 报告 - 🔬 **PoC 丰富化**:为确认的发现批量生成概念验证 - 📁 **专家审计跟踪**:每个代理的 WET/DRY/结果可追溯性 ### 智能系统 - 🔀 **LLM 切换**:在模型层级间自动回退(Gemini → DeepSeek → Claude → Qwen) - 🛡️ **WAF 检测**:识别 Cloudflare, Akamai, AWS WAF, ModSecurity - 🎯 **自适应绕过**:针对每种 WAF 类型的编码、分块和大小写混合策略 - 🛡️ **生态健壮性**:内置断路器以防止无限循环、自适应速率限制以及跨接口(局域网/远程)兼容性。 ## 🔬 核心方法论 BugTraceAI-CLI 使用多层方法在最大化准确性的同时最小化误报。 ### 多角色分析 与单一的 AI 扫描不同,每个 URL 由 6 个不同的“角色”进行分析,提供多样化的视角: 1. **漏洞赏金猎人**:关注高影响、有价值的漏洞(RCE, SQLi, SSRF) 2. **代码审计员**:分析代码模式、输入验证和逻辑缺陷 3. **渗透测试人员**:标准攻击面映射和 OWASP Top 10 利用 4. **安全研究员**:新型攻击向量、竞争条件和边缘情况 5. **红队操作员**:高级攻击链、权限提升和横向移动 6. **怀疑型审查员**:一个单独的“批评者”代理,激进地过滤误报 ### 共识 + 怀疑性审查 ``` 5 Analysis Personas run in parallel ↓ Consensus voting (Agreement analysis) ↓ 6th Persona "Skeptical Agent" Review (Claude Haiku) ↓ Passed to specialist agents ``` ### 基于工具的验证 关键区别在于:**AI 提出假设,工具进行验证**。 - SQLi 发现 → SQLMap 通过真实注入确认 - XSS 发现 → Playwright 在浏览器中执行 payload - 所有发现 → CDP + 视觉 AI 提供证据 这消除了纯 AI 扫描器的“幻觉问题”。 ## 🏗️ Reactor 架构 ``` ┌──────────────────────────────────────────────────────────────────────┐ │ BUGTRACE REACTOR │ ├──────────────────────────────────────────────────────────────────────┤ │ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ Phase 1 │ │ Phase 2 │ │ Phase 3 │ │ Phase 4 │ │ │ │ Recon │ → │ Discovery │ → │ Strategy │ → │Exploitation│ │ │ │ GoSpider │ │ DASTySAST │ │ ThinkingAg.│ │ 14 Agents │ │ │ │ URL Enrich │ │ 6 Personas │ │ Dedup │ │ SQLMap │ │ │ │ SPA→API │ │ + Nuclei │ │ Routing │ │ Playwright │ │ │ └────────────┘ └────────────┘ └────────────┘ └─────┬──────┘ │ │ │ │ │ ▼ │ │ ┌────────────┐ │ │ │ Phase 5 │ │ │ │ Validation │ │ │ │ CDP │ │ │ │ Vision AI │ │ │ └─────┬──────┘ │ │ │ │ │ ▼ │ │ ┌────────────┐ │ │ │ Phase 6 │ │ │ │ Reporting │ │ │ │JSON/MD/HTML│ │ │ └────────────┘ │ └──────────────────────────────────────────────────────────────────────┘ ``` ### 并行化控制 每个阶段以独立的并发性运行: | 阶段 | 并发数 | 可配置 | 备注 | | -------------- | ----------- | ------------ | ---------------------------- | | 侦察 (Reconnaissance) | 1 | 否 | GoSpider 已经很快 | | 发现 (Discovery) | 5 | 是 | 每个 URL 并行 DAST | | 策略 (Strategy) | 1 | 否 | 顺序去重 + 路由 | | 利用 (Exploitation) | 10 | 是 | 并行专家代理 | | 验证 (Validation) | 1 | **否** | CDP 限制(硬编码) | | 报告 (Reporting) | 1 | 否 | 顺序报告生成 | ## 🛠️ 技术栈 - **语言**:Python 3.10+ - **AI 提供商**:OpenRouter (Gemini, Claude, DeepSeek, Qwen) - **本地 AI**:BAAI/bge-small-en-v1.5 (SOTA Embeddings & 语义搜索) - **浏览器自动化**:Playwright (利用), Chrome CDP (验证) - **SQL 注入**:SQLMap via Docker - **爬虫**:GoSpider via Docker - **CVE 扫描**:Nuclei via Docker - **数据库**:SQLite with WAL mode - **异步**:asyncio + aiohttp ## 🚀 快速开始 ### 前置条件 - **对于 Docker**:Docker & Docker Compose - **对于本地安装**:Python 3.10+, Docker (用于某些代理), nmap (可选) - OpenRouter API key ([在此获取](https://openrouter.ai/keys)) ### 🎯 快速安装(推荐) 使用**交互式安装向导**进行自动设置: ``` # Clone the repository git clone https://github.com/BugTraceAI/BugTraceAI-CLI cd BugTraceAI-CLI # 运行安装向导 ./install.sh ``` 向导将: - ✅ 自动检查系统要求 - 🔍 检测并使用空闲端口用于 Docker(无冲突!) - ⚙️ 设置环境配置 - 🐳 构建并启动 Docker 容器 或 配置本地 Python 环境 - 🎨 提供美观、交互式的终端 UI **安装选项:** 1. **本地安装** - Python 虚拟环境(最适合开发) 2. **Docker 安装** - 容器化部署(最适合生产) ### 📖 手动安装
点击展开手动安装说明 #### 本地安装 ``` # 创建虚拟环境 python3 -m venv .venv source .venv/bin/activate # 安装依赖 pip install -r requirements.txt # 安装浏览器 playwright install chromium # 配置环境 cp .env.example .env # 编辑 .env 并添加您的 OPENROUTER_API_KEY ``` #### Docker 安装 ``` # 配置环境 cp .env.example .env # 编辑 .env 并添加您的 OPENROUTER_API_KEY # 构建并启动 docker-compose up -d # 查看日志 docker-compose logs -f ```
### 快速入门 ``` # 完整扫描 ./bugtraceai-cli scan https://target.com # Clean scan (reset database) ./bugtraceai-cli scan https://target.com --clean # 恢复中断的扫描 ./bugtraceai-cli scan https://target.com --resume # 启动 API server (for Web UI) ./bugtraceai-cli serve --port 8000 ``` **Docker 用户:** ``` # API is already running at http://localhost:8000 # (or whatever port was auto-selected during installation) # 通过 API 或 Web UI 执行扫描 curl http://localhost:8000/health ``` ## 🤖 AI 助手设置 (MCP) BugTraceAI 是 **MCP 兼容的** —— 直接通过您的 AI 助手使用自然对话控制您的安全扫描。 支持 [**OpenClaw**](https://openclaw.com)(基于 Telegram 的 AI 助手)、**Claude Code**、**Cursor** 以及任何兼容 MCP 的客户端。一次部署,随处控制。 ### 工作原理 BugTraceAI 通过 [上下文协议](https://modelcontextprotocol.io) —— 连接 AI 助手与外部工具的开放标准 —— 将其扫描引擎作为 **MCP 工具** 暴露。您的 AI 助手可以启动扫描、监控进度、查询发现并检索报告 —— 一切皆可通过聊天完成。 ### AI 代理快速设置 ### 手动 MCP 设置 ``` # 1. Clone and configure git clone https://github.com/BugTraceAI/BugTraceAI-CLI cd BugTraceAI-CLI cp .env.example .env # 编辑 .env → 添加您的 OPENROUTER_API_KEY # 2. 启动服务 (API + MCP) docker compose up -d # 3. 验证端点 curl -f http://localhost:8000/health # API health check curl -sf http://localhost:8001/sse # MCP SSE endpoint ``` ### 连接您的 AI 助手 将 BugTraceAI 添加到您的 MCP 客户端配置中: ``` { "mcpServers": { "bugtraceai": { "baseUrl": "http://localhost:8001/sse", "description": "BugTraceAI Security Scanner" } } } ``` ### 可用的 MCP 工具 连接后,您的 AI 助手可以使用这些工具: | 工具 | 描述 | | ----------------- | ----------------------------------------------------- | | `start_scan` | 在目标 URL 上启动安全扫描 | | `get_scan_status` | 检查扫描进度和当前阶段 | | `query_findings` | 检索漏洞发现并进行过滤 | | `stop_scan` | 优雅地停止正在运行的扫描 | | `export_report` | 获取扫描报告(摘要、关键发现或完整报告) | ### 前置条件 - **Docker & Docker Compose** 已安装并运行 - **OpenRouter API key** ([在此获取](https://openrouter.ai/keys)) - 一个兼容 MCP 的 AI 助手 ([OpenClaw](https://openclaw.com), Claude Code, Cursor, 或任何 MCP 客户端) ### 端口 | 服务 | 端口 | 描述 | | ------- | ---- | ------------------------------- | | API | 8000 | REST API + 健康检查 | | MCP | 8001 | AI 助手的 SSE 传输 | ## ⚙️ 配置 所有设置位于 `bugtraceaicli.conf`: ``` [API] OPENROUTER_API_KEY = sk-or-v1-xxxxx [SCAN] MAX_URLS = 100 MAX_CONCURRENT_ANALYSIS = 5 MAX_CONCURRENT_SPECIALISTS = 10 [SCANNING] MANDATORY_SQLMAP_VALIDATION = True STOP_ON_CRITICAL = False [VALIDATION] CDP_ENABLED = True VISION_ENABLED = True ``` ### 模型配置 ``` [LLM_MODELS] DEFAULT_MODEL = google/gemini-2.0-flash-thinking-exp:free SKEPTICAL_MODEL = anthropic/claude-3.5-haiku:beta VISION_MODEL = google/gemini-2.0-flash-thinking-exp:free ``` ## 📊 输出 ### 报告 生成于 `/reports/`: - `report_*.json` - 机器可读的发现 - `report_*.md` - Markdown 摘要 - `report_*.html` - 执行演示 ### 日志 位于 `/logs/`: - `execution.log` - 详细跟踪 - `llm_audit.jsonl` - 每个 AI 提示/响应 - `errors.log` - 错误跟踪 ### 发现状态流转 ``` CANDIDATE → PENDING_VALIDATION → CONFIRMED / FALSE_POSITIVE → PROBE_VALIDATED ``` ## 📜 许可证 AGPL-3.0 许可证 版权所有 (c) 2026 BugTraceAI 详见 [许可证](LICENSE)。 由 Albert C. [@yz9yt](https://x.com/yz9yt) 用 ❤️ 制作 [bugtraceai.com](https://bugtraceai.com)
标签:AGPL协议, AI安全, Chat Copilot, CISA项目, DLL 劫持, Docker, PNNL实验室, PyRIT, Python, SQLMap集成, Web安全, 多智能体系统, 大语言模型, 安全防御评估, 密码管理, 无后门, 浏览器验证, 特征检测, 网络安全, 自主安全框架, 自动化渗透测试, 蓝队分析, 计算机取证, 请求拦截, 逆向工具, 隐私保护, 验证引擎