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 辅助工具链的核心组件。