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 | ┌─ 核心服务 ─── React UI + Go API(REST/GraphQL) + PostgreSQL/pgvector + 异步任务队列 + 多 Agent 系统 |
几个值得单独说的点:
记忆是五层的。 长期记忆、工作记忆、情景记忆、知识库、上下文管理 —— 上下文膨胀用链式摘要(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 依次:
- Tool Call Limits(常开):通用 100 次、受限 20 次,硬上限,到量 Reflector 引导体面收尾;
- Reflector(常开):LLM 连续 3 次没生成出工具调用就介入,分析失败模式、引导改用正确工具或 barrier 工具(
done/ask); - Execution Monitoring(Beta,默认关):Mentor agent 盯执行过程 —— 同一工具连用 5 次、总调用到 10 次就触发介入,识别循环、推荐替代策略。代价是执行时间和 token 消耗 2-3 倍,换来结果质量 2 倍提升(官方用 Qwen3.5-27B-FP8 实测);
- 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」的同类项目友好得多。
七、边界与风险
- token 账单:监控 + 规划全开是 2-3 倍消耗;用商业大模型跑长 flow,一次 Automation 的成本要心里有数;
- 配置复杂度:4,100 行 README、16KB 的
.env.example—— 「跑起来」和「调明白」是两件事,小模型尤其要花时间调监督参数; - Beta 就是 Beta:监控和规划都标着 Beta,默认关,实际效果随模型差异很大;
- 不做合规模拟:要 BAS 能力去看 CALDERA,这里没有 attack campaign;
- 数据会长大:所有命令全量入库,长期用要自己规划存储;作者也坦白 —— 删 flow 目前不会清磁盘上的数据目录,运维自己收尾。
八、上手
官方 installer 三步:
1 | mkdir pentagi && cd pentagi |
.env 里至少配一个 LLM provider,docker compose up 起栈。登录 Web UI → Flows → New Flow → 选模式、选模型、用自然语言描述目标和范围(目标、评估类型、范围限制、预期产出,四样说清楚)。
第一次跑的建议:挑一个窄目标,只给一个明确目标 —— 官方自己也这么建议,输出好审、prompt 好调,跑大了再扩。
照例提醒:EULA 写得明白,仅限自有系统或获得明确授权的目标。
九、一句话结论
Cairn 回答的是「Agent 能有多聪明」,PentAGI 回答的是「平台能有多完整」。前者是零角色零工作流的研究标本,后者把另一个极端做满了 —— 13 个角色、五层平台、四道监管,安全团队想得到的东西它都端上来。选哪头,取决于你是想研究搜索本身,还是想这周末就出一份能交给客户的报告。