PentAGI 介绍与选型指南

PentAGI(vxcontrol/pentagi)开源自主 AI 渗透测试系统介绍与选型指南:定位、多代理架构、功能特性、适用场景与 PentestGPT/hackingBuddyGPT 量化对比,v2.2.0,信息溯源日期 2026-10-23。

PentAGI人工智能安全测试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):

  1. 多代理协作架构:一个专业代理团队规划测试、研究、利用并撰写报告,而非单一 LLM 循环;
  2. 任何 LLM 可用:支持 OpenAI、Anthropic、Google Gemini、AWS Bedrock、Ollama、DeepSeek、GLM(智谱)、Kimi(月之暗面)、Qwen(阿里)、MiniMax、Mistral、xAI 共 12 类内置供应商,外加任意 OpenAI 兼容端点(vLLM、LiteLLM、OpenRouter 等自定义 provider),共 13 类;
  3. 沙箱隔离执行:所有工具在独立的 Docker 沙箱中运行,与编排平面隔离,v2.2.0 重建了沙箱隔离并修复 CVE-2026-14784;
  4. 可观测可审计:内置 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 + TypeScriptFlow 管理、消息流、任务树、终端日志、设置界面
pgvectorPostgreSQL + pgvector 扩展业务库(26 张表:flows/tasks/subtasks/msgchains/termlogs/toolcalls 等)+ 长期记忆向量库
scraperNode.js/Playwright网页抓取与截图服务,供 browser 工具调用
可选 observability 栈Grafana/VictoriaMetrics/Loki/Jaeger指标、日志与追踪
可选 Langfuse 栈Langfuse 3 + ClickHouse + MinIOLLM 调用追踪与 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/.../pentester 13 个角色分别配置;
  • 统一 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 量化对比表

维度PentAGIPentestGPThackingBuddyGPT
GitHub 仓库vxcontrol/pentagiGreyDGL/PentestGPTipa-lab/hackingBuddyGPT
Stars(2026-10-23)32k(官网 31.8k)16k1.3k
许可证MITAGPL-3.0MIT
形态自托管多服务系统(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/交互式安装器/Podmanpip 安装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 协作 + 沙箱隔离 + 数据库审计,工程完整度最高。三者是互补而非互斥关系,同一团队可同时使用。

八、参考链接

站内相关:《PentAGI 介绍与选型指南》、《PentAGI v2.2.0 配置参数详解》、《PentAGI v2.2.0 API 使用详解》