PentAGI 拆解:把 13 个 Agent 角色、一套监控栈和一个知识图谱塞进一个渗透平台

一、速览:值不值得你花时间

推荐指数:★★★★☆(4 / 5)

PentAGI 是自主渗透工具光谱上的「重量级选手」。上一期拆 Cairn 时说过,它是研究味的引擎 —— 零角色、零工作流,让 Agent 在状态空间里自己搜路;PentAGI 走的是另一个极端 —— 13 个 agent 角色、Docker 沙箱、监控栈、知识图谱、GraphQL API,把一个安全团队在产品化路上会想要的东西全部塞进一个 Docker Compose。Cairn 是实验室,PentAGI 是工厂。

扣掉的一颗星在三个地方:README 足足 4,100 行,绝大部分是各家模型的配置文档 —— 意味着真正的门槛不是「跑起来」,而是「调明白」;执行监控和智能规划全开后 token 成本是裸跑的 2-3 倍(小模型不开这两个开关,质量又顶不住);71 个 open issues,迭代很快但打磨仍在路上。

关键数据(截至 2026-09-21)

语言 Go(后端)+ React/TypeScript(前端)
Star / Fork 24,803 / 3,194
许可证 MIT(EULA 另行要求仅限授权目标使用)
活跃度 最近提交 2026-09-10(11 天前);Open Issues 71
首次发布 2025-01-06(约 20 个月)
部署 Docker Compose / Podman,自托管
模型 OpenAI / Anthropic / Gemini / Bedrock / Ollama / DeepSeek / GLM / Kimi / Qwen / MiniMax + OpenRouter 等聚合器与自定义端点

适合谁

人群 匹配度 说明
企业安全团队 ★★★★★ 每条命令入 PostgreSQL 留痕、Grafana 监控、RBAC、REST/GraphQL API 可接 CI —— 产品化的硬需求都是内置的
红队 / 渗透工程师 ★★★★☆ Assistant 模式可中途插手,Automation 模式端到端出报告;内置 nmap / metasploit / sqlmap 等 20+ 工具
AI 安全研究员 ★★★☆☆ 工程味大于研究味;但 Mentor / Planner / Reflector 这套多层监管机制值得读一读
个人 / 独立开发 ★★★☆☆ Ollama 本地模型可以零 API 成本跑起来,但 27B 级别模型 + 2-3 倍 token 开销,硬件门槛不低
气隙 / 合规环境 ★★★★★ 官方直接给了 vLLM + Qwen3.5-27B-FP8 闭网部署指南,离线自主渗透是一等公民

二次开发

允许吗? MIT,四期以来最宽松的一个(还记得 Shannon 的 AGPL 吗)。改、内嵌、商用都不需要开源你的改动;但 EULA 明确要求仅对授权目标做测试,这条对任何用途都成立。

难不难? 分三层:

  • 换模型 / 改配置:★☆☆☆☆.env 填一个 key 的事,连 OpenAI 兼容的自定义端点都支持)
  • 增删工具 / 拆装监控栈:★★☆☆☆(docker-compose 按 Graphiti / Langfuse / 观测栈分了层,不想要哪块直接不启)
  • 改 agent 内核:★★★★☆(Go 后端 + 13 角色协作,得先吃透它的五层记忆和上下文链式摘要)

二、先说它是什么,不是什么

不是「给 nmap 套了层 LLM 皮」。全名 Penetration testing Artificial General Intelligence,名字起得很野心,做的事倒是很实:一个自托管的自主渗透平台。所有操作在 Docker 沙箱里执行,专职 agent 分工干活,每条命令、每个输出都进 PostgreSQL(带 pgvector 向量扩展),随时可回放、可审计。

不是什么,作者自己在 README 里写了四行 —— 这年头肯把边界写清楚的 README 不多,原文要点:

  • 不是 CALDERA 式的 BAS(入侵与攻击模拟)产品,没有预定义 attack campaign
  • agent 写的攻击脚本「应视为概念性/未来工作」,不是现有功能
  • flow 报告导出支持 web / 剪贴板 / Markdown / PDF,不支持 JSON
  • 想做对手模拟、合规演练的,去买商业 BAS,这个项目跑的是真实授权渗透

一句话:它管「真打」,不管「演」。


三、平台长什么样:一个 Compose,五层结构

1
2
3
4
5
┌─ 核心服务 ─── React UI + Go API(REST/GraphQL) + PostgreSQL/pgvector + 异步任务队列 + 多 Agent 系统
├─ 知识图谱(可选) ─ Graphiti + Neo4j —— agent 的操作与结果自动沉淀成 flow 级知识库
├─ 监控栈 ────── OpenTelemetry + Grafana + VictoriaMetrics + Jaeger + Loki
├─ 分析平台 ──── Langfuse(LLM 可观测) + ClickHouse + Redis + MinIO
└─ 安全工具 ──── 隔离浏览器 scraper + 20+ 渗透工具,全部沙箱内执行

几个值得单独说的点:

记忆是五层的。 长期记忆、工作记忆、情景记忆、知识库、上下文管理 —— 上下文膨胀用链式摘要(chain summarization)兜着,不是简单的截断。这在自主 agent 项目里是少见的认真做法。

搜索是一等公民。 集成了 Tavily、Firecrawl、Perplexity、Sploitus、Searxng、Google CSE、DuckDuckGo、Traversaal 八个外部搜索源,外加一个隔离浏览器 scraper。自主渗透 agent 最需要的是「最新的 CVE、最新的 exploit、最新的 PoC」,它把这个当基础设施来做。

