BugTraceAI/BugTraceAI-CLI
GitHub: BugTraceAI/BugTraceAI-CLI
融合多角色 AI 共识分析与确定性利用工具的自主化 Web 安全扫描框架,实现从侦察到漏洞验证的完整渗透测试流水线。
Stars: 61 | Forks: 9
# BugTraceAI-CLI
[](https://bugtraceai.com)
[](https://deepwiki.com/BugTraceAI/BugTraceAI-CLI)






## 📑 目录
- [🚨 免责声明](#-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 安装** - 容器化部署(最适合生产)
### 📖 手动安装
### 快速入门
```
# 完整扫描
./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)
点击展开手动安装说明
#### 本地安装 ``` # 创建虚拟环境 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 ```标签:AGPL协议, AI安全, Chat Copilot, CISA项目, DLL 劫持, Docker, PNNL实验室, PyRIT, Python, SQLMap集成, Web安全, 多智能体系统, 大语言模型, 安全防御评估, 密码管理, 无后门, 浏览器验证, 特征检测, 网络安全, 自主安全框架, 自动化渗透测试, 蓝队分析, 计算机取证, 请求拦截, 逆向工具, 隐私保护, 验证引擎