0xSteph/pentest-ai
Open-source AI pentester that proves every finding. Machine oracles re-run each exploit; verified bugs ship a proof capsule you can replay yourself.
pentest‑ai (ptai) – AI‑coordinated, oracle‑verified penetration testing
功能简介 – ptai 是一款基于 Python 的命令行工具,它仅使用大语言模型 (LLM) 来协调一系列现有的安全扫描器、漏洞利用工具和自定义探测器。在发现漏洞后,该工具会针对目标重新运行一个确定性的、非破坏性的概念验证(即“oracle”)。只有当 oracle 重现该问题 N/N 次时,该发现才会被标记为 VERIFIED(已验证),并打包成可重复执行的“证明胶囊”。
核心能力
- LLM 编排工作流 – LLM (Claude, OpenAI, Ollama 等) 驱动包含 200 多个封装工具和约 60 个 Web 探测器的流水线,决定运行哪些工具以及如何链接结果。
- Oracle 验证 – 每个候选漏洞利用都会由专门的“机器 oracle”(例如,使用泄露的密钥登录、重新发送构造的请求)重新执行。只有当 oracle 成功时,该发现才会获得 VERIFIED 徽章和一个可随后重放的便携式证明胶囊 (
ptai replay)。 - 多阶段代理 – 包括侦察、身份验证处理、Web/API/AD/云测试、权限提升、漏洞利用链构建、PoC 验证、检测规则生成、报告,以及可选的红队、移动端和无线代理。
- 零信任执行 – 所有网络流量均源自用户机器;除非用户提供 LLM 端点,否则不需要云服务。该工具可以使用 Ollama 完全离线运行。
- CI/CD 集成 – GitHub Action 示例展示了如何在出现已验证的高危发现时,通过 SARIF、JUnit 或 PDF 报告来阻断 PR。
- 范围安全性 – 活动工具被锁定在主机范围内;扫描器绝不会追踪从页面抓取的第三方 URL。
- 成本控制 – 对于独立模式(非 MCP),LLM 消耗默认限制在 10 美元;可以通过
PTAI_PRICE_LIMIT进行配置。
工作原理(高层流程)
ptai start <target>启动一次渗透测试任务。- Recon (侦察) 收集端口、DNS、服务指纹。
- Auth (身份验证) 进行登录(凭据可以从环境变量、1Password、Vault 等引用)并维持会话。
- Web / API / AD / Cloud 代理 运行确定性的探测(涵盖 OWASP Top 10、API Top 10 等的 60 多个 SPA 感知检查)。
- 发现结果存储在本地 SQLite 数据库中。
- Exploit‑chain 代理 将发现结果关联成多步攻击路径。
- Poc‑validator (oracle) 重新执行每个发现;只有成功的发现才会成为 VERIFIED 并打包进可重放的胶囊中。
- Report 代理 输出 Markdown、HTML、PDF、SARIF、JUnit 以及可选的检测规则导出。
安装与使用
pip install ptai # 核心包
tai start https://target.com # 交互式运行(提示身份验证、范围等)
tai demo # 对内置漏洞应用进行快速演示
tai replay <capsule> # 亲自重放证明胶囊
文档中记录了 三种执行路径:
- 路径 1 – 从 Claude Code(或其他兼容 MCP 的客户端)驱动
ptai且无需 API 密钥;客户端现有的 Anthropic 订阅将提供 LLM。 - 路径 2 – 通过
ptai setup --mcp自动配置其他 MCP 客户端(Cursor, VS Code Copilot 等)。 - 路径 3 – 用于 CI、隔离环境终端或没有 MCP 客户端的用户。需要 LLM API 密钥或本地 Ollama 服务器。
基准测试(如 README 中所述)
- 在包含 14 种漏洞类型的自定义蜜罐上,
ptai以 100% 精度 和 零误报 验证了 23 个发现。 - 在 OWASP Juice Shop 上,单次扫描产生了 12 个 oracle 验证的发现(例如,JWT
alg:none、BOLA、顺序 IDOR、类型混淆)。 - 该工具附带蜜罐框架和干净的应用测试套件,因此这些数据是可重现的。
何时使用
- 在需要每个漏洞的高置信度、可重现证明的内部红队或渗透测试任务中。
- 必须根据已验证的安全发现来拦截合并的 CI/CD 流水线。
- 具有严格数据隐私要求的环境(本地运行,无遥测,可选离线 LLM)。
- 已经使用兼容 MCP 的 LLM 客户端(Claude Code, Cursor 等)并希望通过安全工具进行扩展的团队。
局限性 / 注意事项
- LLM 仅作为协调者;检测覆盖范围取决于精选的探测库(约 60 个 Web 探测器,200 多个封装工具)。库之外的新型漏洞将无法被发现。
- Oracle 验证会增加运行开销;在笔记本电脑上进行完整扫描可能需要几分钟。
- 在独立模式下,LLM 使用会产生 API 费用;默认的 10 美元限额可能会导致长时间任务中断,除非调高限额。
- 该工具具有攻击性,需要签署授权使用政策;只能针对您有权测试的系统运行。
TL;DR – pentest‑ai (pip 包 ptai) 是一个开源的、由 LLM 编排的渗透测试框架,它通过自动重新执行每个发现的漏洞利用来生成机器验证的证明,从而脱颖而出。它在本地运行,与现有安全工具集成,支持 CI/CD,并提供基于云 (MCP) 和完全离线的使用模式。
相关
- 项目
- 项目
- 项目
- 项目
- 项目