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 进行配置。

工作原理(高层流程)

  1. ptai start <target> 启动一次渗透测试任务。
  2. Recon (侦察) 收集端口、DNS、服务指纹。
  3. Auth (身份验证) 进行登录(凭据可以从环境变量、1Password、Vault 等引用)并维持会话。
  4. Web / API / AD / Cloud 代理 运行确定性的探测(涵盖 OWASP Top 10、API Top 10 等的 60 多个 SPA 感知检查)。
  5. 发现结果存储在本地 SQLite 数据库中。
  6. Exploit‑chain 代理 将发现结果关联成多步攻击路径。
  7. Poc‑validator (oracle) 重新执行每个发现;只有成功的发现才会成为 VERIFIED 并打包进可重放的胶囊中。
  8. 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 种漏洞类型的自定义蜜罐上,ptai100% 精度零误报 验证了 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;DRpentest‑ai (pip 包 ptai) 是一个开源的、由 LLM 编排的渗透测试框架,它通过自动重新执行每个发现的漏洞利用来生成机器验证的证明,从而脱颖而出。它在本地运行,与现有安全工具集成,支持 CI/CD,并提供基于云 (MCP) 和完全离线的使用模式。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目