PentAGI 介绍与选型指南
PentAGI(vxcontrol/pentagi)开源自主 AI 渗透测试系统介绍与选型指南:定位、多代理架构、功能特性、适用场景与 PentestGPT/hackingBuddyGPT 量化对比,v2.2.0,信息溯源日期 2026-10-23。
PentAGI 介绍与选型指南
目标:面向授权安全测试团队介绍 PentAGI——一个开源、自托管的 AI 驱动自动化渗透测试系统——的定位、架构、功能与同类工具选型对比。本文信息全部来自官方源(GitHub 仓库 vxcontrol/pentagi、pentagi.com 官网、Docker Hub)联网溯源,检索与核对日期为 2026-10-23,具体来源在各节标注。
一、环境信息
本文是认知与选型篇,不涉及部署实测,信息来源如下:
- 溯源对象:PentAGI 官方仓库 vxcontrol/pentagi(v2.2.0 源码与 README)、pentagi.com 官网、GitHub Releases、Docker Hub 镜像仓库
- 溯源日期:2026-10-23
- 最新稳定版本:v2.2.0(2026-10-05 发布,官网与 Releases 页双源确认)
- 镜像版本:
vxcontrol/pentagi:2.2.0(Docker Hub,2026-10-05 推送;latest标签指向 2026-10-09 的后续构建) - 社区数据:官网显示 31.8k stars、4.9k forks、30 contributors(2026-10-23 查询);shields.io 星数徽章取整显示 32k
- 许可证:MIT(仓库 LICENSE 文件与官网均确认)
二、软件概述
PentAGI(Penetration Testing Artificial General Intelligence)是 VXControl 团队开源的自主 AI 渗透测试代理系统,官网标语为 "Autonomous AI agents for penetration testing"——描述一个目标与范围,系统自动规划测试工作、在隔离沙箱中运行工具、从每一步结果中学习并输出报告。项目采用 MIT 许可证,支持完全自托管(Open source and self-hosted),官网明确标注 "For authorized security testing only"(仅限授权安全测试使用)。
与传统"把 prompt 发给 LLM 要命令"的一次性脚本不同,PentAGI 把一次渗透测试建模为可持续运行数小时的 Flow(工作流):由十余个专职 AI 代理协作(规划、生成子任务、精炼、执行渗透、检索、编码、反思纠错),配合 20+ 专业安全工具(nmap、Metasploit、sqlmap 等)在隔离的 Docker 沙箱中执行,全程产生可审计的终端日志、消息日志与工具调用日志。
核心卖点可以概括为四点(来源:官网首页与 README Features,2026-10-23):
- 多代理协作架构:一个专业代理团队规划测试、研究、利用并撰写报告,而非单一 LLM 循环;
- 任何 LLM 可用:支持 OpenAI、Anthropic、Google Gemini、AWS Bedrock、Ollama、DeepSeek、GLM(智谱)、Kimi(月之暗面)、Qwen(阿里)、MiniMax、Mistral、xAI 共 12 类内置供应商,外加任意 OpenAI 兼容端点(vLLM、LiteLLM、OpenRouter 等自定义 provider),共 13 类;
- 沙箱隔离执行:所有工具在独立的 Docker 沙箱中运行,与编排平面隔离,v2.2.0 重建了沙箱隔离并修复 CVE-2026-14784;
- 可观测可审计:内置 Langfuse 追踪、OpenTelemetry、Grafana 可观测栈,终端命令、消息链、工具调用逐条入库。
三、核心架构
PentAGI 是典型的"编排平面 + 执行平面"分离架构(来源:README Architecture 章节、docker-compose.yml 与 backend/docs/flow_execution.md,v2.2.0 源码)。
3.1 组件构成
| 组件 | 技术栈 | 职责 |
|---|---|---|
| pentagi 主服务 | Go 1.2x + LangChainGo | 编排代理、管理 Flow 生命周期、提供 REST/GraphQL API 与 Web 控制台 |
| Web 前端 | React + TypeScript | Flow 管理、消息流、任务树、终端日志、设置界面 |
| pgvector | PostgreSQL + pgvector 扩展 | 业务库(26 张表:flows/tasks/subtasks/msgchains/termlogs/toolcalls 等)+ 长期记忆向量库 |
| scraper | Node.js/Playwright | 网页抓取与截图服务,供 browser 工具调用 |
| 可选 observability 栈 | Grafana/VictoriaMetrics/Loki/Jaeger | 指标、日志与追踪 |
| 可选 Langfuse 栈 | Langfuse 3 + ClickHouse + MinIO | LLM 调用追踪与 prompt 管理 |
| 可选 Graphiti 栈 | Neo4j + Graphiti | 知识图谱(长期记忆增强) |
编排平面通过挂载的 Docker Socket(或远程 TLS Daemon)在执行平面创建两类运行实体:每个 Flow 一个 primary terminal 容器(默认镜像 vxcontrol/kali-linux,渗透场景)与若干工具型沙箱;每个 Flow 还会发布两个 TCP 端口(默认从 DOCKER_PORTS_BASE=28000 起的 2000 端口窗口)供反弹 shell 等带外回连使用。
3.2 代理体系
Flow 内部由固定协作链的代理家族驱动(来源:backend/docs/flow_execution.md):
- primary_agent:任务总控,拆解任务并分派给专职代理;
- generator / refiner:生成与精炼子任务计划;
- pentester / coder / installer:渗透执行、代码生成、环境安装三类执行代理;
- searcher / enricher:检索与信息补全;
- adviser:路径建议;reflector:错误反思与自动纠正;
- assistant:面向用户的助手模式,可查询/干预运行中的 Flow。
每个代理可调用统一工具集:terminal(沙箱命令执行,默认超时 1200 秒)、file(文件读写)、browser(抓取+截图)、web_search(统一搜索入口,v2.2.0 将 7 个搜索工具合并为一个按意图分流的工具)、search_in_memory/store_guide 等向量记忆工具、done/ask(结束与人工确认)等。
3.3 接口面
- Web 控制台:HTTPS(自签证书,默认 8443),Flow/任务树/消息/终端/截图全可视;
- REST API:
/api/v1/前缀,JWT Bearer Token 认证,OpenAPI 文档内置于/api/v1/swagger/; - GraphQL API:
/api/v1/graphql单端点,覆盖 flows/tasks/logs/usage 统计等约 60 个查询; - 实时订阅:WebSocket/SSE 推送 Flow 消息流与日志。
四、功能特性
(来源:README Features 与 v2.2.0 Release Notes,2026-10-23)
- Flow 式任务管理:任务(task)→ 子任务(subtask)两级分解,支持暂停、人工介入(
ask确认)、重试与报告生成; - 多 LLM 供应商 + 回退:13 类 provider 注册制接入,
LLM_FALLBACK_PROVIDER支持主供应商失败后自动切换;v2.2.0 起针对每家供应商内置"已测试配置"(自适应思考、effort 等级、thinking budget 按各家原生方式传递); - 自定义模型映射:每类代理可独立指定模型与采样参数(temperature/top_p/max_tokens),provider 配置文件(YAML)按
simple/simple_json/primary_agent/.../pentester13 个角色分别配置; - 统一 Web 搜索:Google、DuckDuckGo、SearXNG(自托管聚合)、Tavily、Firecrawl、Traversaal、Perplexity、Sploitus(漏洞库)、Google LR 共 9 个引擎可配,v2.2.0 合并为单一
web_search工具按意图自动分流; - 向量长期记忆:pgvector 存储执行记忆、安装指南、问答对、代码样例四类文档,代理可用语义搜索复用历史经验;
- 多实例部署(v2.2.0 新增):
TENANT_ID命名空间化数据库 schema、容器名、知识图谱与 Cookie 签名,多套安装共享同一 PostgreSQL/工作节点/Neo4j; - 沙箱策略测试(v2.2.0 新增):
DOCKER_INSIDE_POLICY_TESTS=true启动时实测沙箱 Daemon 与编排 Daemon 分离、拒绝宿主逃逸请求,不通过则自动禁用代理的 Docker 能力; - 可观测性:Langfuse 追踪、OTel、Grafana 栈一键附加(独立的 docker-compose-langfuse.yml / -observability.yml / -graphiti.yml)。
五、快速开始(官方路径)
以下为官方 README Quick Start 的两条路径概述(命令照录自 README,2026-10-23 版本;完整参数与实测过程见本专栏部署篇)。
路径 A:交互式安装器(官方推荐)——TUI 向导完成系统检查、LLM 供应商、搜索引擎与安全加固配置:
mkdir -p pentagi && cd pentagi
wget -O installer.zip https://pentagi.com/downloads/linux/amd64/installer-latest.zip
unzip installer.zip
sudo ./installer
路径 B:手动 Docker Compose——下载 .env、docker-compose.yml 与三个 provider 示例文件后启动:
mkdir pentagi && cd pentagi
curl -o .env https://raw.githubusercontent.com/vxcontrol/pentagi/master/.env.example
curl -o example.custom.provider.yml https://raw.githubusercontent.com/vxcontrol/pentagi/master/examples/configs/custom-openai.provider.yml
curl -o example.ollama.provider.yml https://raw.githubusercontent.com/vxcontrol/pentagi/master/examples/configs/ollama-llama318b.provider.yml
curl -o example.bedrock.provider.yml https://raw.githubusercontent.com/vxcontrol/pentagi/master/examples/configs/bedrock.provider.yml
# 编辑 .env 至少配置一个 LLM provider,然后:
curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/master/docker-compose.yml
docker compose up -d
首次登录使用默认管理员 admin@pentagi.com / admin,访问 https://localhost:8443(首次登录强制建议改密,平台强制密码策略要求 16 位以上,或 8 位以上且同时含大小写字母、数字与特殊字符)。
六、适用场景与限制
6.1 适用场景(授权测试前提下)
- 红队/渗透测试团队的生产力工具:将侦察、枚举、初步漏洞验证等重复性工作交给 Flow 自动执行,人员聚焦在需要判断力的环节;
- 安全验证与回归:对自有资产定期跑标准化评估 Flow,结合向量记忆沉淀历史发现;
- 安全研究与工程化 LLM Agent 实验:多代理编排、tool call ID 模板探测、错误反思回路等机制本身就是参考实现;
- 内网隔离环境:Ollama/vLLM 本地模型 + SearXNG 自托管搜索可组成完全离线的测试栈(README 提供了 4×RTX 5090 运行 Qwen3.5-27B-FP8 的本地部署指南,约 13000 TPS prompt / 650 TPS completion)。
6.2 能力边界(README "Current Capability Boundaries")
- 依赖 LLM 能力上限:复杂多阶段利用仍需人工介入,
ask工具与人工确认可配置; - 沙箱执行受
TERMINAL_TOOL_TIMEOUT(默认 1200 秒、上限 3 小时)与工具调用数限制约束; - 搜索/漏洞库能力取决于所配引擎的 API 配额(Google/Tavily/Perplexity 等均需各自 API key);
- 官方明确建议生产部署采用双节点架构:worker 执行平面独立成机(examples/guides/worker_node.md),避免自主代理直接持有宿主 Docker Socket;
DOCKER_INSIDE=true挂载宿主 socket 属于文档明确警告的高危配置(关联 GitHub issue #337)。
6.3 合规提示
PentAGI 的设计目标是授权范围内的自动化安全测试。部署与使用应遵守所在司法辖区法律与目标系统授权协议:仅在获得书面授权的资产上运行 Flow,DOCKER_PUBLIC_IP 与 28000-29999 端口窗口(带外回连)应置于受控网段并配合防火墙策略。
七、同类选型对比
以下对比数据均于 2026-10-23 溯源:星数取自 shields.io GitHub Stars 徽章(img.shields.io/github/stars/<repo>.json),版本与架构信息取自各项目仓库。
7.1 量化对比表
| 维度 | PentAGI | PentestGPT | hackingBuddyGPT |
|---|---|---|---|
| GitHub 仓库 | vxcontrol/pentagi | GreyDGL/PentestGPT | ipa-lab/hackingBuddyGPT |
| Stars(2026-10-23) | 32k(官网 31.8k) | 16k | 1.3k |
| 许可证 | MIT | AGPL-3.0 | MIT |
| 形态 | 自托管多服务系统(Go 服务 + Web 控制台 + 数据库 + 沙箱) | 交互式 CLI/终端应用(Python) | 研究型 CLI 框架(Python) |
| 执行模型 | 多代理协作 Flow,任务树分解,可持续数小时 | 单会话人机协作,顾问式引导(thinking-only 交互) | 单代理循环(ReAct 型),批次任务 |
| 工具集成 | 20+ 工具内置于隔离沙箱(nmap/Metasploit/sqlmap 等) | 以引导为主,命令由测试者人工执行 | 插件式小工具集(自身实现 nmap/ssh 等封装) |
| LLM 支持 | 13 类 provider + 任意 OpenAI 兼容端点,按代理角色独立映射模型 | OpenAI 为主 | OpenAI/部分本地模型 |
| 持久化 | PostgreSQL 全量入库(flows/tasks/logs/toolcalls 26 张表)+ pgvector 记忆 | 会话文本 | 实验日志 |
| 可观测性 | Langfuse/OTel/Grafana 栈 | 无 | 无 |
| 版本节奏 | 语义化版本(v1.0.1→v2.2.0,2026-01 至 2026-10 发布 6 个 minor/major) | 持续开发 | 持续开发 |
| 部署形态 | Docker Compose/交互式安装器/Podman | pip 安装 | pip 安装 |
7.2 选型解读
- 需要团队级、可审计、可持续运行的自动化测试平台 → PentAGI:它是三者中唯一把"多代理协作 + 沙箱隔离 + 全量日志 + 多供应商模型管理"做成完整服务端产品的项目,代价是部署复杂度(至少 4 个服务、需接入 LLM API 与 Docker);
- 需要辅助人做测试而非替代执行 → PentestGPT:交互式引导适合学习与人工主导的渗透流程;
- 需要研究 LLM 渗透代理行为、快速改造成原型 → hackingBuddyGPT:轻量 Python 框架,面向学术实验;
- 如果已有 vLLM/LiteLLM 网关且希望本地化运行 → PentAGI 的 custom provider 直接对接任意 OpenAI 兼容端点,这是同类中最完整的本地化路径。
💡 技术拓展:AI 渗透工具目前有三类实现路线——①顾问型(PentestGPT):LLM 只做规划与解释,命令由人执行,风险最低;②代理型单循环(hackingBuddyGPT):单个 agent 在本机直接调用工具,改造灵活但缺隔离与审计;③平台型多代理(PentAGI):多 agent 协作 + 沙箱隔离 + 数据库审计,工程完整度最高。三者是互补而非互斥关系,同一团队可同时使用。
八、参考链接
- 官网:https://pentagi.com(2026-10-23 查询)
- 仓库:https://github.com/vxcontrol/pentagi
- v2.2.0 Release Notes:https://github.com/vxcontrol/pentagi/releases/tag/v2.2.0(2026-10-04 发布)
- Docker Hub:https://hub.docker.com/r/vxcontrol/pentagi
- Worker 节点隔离指南:https://github.com/vxcontrol/pentagi/blob/master/examples/guides/worker_node.md
- 本专栏部署篇:见《PentAGI Docker Compose 部署指南》
站内相关:《PentAGI 介绍与选型指南》、《PentAGI v2.2.0 配置参数详解》、《PentAGI v2.2.0 API 使用详解》