Agentic Pentesting MCP 服务器,用于发现、利用和报告 Web 应用程序漏洞。
一个智能渗透测试 MCP 服务器,能够利用完整的 OWASP Web 安全测试指南和 PortSwigger Web 安全学院技术参考,自动化执行 Web 应用程序渗透测试。
将其指向一个目标——它会爬取你的应用程序,映射所有端点,然后生成角色专业化代理(侦察者、分析者、利用者、报告者)来测试 XSS、SQLi、SSRF、SSTI、IDOR 等漏洞。无误报——每个发现都基于真实、可复现的证据,并在每个阶段通过质量门控强制要求证明。包含 31 份 PortSwigger 技术指南、针对 12 家厂商的自适应 WAF 绕过、跨阶段漏洞链式利用以及基于风险加权的端点优先级排序。可通过 Claude Code、API 运行,或使用 Ollama 模型完全离线运行。
可以将其视为: 一位高级渗透测试人员的经验方法论编码为 MCP 服务器——109 个 OWASP 测试、31 份 PortSwigger 攻击技术指南、68+ 个 MCP 工具、27 个安全工具、4 个专业化代理角色、7 个结构化阶段、自动化质量保证,以及零上下文的最终审查。
手动渗透测试全面但缓慢。自动化扫描器快速但浅薄。AutoPentest 弥补了这一差距:
| 能力 | 手动渗透测试 | 自动化扫描器 | AutoPentest |
|---|---|---|---|
| 完整的 OWASP WSTG 覆盖 | 取决于测试人员 | 部分 | 109 个测试 |
| 业务逻辑测试 | 是 | 否 | 是 |
| 多步骤利用 | 是 | 有限 | 是 |
| 漏洞链式利用 | 是 | 否 | 是 |
| 基于证据的发现 | 是 | 模板输出 | 可复现的 curl 命令 |
| 一致的质量 | 因人而异 | 是 | 阶段门控 + 最终裁判 |
| 速度 | 数天 | 数分钟 | 数小时 |
| 跨域认证(SSO/OIDC) | 手动设置 | 通常失败 | 自动化处理 |
┌─────────────────────────────────────────────────────────────┐ │ LLM Orchestrator (Claude) │ │ │ │ Reads CLAUDE.md workflow, manages phases, │ │ spawns role-specialized subagents │ └──────────┬──────────┬──────────┬──────────┬─────────────────┘ │ │ │ │ ┌─────▼────┐ ┌───▼─────┐ ┌──▼───────┐ ┌▼─────────┐ │ Scout │ │Analyzer │ │Exploiter │ │ Reporter │ │ (recon) │ │ (vuln │ │ (proof) │ │ (QA / │ │ │ │ disc.) │ │ │ │ judge) │ └──────────┘ └─────────┘ └──────────┘ └──────────┘ │ │ │ │ │ MCP │ │ MCP │ ▼ ▼ ▼ ▼ ┌──────────────────────────┐ ┌──────────────────────┐ │ WSTG MCP Server │ │ Playwright MCP │ │ (68+ tools) │ │ (Browser Testing) │ │ │ │ │ │ ◦ 109 WSTG tests │ │ ◦ DOM XSS proof │ │ ◦ 31 technique guides │ │ ◦ Clickjacking │ │ ◦ Task tree │ │ ◦ JS-rendered auth │ │ ◦ Knowledge graph │ └──────────────────────┘ │ ◦ WAF evasion │ │ ◦ Tool output parser │ │ ◦ Results verification │ docker exec │ ◦ Context compression │ │ │ ◦ Endpoint priority │ ▼ │ ◦ Quality gates │ ┌──────────────────────┐ │ ◦ Report generation │ │ autopentest-tools │ └──────────────────────────┘ │ (Docker Container) │ │ │ │ 27 security tools: │ │ nuclei, sqlmap, │ │ dalfox, katana, │ │ ffuf, nmap ... │ │ │ │ Burp proxy │ │ passthrough │ └──────────────────────┘
**工作原理:**
1. **Claude Code** 读取 `CLAUDE.md` 获取完整渗透测试方法,并编排 7 阶段工作流
2. **角色专业化子代理**(侦察兵、分析者、利用者、报告者)使用专用提示模板、工具指导和反模式执行聚焦任务
3. **WSTG MCP 服务器**(68+ 工具)提供 OWASP 测试程序、31 份 PortSwigger 技术指南、层次化任务树、知识图谱、WAF 绕过、端点优先级排序、结果验证、上下文压缩、质量门控和报告生成
4. **Docker 容器**运行全部 27 个安全工具——流量可选择性通过 Burp Suite 路由以进行被动监控
5. **Playwright MCP**处理基于浏览器的测试(DOM XSS、点击劫持、JS 渲染的登录页面)
---
## 功能特性
### 全面的 OWASP 覆盖
- **109 个 WSTG 测试用例**,涵盖 12 个类别——从信息收集到 API 测试
- 每个测试包含步骤式 CLI 程序、上下文相关有效载荷、检测标准和严重性分级
- 测试按优先级(必须/应该)排列,并附带条件触发,确保不跳过任何相关内容
### 31 个 PortSwigger 攻击技术指南
- 来源于 [PortSwigger Web 安全学院](https://portswigger.net/web-security)——检测方法、利用技术、有效载荷、速查表和 WAF 绕过模式
- 按漏洞类别(SQLi、XSS、SSRF、JWT、OAuth 等)组织,便于测试时直接使用
- 集成到每个测试阶段——代理在测试每个漏洞类别前自动加载相关技术指南
- 数据库/平台特定有效载荷表(SQLi 的 Oracle vs MySQL vs PostgreSQL vs MSSQL,SSTI 的 Jinja2 vs Twig vs Freemarker 等)
- WAF 绕过模式按绕过级别(基础→中级→高级)组织
### 27 个预配置安全工具
- 所有工具已预装在单个 Docker 镜像中——运行 `make setup` 即可准备就绪
- 工具按阶段组织:发现、注入测试、身份验证、密码学、API 测试
- 自动 Burp Suite 代理集成,用于被动流量监控
### 结构化的 7 阶段工作流
- **阶段 0:** 应用发现与映射
- **阶段 1:** 信息收集与侦察
- **阶段 2:** 配置与部署测试
- **阶段 3:** 身份、认证、授权与会话管理
- **阶段 4:** 输入验证测试(流水线化 XSS/SQLi/SSRF 管道)
- **阶段 5:** 错误处理、密码学、业务逻辑、客户端与 API 测试
- **阶段 6:** 覆盖验证与报告
- **阶段 7:** 最终评审与修复
### 质量保证系统
- **自动化阶段门控**——每个阶段必须通过质量检查才能继续
- **质量审查者**子代理在每个阶段过渡时识别差距并提出改进建议
- **最终评审**——一个零上下文的代理以外部 QA 审查员的视角冷启动审查整个参与过程
- **穷举门控**——“未发现漏洞”需要证明足够的测试努力(最少技术和绕过尝试)
### 基于证据的发现
- 每个发现需要可重现的 curl 命令以及完整的请求/响应证据
- **三级分类:** 已利用(已证实的危害)、潜在(被控制措施阻止)、误报(控制措施有效)
- **反幻觉框架**——“无利用即无发现”在每个级别得到强制执行
- 每个漏洞类别的证据检查清单在记录任何发现前进行验证
### 角色专业化子代理
- **4 个专用角色**,配备聚焦的提示模板、工具指导和反模式:
- **侦察兵**——仅进行侦察,映射攻击面而不发送有效载荷(阶段 0-1)
- **分析者**——使用金丝雀/佐证有效载荷识别潜在注入点,构建利用队列(阶段 2-5 分析)
- **利用者**——消耗分析者输出,用证据证明利用,记录已确认发现(阶段 4 利用)
- **报告者**——质量审查和最终评审,审查数据而不发送请求(QA + 报告后)
- 分析与利用之间的验证检查点可防止浪费精力
- 每个角色具有明确的允许/限制工具列表以及输入/输出协议
### 流水线化利用(阶段 4)
- 3 条独立的**两阶段流水线**并行运行:XSS、注入(SQLi/CMDi)、SSRF/SSTI
- 每条流水线:分析者(发现→分析→排队)→ 验证检查点 → 利用者(利用→记录)
- 每条流水线加载其 PortSwigger 技术指南,用于检测方法、速查表和 WAF 绕过模式
- WAF 智能跨所有流水线共享
- 针对 13 种注入点类型的上下文感知佐证有效载荷
### 自适应 WAF 绕过
- **自动 WAF 指纹识别**,通过响应头、正文和状态码——识别 12 种 WAF 厂商(Cloudflare、AWS WAF、Akamai、Imperva、ModSecurity、F5、FortiWeb、Sucuri、Barracuda、Wordfence、NAXSI、Citrix)
- **厂商特定绕过有效载荷**按复杂度级别(基础→中级→高级)组织
- WAF 智能通过交付物系统在所有代理间共享
- 代理在首次遇到阻止响应时自动识别 WAF 并切换到定制的绕过有效载荷
### 跨阶段知识图谱
- **实体-关系图**追踪端点、参数、技术、发现、Cookie、域名和用户角色
- **自动漏洞链利用**,通过 BFS 路径查找,具有 7 个预定义链模式:
- XSS + 缺少 CSP、XSS + 弱 Cookie(无 HttpOnly)、开放重定向 + OAuth 回调
- IDOR + 管理员角色、SSRF + 云元数据、无锁定 + 无 MFA、CORS + 敏感端点
- 当链利用实质上增加危害时,严重性升级
- 在测试过程中持续填充,在阶段 4 之后查询以发现链
### 层次化任务树
- 持久树结构(阶段为分支,测试为叶子)防止 LLM 深度优先偏差和上下文丢失
- 主代理维护战略宏观视图;子代理仅更新其分配的叶子节点
- 自动传播:当所有子节点完成时,父节点自动完成
- 阶段级完成百分比,用于知情决策
### 端点风险优先级排序
- 按风险对端点进行评分和排序,以进行优先级测试——风险最高的先测试
- 评分因素:参数数量、技术风险指标、污点链置信度、工具收敛、认证要求、可注入参数名称
- 集成到阶段 0 端点映射生成中
### 工具输出解析
- **13 个内置解析器**,针对常见 CLI 工具(nmap、nuclei、sqlmap、ffuf、httpx、whatweb、testssl、nikto、dalfox、katana、gau、wapiti、commix)
- 将原始工具输出压缩 3-5 倍,同时保留关键发现、端点和错误
- 可配置详细程度:摘要(约 15 行)、详细(约 50 行)、完整(完整解析输出)
### CLI 工具结果验证
- 自动验证 CLI 工具输出质量——检测空输出、代理错误、权限问题和可疑结果
- **10 个逐工具验证器**(nmap、nuclei、sqlmap、ffuf、feroxbuster、testssl、dalfox、wapiti、katana、httpx),附带修正命令建议
- 当工具产生空或可疑输出时,验证器建议修复(例如,为 nmap 添加 `-Pn`、移除代理环境变量、尝试不同标志)
- 集成到工具执行工作流中——代理在每个 CLI 工具运行后调用 `verify_tool_result()`