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 年可能已有更新。
典型适用场景
- CTF 竞赛辅助:AI 协助解决 Web、Crypto、Reversing、PWN 等题目。
- 授权渗透测试:在受控目标上自动化信息收集和初步漏洞发现。
- 安全研究:对特定漏洞类型(WordPress 插件、老旧协议)进行系统性探测。
- 红队演练:作为红队工具链的 AI 层,自动执行预设攻击路径。
- 安全培训:生成渗透测试过程记录,用于教学和复盘。
坑与注意
- 仅限授权测试:工具明确声明仅用于教育目的和授权渗透测试,滥用后果自负。
- 自主 Agent 模式仅支持 Claude Code:默认的
pentestgpt命令依赖 Claude Code,需提前安装认证。 - API 成本:自主模式通过 Claude Code 消耗 Anthropic 积分;legacy 模式按选择的模型计费,建议先用
--smoke-test验证。 - 迭代限制:默认最多 10 次迭代,复杂目标需手动
--max-iterations增加。 - 上下文丢失:长时间运行时建议定期保存 Session(工具支持),避免重启后从头开始。
- Flag 检测:检测到 Flag 后自动终止,但部分环境 Flag 格式特殊可能漏检。
- 多模型兼容: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 辅助工具链的核心组件。