Files
greydgl--pentestgpt/README.md
T
wehub-resource-sync 2b91a42d89
CI / Test (push) Has been cancelled
CI / Type Check (push) Has been cancelled
CI / Docker Tests (push) Has been cancelled
CI / Build (push) Has been cancelled
CI / Lint (push) Has been cancelled
docs: make Chinese README the default
2026-07-13 11:12:47 +00:00

10 KiB
Raw Blame History

Note

本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。

Contributors Forks Stargazers Issues MIT License Discord


PentestGPT

AI 驱动的自主渗透测试智能体
发表于 USENIX Security 2024

官方网站:pentestgpt.com »

研究论文 · 报告 Bug · 请求功能

GreyDGL%2FPentestGPT | Trendshift


演示

安装

Installation Demo

在 YouTube 观看

PentestGPT 实战

PentestGPT Demo

在 YouTube 观看


v1.0 新特性(Agentic 升级)

  • 迭代循环(Iteration Loop - 智能体持续运行,维护记录进度的上下文文件,并在触及限制时携带先前上下文重启。循环在捕获 flag 或达到最大迭代次数时终止。
  • 自主智能体(Autonomous Agent - 用于智能、自主渗透测试的智能体流水线
  • 会话持久化(Session Persistence - 保存并恢复渗透测试会话

交互式现代化遗留(modernized legacy模式现已支持多模型pentestgpt-legacy)—— OpenAI、Anthropic、Google Gemini、DeepSeek、xAI、Qwen、Moonshot 以及本地 Ollama。参见交互式多 LLM 模式


功能特性

  • AI 驱动的挑战求解器 - 利用 LLM 的高级推理能力执行渗透测试与 CTF
  • 实时演练(Live Walkthrough - 在智能体攻克挑战时实时跟踪步骤
  • 多类别支持 - Web、Crypto、Reversing、Forensics、PWN、权限提升(Privilege Escalation
  • 实时反馈 - 通过实时活动更新观察 AI 的工作过程
  • 可扩展架构 - 简洁、模块化的设计,便于未来增强

快速开始

前置条件

  • Python 3.12+
  • uv - Python 包管理器
  • Claude Code CLI (claude) - 已安装并完成认证。参见 Claude Code 文档

安装

git clone https://github.com/GreyDGL/PentestGPT.git
cd PentestGPT
make install    # runs uv sync

命令参考

Command Description
make install 安装依赖
make test 运行全部测试
make check 运行 lint + typecheck
make build 构建可分发包

用法

# Run against a target
pentestgpt --target 10.10.11.234

# With challenge context
pentestgpt --target 10.10.11.50 --instruction "WordPress site, focus on plugin vulnerabilities"

# Limit iterations
pentestgpt --target 10.10.11.234 --max-iterations 5

智能体在迭代循环中运行:它自主工作,维护记录进度的上下文文件,并在触及限制时携带先前上下文重启。循环在捕获 flag 或达到最大迭代次数(默认:10)时终止。


交互式多 LLM 模式(现代化遗留)

USENIX 2024 论文中的经典人机协同 PentestGPT 得以保留,并现代化为 pentestgpt-legacy。它运行三个协作的 LLM 会话——推理 / 生成 / 解析——在由你交互式驱动会话的同时(nextmoretododiscuss)维护渗透测试任务树(Pentesting Task TreePTT。与自主智能体(仅 Claude)不同,此模式通过各提供商的官方 SDK 原生对接多家提供商。

配置提供商

为要使用的任意提供商设置 API 密钥(在环境变量中或 .env 中——参见 .env.example)。仅启用已配置的提供商。

OPENAI_API_KEY=...        ANTHROPIC_API_KEY=...     GEMINI_API_KEY=...   # or GOOGLE_API_KEY
DEEPSEEK_API_KEY=...      GROK_API_KEY=...          QWEN_API_KEY=...     KIMI_API_KEY=...

运行

# Auto-pick the best available models for each session
pentestgpt-legacy

# Choose models per session
pentestgpt-legacy --reasoning-model claude-opus-4-8 --parsing-model gemini-3.5-flash

# Local model via Ollama (OpenAI-compatible)
pentestgpt-legacy --reasoning-model ollama:qwen3 --base-url http://localhost:11434/v1

# List every supported model (shows which providers are configured)
pentestgpt-legacy --list-models

# Live round-trip every configured model and print a pass/fail matrix
pentestgpt-legacy --smoke-test

支持的模型(2026 年 6 月经网页核实)

pentestgpt-legacy --list-models 始终渲染实时注册表。模型 ID 变更后请重新运行 --smoke-test。当前快照:

Provider Current models Legacy (kept) Env key
OpenAI gpt-5.5, gpt-5.5-pro, gpt-5.4-mini, gpt-5.4-nano, gpt-5.2, gpt-5.3-codex gpt-4o, gpt-4o-mini, o3, o4-mini OPENAI_API_KEY
Anthropic claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5-20251001 ANTHROPIC_API_KEY
Google Gemini gemini-3.1-pro, gemini-3.5-flash, gemini-3-pro, gemini-3.1-flash-lite gemini-2.5-pro, gemini-2.5-flash GEMINI_API_KEY / GOOGLE_API_KEY
DeepSeek deepseek-v4-flash, deepseek-v4-pro deepseek-chat, deepseek-reasoner DEEPSEEK_API_KEY
xAI Grok grok-4.3 GROK_API_KEY / XAI_API_KEY
Alibaba Qwen qwen3.7-max, qwen3.5-flash, qwen3-max QWEN_API_KEY / DASHSCOPE_API_KEY
Moonshot Kimi kimi-k2.6 KIMI_API_KEY (.cn 默认;设置 MOONSHOT_BASE_URL 以使用 .ai)
Local (Ollama) ollama:<model> (e.g. ollama:qwen3) none (OLLAMA_BASE_URL)

注册表位于 pentestgpt_legacy/llm/registry.py(唯一真实来源)。 添加模型只需一条 ModelSpec 条目;OpenAI 兼容提供商复用同一连接器。


遥测(Telemetry

PentestGPT 收集匿名使用数据以帮助改进工具。这些数据会发送至我们的 Langfuse 项目,包括:

  • 会话元数据(目标类型、持续时间、完成状态)
  • 工具执行模式(使用了哪些工具,而非实际命令)
  • Flag 检测事件(检测到 flag,而非 flag 内容)

不收集敏感数据 - 命令输出、凭据或实际 flag 值绝不会被传输。

选择退出

# Via command line flag
pentestgpt --target 10.10.11.234 --no-telemetry

# Via environment variable
export LANGFUSE_ENABLED=false

基准测试

PentestGPT 在 XBOW 验证套件上达到 86.5% 成功率104 项基准中的 90 项):

  • 成本:每项成功基准平均 $1.11,中位数 $0.42
  • 时间:每项成功基准平均 6.1 分钟,中位数 3.3 分钟
  • 按难度划分的成功率
    • Level 191.1%
    • Level 274.5%
    • Level 362.5%

引用

若你在研究中使用 PentestGPT,请引用我们的论文:

@inproceedings{299699,
  author = {Gelei Deng and Yi Liu and Víctor Mayoral-Vilches and Peng Liu and Yuekang Li and Yuan Xu and Tianwei Zhang and Yang Liu and Martin Pinzger and Stefan Rass},
  title = {{PentestGPT}: Evaluating and Harnessing Large Language Models for Automated Penetration Testing},
  booktitle = {33rd USENIX Security Symposium (USENIX Security 24)},
  year = {2024},
  isbn = {978-1-939133-44-1},
  address = {Philadelphia, PA},
  pages = {847--864},
  url = {https://www.usenix.org/conference/usenixsecurity24/presentation/deng},
  publisher = {USENIX Association},
  month = aug
}

许可证

根据 MIT License 发布。更多信息请参见 LICENSE.md

免责声明:本工具仅供教育用途和经授权的安全测试(authorized security testing)使用。作者不赞成任何非法用途。使用风险自负。


致谢

(返回顶部)