GreyDGL/PentestGPT · 上手攻略

  • 仓库:GreyDGL/PentestGPT
  • 链接:https://github.com/GreyDGL/PentestGPT
  • 分类:ai
  • 作者:Jay
  • 更新:2026-07-12

是什么

PentestGPT 是一个由 LLM 驱动的自动化渗透测试 Agentic 框架,源自 2024 年 USENIX Security 顶会论文(86.5% 成功率,104 题基准)。它将渗透测试流程(信息收集→漏洞发现→利用→权限维持)封装为可迭代执行的 AI Agent,支持自主运行(Claude Code 驱动)和人机协作(多 LLM 会话协同)两种模式,覆盖 Web、密码学、逆向、权限提升等多个攻击类别,MIT 许可证。


解决什么问题

传统渗透测试依赖人工经验,面临以下挑战:

  • 人力成本高:完整一次渗透测试需要数天甚至数周专家工作。
  • 工具碎片化:Nmap、Burp、SQLMap 等工具各自独立,缺乏统一编排。
  • 复现困难:手动测试结果难以标准化复现和量化评估。
  • LLM 安全测试不成熟:早期用 LLM 做安全测试效果差,缺乏系统性框架。

PentestGPT 通过可迭代的 Agent 架构、系统化的任务树(Pentesting Task Tree)和量化基准(XBOW 数据集),将渗透测试的效率和可评估性提升到新的水平。


快速安装

环境要求

  • Python 3.12+
  • uv(Python 包管理器)
  • Claude Code CLI(claude),已安装并认证(仅自主 Agent 模式需要)

安装步骤

git clone https://github.com/GreyDGL/PentestGPT.git
cd PentestGPT
make install    # 等价于 uv sync,安装所有依赖

安装后运行测试:

make test      # 运行全部测试
make check     # lint + 类型检查

核心用法

自主 Agent 模式(Claude Code 驱动,默认)

完全自主运行,Claude Code 作为推理和执行引擎:

# 标准扫描
pentestgpt --target 10.10.11.234

# 带专项指令
pentestgpt --target 10.10.11.50 --instruction "WordPress site, focus on plugin vulnerabilities"

# 限制最大迭代次数(默认 10)
pentestgpt --target 10.10.11.234 --max-iterations 5

# 禁用遥测
pentestgpt --target 10.10.11.234 --no-telemetry

Agent 工作流程:自动迭代 → 维护上下文文件 → 遇到限制时重启(携带历史上下文) → 找到 Flag 或达到最大迭代次数退出。

人机协作模式(多 LLM,支持更多供应商)

pentestgpt-legacy 基于原始 USENIX 论文设计,运行三个协同 LLM 会话(推理 / 生成 / 解析),以 Pentesting Task Tree(PTP)驱动,人在循环中决定下一步:

# 配置 API Key(选一个或多个)
export OPENAI_API_KEY=...
export ANTHROPIC_API_KEY=...
export GEMINI_API_KEY=...       # 或 GOOGLE_API_KEY
export DEEPSEEK_API_KEY=...
export QWEN_API_KEY=...
export KIMI_API_KEY=...         # Moonshot Kimi

# 自动选择最优可用模型
pentestgpt-legacy

# 指定各会话模型
pentestgpt-legacy --reasoning-model claude-opus-4-8 --parsing-model gemini-3.5-flash

# 本地 Ollama 模型(OpenAI 兼容接口)
pentestgpt-legacy --reasoning-model ollama:qwen3 --base-url http://localhost:11434/v1

# 查看所有支持模型
pentestgpt-legacy --list-models

# 健康检查(遍历所有配置的模型)
pentestgpt-legacy --smoke-test

支持模型一览(截至 2026-07,以 --list-models 输出为准):

供应商 当前模型(2026) 传统模型
OpenAI gpt-5.5, gpt-5.4-mini, gpt-5.3-codex 等 gpt-4o, o3, o4-mini
Anthropic claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5 —
Google Gemini gemini-3.1-pro, gemini-3.5-flash, gemini-3-pro gemini-2.5-pro
DeepSeek deepseek-v4-flash, deepseek-v4-pro deepseek-chat
xAI Grok grok-4.3 —
阿里 Qwen qwen3.7-max, qwen3.5-flash qwen3-max
Moonshot Kimi kimi-k2.6 —
本地 Ollama ollama:<任意模型> —

注意:模型名称(如 gpt-5.5, claude-opus-4-8)为近似表示,实际以 pentestgpt-legacy --list-models 输出为准。OpenAI 模型名称变化较快,2026 年可能已有更新。


典型适用场景

  1. CTF 竞赛辅助:AI 协助解决 Web、Crypto、Reversing、PWN 等题目。
  2. 授权渗透测试:在受控目标上自动化信息收集和初步漏洞发现。
  3. 安全研究:对特定漏洞类型(WordPress 插件、老旧协议)进行系统性探测。
  4. 红队演练:作为红队工具链的 AI 层,自动执行预设攻击路径。
  5. 安全培训:生成渗透测试过程记录,用于教学和复盘。

坑与注意

  1. 仅限授权测试:工具明确声明仅用于教育目的和授权渗透测试,滥用后果自负。
  2. 自主 Agent 模式仅支持 Claude Code:默认的 pentestgpt 命令依赖 Claude Code,需提前安装认证。
  3. API 成本:自主模式通过 Claude Code 消耗 Anthropic 积分;legacy 模式按选择的模型计费,建议先用 --smoke-test 验证。
  4. 迭代限制:默认最多 10 次迭代,复杂目标需手动 --max-iterations 增加。
  5. 上下文丢失:长时间运行时建议定期保存 Session(工具支持),避免重启后从头开始。
  6. Flag 检测:检测到 Flag 后自动终止,但部分环境 Flag 格式特殊可能漏检。
  7. 多模型兼容:legacy 模式对 OpenAI 兼容 provider(如本地 Ollama)支持较好,非标准接口需要调整 --base-url。

与同类对比

工具 核心能力 LLM 依赖 部署难度 许可证
PentestGPT 自动化渗透测试全流程,PTP 任务树 Claude Code(自主)或任意 LLM(legacy) 低(make install) MIT
AutoGPT 通用自主 Agent 任意 LLM 低 Apache 2.0
PentestGPT Legacy 人机协作渗透测试 多 LLM 协同(OpenAI/Anthropic/Gemini 等) 低 MIT
Burp Suite + AI Extension 人工主导,AI 辅助 有限 中 专有
InvokeAgent 网络安全 Agent 任意 LLM 中 开源

PentestGPT 的核心差异是专为渗透测试设计的迭代 Agent 架构和 USENIX 论文级别的基准验证(XBOW),而 AutoGPT 是通用框架。安全测试场景下 PentestGPT 更专注,但通用 Agent 能力不如 AutoGPT。


一句话推荐结论

PentestGPT 是目前最专业的开源 AI 渗透测试框架,USENIX 论文验证 86.5% 成功率,支持自主和协作双模式,推荐安全研究人员和渗透测试工程师作为 AI 辅助工具链的核心组件。