每条命令都留痕。 全量进 PostgreSQL + pgvector,配 Grafana 实时看。对甲方安全团队来说,「agent 干了什么」能一帧一帧回放,这是能不能上生产的分水岭。


四、13 个角色,和管着它们的四道闸

角色分两档:

  • 通用 agent(工具调用上限 100):Assistant、Primary Agent、Pentester、Coder、Installer
  • 受限 agent(上限 20):Searcher、Enricher、Memorist、Generator、Reporter、Adviser、Reflector、Planner

光有分工不够,自主 agent 最怕的是「陷入死循环刷 token」。PentAGI 的做法是四道闸,从常开到 Beta 依次:

  1. Tool Call Limits(常开):通用 100 次、受限 20 次,硬上限,到量 Reflector 引导体面收尾;
  2. Reflector(常开):LLM 连续 3 次没生成出工具调用就介入,分析失败模式、引导改用正确工具或 barrier 工具(done / ask);
  3. Execution Monitoring(Beta,默认关):Mentor agent 盯执行过程 —— 同一工具连用 5 次、总调用到 10 次就触发介入,识别循环、推荐替代策略。代价是执行时间和 token 消耗 2-3 倍,换来结果质量 2 倍提升(官方用 Qwen3.5-27B-FP8 实测);
  4. Intelligent Task Planning(Beta,默认关):动手前先让 Planner 把目标拆成 3-7 步,配 enricher 分析上下文,防 scope creep。

这套设计的立场非常明确:模型小,就用监督换质量。官方原话是 —— 对 32B 以下的模型,两个 Beta 开关是「essential」,不是可选优化。想要气隙部署跑开源模型的,先把这两个开关研究明白。


五、两种用法:Automation 与 Assistant

Automation:给目标、给范围、给预期产出,端到端自己跑完,报告支持 web 视图 / 剪贴板 / Markdown / PDF 四种出口。

Assistant:交互式,你看着它干、随时插话改方向;还可以开 Use Agents 让它把子任务委派给专职 agent —— 比如主流程聊着,让 Searcher 去查 CVE、Coder 去写验证脚本。

每个 flow 自带 Files 页签:uploads(你传的)、resources(资源库挂载的)、container(从容器里拉出来的快照)三类文件,单文件 300MB 上限。上传的文件会自动镜像进运行中的容器 /work/uploads/,agent 拿 shell 就能直接读 —— 细节想得很周到。

API 是完整的:REST + GraphQL,Bearer token 认证,能生成各语言客户端。把它接进 CI 做持续安全测试,是官方明确支持的姿势。仓库里还自带 base_web_pentest.md 起步模板,跑重复性 assessment 可以存成 Templates 复用。


六、模型自由度:国产全家桶 + 气隙指南

10+ 个 provider:OpenAI、Anthropic、Gemini、AWS Bedrock、Ollama、DeepSeek、GLM、Kimi、Qwen、MiniMax,加上 OpenRouter / DeepInfra / Atlas Cloud 这些聚合器,再加任意 OpenAI 兼容自定义端点。

最难得的是官方直接维护了一份 vLLM + Qwen3.5-27B-FP8 指南:单卡、闭网、完全离线的自主渗透测试。国产模型不是「兼容可用」而是一等公民,README 里 GLM / Kimi / Qwen 各有独立章节、各自的 .provider.yml 示例。对国内环境,这一点比很多「OpenAI-only」的同类项目友好得多。


七、边界与风险

  1. token 账单:监控 + 规划全开是 2-3 倍消耗;用商业大模型跑长 flow,一次 Automation 的成本要心里有数;
  2. 配置复杂度:4,100 行 README、16KB 的 .env.example —— 「跑起来」和「调明白」是两件事,小模型尤其要花时间调监督参数;
  3. Beta 就是 Beta:监控和规划都标着 Beta,默认关,实际效果随模型差异很大;
  4. 不做合规模拟:要 BAS 能力去看 CALDERA,这里没有 attack campaign;
  5. 数据会长大:所有命令全量入库,长期用要自己规划存储;作者也坦白 —— 删 flow 目前不会清磁盘上的数据目录,运维自己收尾。

八、上手

官方 installer 三步:

1
2
3
mkdir pentagi && cd pentagi
curl -fsSL https://raw.githubusercontent.com/vxcontrol/pentagi/main/build/installer/pentagi-installer.tar.gz -o pentagi-installer.tar.gz
tar -xzf pentagi-installer.tar.gz && ./pentagi-installer.sh

.env 里至少配一个 LLM provider,docker compose up 起栈。登录 Web UI → Flows → New Flow → 选模式、选模型、用自然语言描述目标和范围(目标、评估类型、范围限制、预期产出,四样说清楚)。

第一次跑的建议:挑一个窄目标,只给一个明确目标 —— 官方自己也这么建议,输出好审、prompt 好调,跑大了再扩。

照例提醒:EULA 写得明白,仅限自有系统或获得明确授权的目标。


九、一句话结论

Cairn 回答的是「Agent 能有多聪明」,PentAGI 回答的是「平台能有多完整」。前者是零角色零工作流的研究标本,后者把另一个极端做满了 —— 13 个角色、五层平台、四道监管,安全团队想得到的东西它都端上来。选哪头,取决于你是想研究搜索本身,还是想这周末就出一份能交给客户的报告。

评论Comments