ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

PentestGPT 上手指南:从 Docker 部署到跑通第一次 AI 渗透测试

PentestGPT 上手指南:从 Docker 部署到跑通第一次 AI 渗透测试 PentestGPT 上手指南从 Docker 部署到跑通第一次 AI 渗透测试【免费下载链接】PentestGPTAutomated Penetration Testing Agentic Framework Powered by Large Language Models项目地址: https://gitcode.com/GitHub_Trending/pe/PentestGPTPentestGPT 是一个由大语言模型驱动的自动化渗透测试框架给它一个目标它能以自主或交互方式完成侦察、漏洞识别、利用验证到报告输出的完整流程。本文基于仓库内真实存在的命令与文档带你走完环境准备、部署、验证、进阶配置到排错的全过程每一步都说明目的和预期结果。项目定位PentestGPT 能替你做什么PentestGPT 提供两种工作模式适合不同使用深度的人自主模式pentestgpt_agent/由 Claude Code 或 Codex 作为推理后端无需人工干预地驱动工具执行渗透流程支持保存与恢复会话。交互模式pentestgpt_legacy/USENIX Security 2024 论文中的人在环工作流的现代化版本你在会话中通过next、more、todo、discuss等指令引导三轮协作的 LLM 会话推进任务。两者都覆盖 Web、密码学、逆向、取证、PWN、权限提升等多类挑战。自主模式按多阶段管线工作CTF 场景为侦察 → 利用 → 复盘真实渗透场景为资产发现 → 漏洞识别 → 报告。需要说明的是README 中提到的 86.5%90/104XBOW 验证套件成绩是 2025 年 12 月的历史研究结果且 XBOW 基准运行器并不在产品仓库内不应把它当作当前的性能保证。部署前检查环境要求与模型后端选择开始之前先确认你走哪条路径这决定了要准备什么本地运行路径适合开发框架或直接在宿主机测试需要 Python 3.12、Python 包管理器 uv以及已登录认证的 Claude Code CLIclaude或 Codex CLIcodex之一。Docker 路径适合一次性容器化使用只需 Docker 在运行。镜像自带 Ubuntu 24.04、Python 3.12、Node 20、uv、Claude Code 和 Codex以及 nmap、gobuster、dirb、netcat、curl 等常用测试工具。参考 docker-compose.yml 中的资源配置保证 2 核 CPU / 4GB 内存上限 4 核 / 8GB内存不足时复杂任务容易受限。选择建议如果你只是想在隔离环境里体验完整流程选 Docker 路径并登录 Claude 或 Codex 账号即可如果你要频繁改代码、跑测试选本地路径如果只想用本地模型如 Ollama走交互模式 OpenAI 兼容接口最省事见下文进阶配置。最短上手路径只需四步。每步命令都很短预期结果写在后面。1. 获取代码git clone https://gitcode.com/GitHub_Trending/pe/PentestGPT cd PentestGPT克隆仓库并进入目录。如果克隆时使用了--recurse-submodules之外的方式且缺少子模块可补跑git submodule update --init --recursive。2. 安装依赖make install执行uv sync安装根项目与pentestgpt_agent/子项目的依赖。预期是依赖安装完成、无报错。3. 完成认证Docker 路径make docker-build make docker-login第一条构建工具镜像第二条一次性登录 Claudesetup-token 存入卷和 Codex容器内 OAuth登录状态持久化到命名卷之后重建容器无需重复登录。该命令是幂等的重跑会跳过仍有效的登录。本地路径下则跳过此步确保claude或codexCLI 已认证。4. 跑第一次测试make run TARGEThttp://127.0.0.1:8000 BACKENDclaude在本地环境对指定目标启动自主管线BACKEND 可选claude或codex。也可以直接用经典 CLIpentestgpt --target 10.10.11.234 pentestgpt --target 10.10.11.50 --instruction WordPress site, focus on plugin vulnerabilities第一条以默认 CTF 模式运行第二条通过--instruction提供目标上下文。真实渗透场景加--mode pentest切换为资产发现 → 漏洞 → 报告管线pentestgpt --list-sessions可列出已保存的会话。核心模块对使用者意味着什么仓库按维护中 / 兼容保留划分了目录使用时主要关心前三者自主框架pentestgpt_agent/这是一个嵌套的 uv 子项目内部只有两个 LLM 角色Supervisor 负责从当前状态中挑一个任务或宣布完成Executor 负责执行这一个任务并返回类型化结果。确定性代码管理范围校验、租约、证据溯源与重试SQLite 是权威记忆而非模型对话历史。对你而言这意味着每次运行是可审计的每个 episode 目录里有input.json角色输入、events.jsonl工具与命令事件、output.json结果与用量。交互客户端pentestgpt_legacy/保留了论文中的人工驱动流程原生对接多家提供商的官方 SDK。模型注册表在 pentestgpt_legacy/llm/registry.py新增模型只是一条ModelSpec条目。文档与脚本docs/architecture.md 是当前仓库结构的事实来源docs/docker-dev-plan.md 记录 Docker 镜像与认证卷的现状。scripts/ 下有docker-login.sh、docker-auth-status.sh和 CCR 配置模板部署排错时最常用到。进阶配置登录管理、本地模型与遥测Docker 登录管理make docker-auth-status ROUNDTRIP1 make docker-auth-status make docker-down make docker-nuke第一条检查两个 CLI 是否都已登录加ROUNDTRIP1会消耗一个极小的 provider 调用做实时验证。docker-down停止容器但保留登录卷docker-nuke删除登录卷用于强制重新登录或轮换 token。本地模型Ollama 等 OpenAI 兼容服务交互模式可直接指定本地模型与地址pentestgpt-legacy --reasoning-model ollama:qwen3 --base-url http://localhost:11434/v1如果要让 Claude Code 走本地服务参考 scripts/ccr-config-template.json其中localLLM提供商的api_base_url默认为http://host.docker.internal:1234/v1/chat/completions容器内访问宿主机不能用localhostmodels字段列出服务器上可用的模型名Router字段可配置不同模型处理不同操作。各提供商通过环境变量或.env启用例如ANTHROPIC_API_KEY、OPENAI_API_KEY、GEMINI_API_KEY、QWEN_API_KEY只配置了的提供商才会出现在可用列表中。遥测关闭工具默认向 Langfuse 发送匿名使用数据不含命令输出、凭据或 flag 内容。如需关闭命令行加--no-telemetry或设置LANGFUSE_ENABLEDfalse。验证与排错先确认部署是成功的make check这条命令跑 lint、格式检查、类型检查与 agent 测试全过说明环境健康。确认模型可用则用pentestgpt-legacy --list-models查看已配置的提供商与模型再用pentestgpt-legacy --smoke-test对每个模型做一次真实往返并输出通过/失败矩阵。按现象 → 原因 → 处理排错现象可能原因处理方式make docker-run报错退出镜像尚未内置pentestgpt_agent框架Makefile 中明确标注为待接线按提示改用本地make run TARGET...这是当前的官方路径重建容器后要求重新登录登录卷被make docker-nuke或手动删除重跑make docker-login容器内连不上宿主机本地模型服务用了localhost容器网络下指向容器自身改用host.docker.internalcompose 已配置host-gateway映射不确定 API key 或 token 是否有效列表命令只反映配置不反映连通性跑--smoke-test或ROUNDTRIP1 make docker-auth-status做实时验证需要复盘某次运行每次 episode 会落盘事件与结果查看pentestgpt_agent运行目录下对应 episode 的events.jsonl与output.json注意trace 文件包含目标输出等敏感内容应像凭据一样对待不要外传。安全与合规提示PentestGPT 的两个 LLM 角色都使用FULL_ACCESS权限容器或专用攻击机本身就是隔离边界与爆炸半径。部署时应只包含已授权的目标路由避免挂载无关的源码目录、家目录、token 或宿主机 socket评估结束后及时拆解环境。该工具面向授权的安全测试、研究与教育用途使用前请确认你拥有目标的合法测试权限并遵守当地法律法规及目标平台的服务条款。项目基于 MIT 许可证发布详见 LICENSE.md。【免费下载链接】PentestGPTAutomated Penetration Testing Agentic Framework Powered by Large Language Models项目地址: https://gitcode.com/GitHub_Trending/pe/PentestGPT创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表