pentest-ai
一条命令让 AI 完成全套渗透测试,支持 MCP 协议接入 Claude Code
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
一条命令让 AI 完成全套渗透测试,支持 MCP 协议接入 Claude Code
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
pentest-ai 是一款基于 AI Agent 的自动化渗透测试框架,开发者只需一条命令指向目标,它就能自动完成侦察、漏洞探测、权限维持、证据收集,并生成可直接提交的安全审计报告。支持 MCP(Model Context Protocol)协议,可无缝集成到 Claude Code、Cursor 等 AI 编程工具中,让安全研究员在 AI 辅助下完成专业级渗透测试。
传统渗透测试高度依赖人工经验——安全研究员需要手动操作 Nmap 端口扫描、Nikto 漏洞扫描、Burp Suite 抓包改包、SQLMap 注入验证等一系列工具,再将结果整理成报告。一场中型 Web 应用的渗透测试往往需要 3-5 人团队耗费数天。
随着 GPT-4、Claude 等大语言模型能力的爆发,安全社区开始探索用 AI Agent 自动化这一流程。0xSteph 作为安全研究员和 AI 工具爱好者,于 2023 年底发起了 pentest-ai 项目,核心思路是:不依赖云端 API 调用(BYO LLM,用户自备大模型),将真实攻击工具封装为 Agent 工具集,让 AI 自主决策攻击路径,而非简单地调用扫描器。
这一设计理念让它在同类工具(如 AutoGPT 安全分支、SecGPT)中脱颖而出。截至 2026 年初,该项目已获得 837 颗 GitHub Stars,被 OWASP 社区收录推荐。
pentest-ai 将渗透测试拆解为 17 个专业 Agent 子类,覆盖完整攻击链:
| Agent | 职责 |
|---|---|
recon | 子域名枚举、端口扫描、CMS 识别 |
web | Web 漏洞探测(SQLi、XSS、CSRF) |
api_security | REST/GraphQL API 安全测试 |
browser | 浏览器自动化漏洞验证 |
cloud | AWS/GCP/Azure 云配置审计 |
ad | Active Directory 域渗透 |
mobile | Android/iOS 应用安全测试 |
privesc | 权限提升策略生成 |
exploit_chain | 多步骤攻击链串联 |
poc_validator | PoC 脚本生成与验证 |
social_engineer | 钓鱼邮件模板生成 |
llm_redteam | 对抗性 Prompt 注入测试 |
vuln_scanner | 通用漏洞扫描器 |
detection | 入侵检测规避策略 |
credential_tester | 凭证暴力破解 |
report | 自动化报告生成(JUnit XML / SARIF) |
每个 Agent 继承自 BaseAgent,通过统一接口注册到 AgentRegistry,由 Orchestrator 统一调度。
工具层是 pentest-ai 的核心能力所在。tools/ 目录按领域划分为 binary(本地二进制工具)、network(Nmap 等)、web(HTTP 请求相关)、cloud、osint、password、wordlists 等子模块,所有工具均通过 ToolRegistry 注册。
其中 probes.py 实现了 60+ 个 SPA(单页应用)感知探针,专门针对现代 Web 应用中大量使用 JavaScript 动态渲染、GraphQL API、React/Vue 框架的挑战——传统扫描器往往对这类目标束手无策,而 pentest-ai 通过 Playwright 驱动真实浏览器执行探测,可以绕过前端框架直接发现漏洞。
pentest-ai 最具创新性的设计是内置 FastMCP Server(mcp_server/server.py)。MCP(Model Context Protocol)是 Anthropic 提出的 AI 工具调用协议,pentest-ai 通过它将所有安全工具暴露给 Claude Code:
ptai mcp # 启动 MCP Server
在 Claude Code 中,用户只需说「帮我审计 pentestai.xyz」,Claude 就会自动调用 mcp_server 中的工具,完成侦察、扫描、漏洞验证,最后生成报告——整个过程无需手动切换工具。这是第一个将完整渗透测试能力接入 AI 编程助手的开源项目。
不同于单点漏洞扫描,pentest-ai 的 exploit_chain Agent 能够识别多个低危漏洞之间的关联性,自动生成多步攻击路径。例如:发现某站点的开放端口 22 → 枚举出 SSH 弱口令 → 通过私钥泄露发现内网另一台主机 → 最终拿下数据库。这种能力大幅提升了渗透测试的实战价值。
项目明确承诺:不向任何云端服务器发送数据,所有扫描过程在本地执行。这是渗透测试工具的基本伦理底线,也是安全研究员选择 pentest-ai 而非某些商业扫描 SaaS 的重要原因。
pentest-ai 提供四种 docker-compose profile,适配不同场景:
| Profile | 命令 | 用途 |
|---|---|---|
default | docker compose up | 启动 MCP Server,作为 AI 工具 |
dev | docker compose --profile dev up | 本地源码挂载,热重载,开发调试 |
menu | docker compose --profile menu run | 交互式命令行菜单(类 hackingtool 风格) |
serve | docker compose --profile serve up | HTTP REST API + Web Dashboard |
多阶段 Dockerfile(python:3.12-slim 基础镜像 + prod/dev 双目标)确保生产镜像体积最小化。安装也极为简单:
pip install ptai # 安装 CLI
ptai install # 安装工具依赖(nmap、metasploit 等)
ptai scan target.com # 开始扫描
法律风险:工具本身附带免责声明(AUP + Terms of Service),要求用户仅在获得明确授权的目标上使用。但开源代码无法防止滥用,这是所有攻击性安全工具的固有矛盾。
LLM 幻觉问题:AI Agent 在漏洞验证阶段可能产生误报(将正常功能误判为漏洞)或漏报(忽略边缘 case),专业安全研究员仍需人工复核。
工具生态锁定:依赖特定版本的安全工具链(Nmap、SQLMap、Burp Suite 等),在 macOS 或 Windows 上需要额外配置 Docker 环境。
stealth 模式不完善:detection Agent 提供基础规避策略,但面对成熟 IDS/IPS 系统(如 Zeek + Suricata 组合)仍有较大局限性。
┌─────────────────────────────────────────┐
│ CLI / MCP Server / FastAPI (REST) │ ← 接入层
├─────────────────────────────────────────┤
│ Orchestrator + AgentRegistry │ ← 调度层
├─────────────────────────────────────────┤
│ 17 个专业 Agent │ ← 业务层
├─────────────────────────────────────────┤
│ ToolRegistry + 205+ 封装工具 │ ← 工具层
├─────────────────────────────────────────┤
│ LiteLLM(多 LLM 路由)/ httpx / SQLite │ ← 基础设施
└─────────────────────────────────────────┘
1. LiteLLM 统一路由:通过 LiteLLM 封装所有 LLM 提供商(OpenAI、Anthropic、Azure、Ollama 等),用户只需配置一个 API Key,pentest-ai 自动选择最优模型。
2. Playwright 驱动浏览器:browser Agent 使用 Playwright 操控真实 Chrome/Firefox 浏览器,可以执行 JavaScript、填写表单、等待 AJAX 完成——这是传统 HTTP 扫描器无法实现的 SPA 测试能力。
3. HITL(Human-in-the-Loop):对于高危操作(如命令注入、RCE 利用),hitl.py 实现人工审批流程,防止 AI 自行执行不可逆破坏。
4. SARIF/JUnit XML 报告:junit_xml.py 和 sarif.py 生成标准化安全报告格式,可直接导入 GitHub Security、Semgrep、Jira 等平台。
5. 完整测试套件:tests/ 目录使用 pytest + pytest-asyncio,CI 配置在 .github/workflows/ci.yml,预提交钩子(pre-commit)包含 gitleaks(防止 secrets 泄露)和 ruff(代码风格)。
| 维度 | 评分 | 说明 |
|---|---|---|
| 功能完整性 | ★★★★★ | 覆盖完整渗透测试攻击链,205+ 工具 |
| 架构设计 | ★★★★☆ | 模块化清晰,MCP 协议创新性强 |
| 文档质量 | ★★★★☆ | README 详细,但高级用法文档偏少 |
| 社区活跃度 | ★★★★☆ | 持续更新,Discord 社区活跃 |
| 上手难度 | ★★★☆☆ | Docker 部署简单,CLI 菜单友好 |
pentest-ai 代表了 AI 安全工具的一个重要方向:用 AI Agent 重新定义渗透测试的工作流,而非简单地将扫描器包装成 API。对于安全研究员,它是一个强力助手;对于 AI 开发者,它是研究 AI + Security 交叉领域的优秀参考项目。随着 MCP 生态的扩大,预计未来会有更多安全工具接入这一协议,形成 AI-native 的安全测试工作流。