PentAGI:让 AI 红队自己跑完一次渗透测试
项目:vxcontrol/pentagi
今日星标:+613
语言:Go
许可证:AGPL-3.0
定位:自托管的多 Agent 自主渗透测试系统
一个场景
周五下午,老板说:"下周一前把这个系统的渗透测试报告给我。"
传统流程:你打开 Kali Linux,跑 nmap 扫端口,跑 sqlmap 试注入,翻 Metasploit 找 exploit,手动验证每个发现,写报告。一个中型系统,至少三天。
PentAGI 给的解法:你输入目标地址和测试目标,它自己规划步骤、调用 20+ 专业工具、在 Docker 沙箱里执行、记住每次发现、最后给你一份报告。你盯着屏幕看它干活,偶尔在关键决策点介入。
它到底是什么
PentAGI = Penetration testing Artificial General Intelligence
一句话:你描述目标和目标,AI Agent 团队自己规划、执行、报告。
但这个"自己"不是噱头。它真的把渗透测试拆成了多 Agent 协作:
- 规划 Agent:分析目标,决定先做什么后做什么
- 执行 Agent:在 Docker 沙箱里跑 nmap、Metasploit、sqlmap 等工具
- 记忆 Agent:把发现存到 PostgreSQL + pgvector,后续步骤可以检索
- 知识图谱 Agent(可选):用 Neo4j 追踪主机、服务、漏洞之间的关系
- 监控 Agent:执行监控和任务规划,帮小模型也能跟上复杂流程
这不是一个"AI 调用 API"的玩具。它是一个有架构的 Agent 系统。
核心设计:四个关键决策
1. 沙箱隔离——给 Agent Docker 但不给宿主机
PentAGI 的执行环境是 Docker 容器。Agent 在容器里跑工具,不能碰宿主机。这意味着:
- Agent 跑 nmap 扫描的是隔离网络
- Agent 装 Metasploit 不会污染你的系统
- 测试结束,容器销毁,痕迹清零
README 里专门有一节叫"Giving agents Docker without giving away the host"——给 Agent Docker 权限但不暴露宿主机。这个设计决策体现了安全工程思维:你信任 AI Agent 跑渗透测试,但不信任它不犯错。
2. 模型自由——10+ LLM 提供商
PentAGI 支持的 LLM 提供商列表读起来像 AI 公司花名册:
- 云端:OpenAI、Anthropic、Google Gemini、AWS Bedrock、Azure OpenAI、DeepSeek、GLM、Kimi、Qwen、MiniMax、Mistral、xAI Grok
- 本地:Ollama、vLLM、任何 OpenAI 兼容网关
这个选择背后的逻辑是:渗透测试场景对模型有不同需求。规划阶段需要强推理(用 Claude/GPT),执行阶段需要快和便宜(用 DeepSeek/Ollama),报告阶段需要长上下文(用 Gemini)。PentAGI 不绑死模型,让用户按需选择。
3. 记忆系统——PostgreSQL + pgvector + Neo4j
渗透测试是一个累积发现的过程:扫到端口 80 开放 → 尝试 Web 漏洞 → 发现登录页 → 尝试弱密码 → 进入后台 → 提权。每一步都依赖前一步的发现。
PentAGI 用两层记忆:
- PostgreSQL + pgvector:存储执行结果和向量化的经验,后续步骤可以语义检索"之前发现过什么类似的"
- Neo4j 知识图谱(可选):追踪主机→服务→漏洞→利用链的关系网络
这个设计让 Agent 不会"健忘"——第 20 步的决策可以参考第 3 步的发现,而不是从头再来。
4. 可观测——Langfuse 集成 + 执行监控
Agent 系统最大的问题是"它到底在干嘛"。PentAGI 集成了 Langfuse 做 LLM 调用追踪,加上自带的执行监控和任务规划界面。
这意味着你可以看到:Agent 为什么决定先扫 80 端口而不是 443?它调用 nmap 时用了什么参数?它发现什么后改变了计划?可观测性是 Agent 系统从"玩具"到"工具"的分水岭。
和其他 AI 安全工具的差异
| 维度 | CAI (Cybersecurity AI) | PentAGI | 自主渗透测试 |
|---|---|---|---|
| 部署方式 | 云端 | 自托管 | 自托管 |
| 模型选择 | 有限 | 10+ 提供商 | 单一 |
| 工具集成 | 内置 | 20+ 专业工具 | 看实现 |
| 记忆系统 | 基础 | PostgreSQL+pgvector+Neo4j | 看实现 |
| 知识图谱 | 无 | 有(Graphiti) | 罕见 |
| 可观测性 | 基础 | Langfuse + 执行监控 | 弱 |
| API | 有限 | REST + GraphQL | 看实现 |
PentAGI 的差异化在于工程完整度。它不是一个"LLM + prompt"的 demo,而是一个有沙箱、有记忆、有知识图谱、有可观测性的系统。
一个更深的观察
PentAGI 的架构揭示了一个趋势:AI Agent 系统的竞争力不在模型,在架构。
当所有人都能调用 GPT-6 或 Claude 时,决定 Agent 好坏的不是"你用了哪个模型",而是:
- 记忆怎么设计:是简单的对话历史,还是向量化的经验库?
- 工具怎么编排:是串行调用,还是有规划的并行?
- 安全边界在哪:Agent 能做什么不能做什么?
- 可观测性多强:出了问题能不能追溯?
PentAGI 在这四个维度上都做了选择,而不是默认。这就是为什么一个 +613 星的项目值得认真看——它不是最火的,但它的架构设计是教科书级的。
适合谁
- 安全工程师 / 渗透测试人员:想要一个 7x24 小时干活的助手
- 红队:需要自动化初始侦察和漏洞验证
- 安全研究者:想研究多 Agent 系统在攻防场景的表现
- 企业安全团队:需要自托管(数据不出域)的自动化测试
不适合:
- 想拿来干坏事的人(PentAGI 明确只用于授权测试)
- 期望"一键黑掉目标"的脚本小子(Agent 仍然需要人类在关键点介入)
- 不想自己部署的人(PentAGI 是自托管,需要 Docker 环境)
企业版
PentAGI Enterprise 增加了:
- Agent profiles(不同任务用不同 Agent 配置)
- Plugins 和 MCP servers(扩展能力)
- 客户级报告(直接给客户的渗透测试报告)
- 实时攻击链可视化
开源版已经功能完整,企业版增加的是"团队协作"和"客户交付"能力。
一句话总结
PentAGI 把渗透测试从"一个人 + 一堆工具"变成了"一个人 + 一队 AI Agent"。它的价值不在"AI 能黑掉什么",而在于它示范了一个严肃的 Agent 系统应该怎么设计——有沙箱、有记忆、有知识图谱、有可观测性。当所有人都在谈"AI Agent"时,PentAGI 在告诉你"AI Agent 系统工程"长什么样。
讨论回复
加载中...正在加载回复...
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。