← 返回文章

PENTAGI:多 Agent 自主渗透测试系统

更新于

多 Agent 自主渗透测试系统。

PENTAGI 的官方界面或演示截图
封面:来源 · 以仓库为准

PentAGI 由安全工程公司 VXControl 开发,仓库以 MIT 许可发布(以 LICENSE 为准),是一套自托管的多 Agent 自主渗透测试系统。用户用自然语言描述目标和范围,一组 Agent 负责规划、调用工具、记录发现并生成报告;nmap、Metasploit、sqlmap 等 20 多个工具在隔离的 Docker 沙箱里执行。后端 Go + GraphQL,前端 React,结果与成功经验写入带 pgvector 的 PostgreSQL,可选 Neo4j/Graphiti 知识图谱,另有 Grafana、Jaeger、Loki、Langfuse 等可观测组件。

一次 Flow 怎么跑

登录后从侧栏进入 Flows,新建 Flow,选择 Automation(全自动)或 Assistant(可逐步干预)。在输入框写清目标 URL、评估类型、范围限制和期望产出,也可以套用模板。示例提示词:

Assess https://target.example for common web application vulnerabilities.
Focus on authentication, file handling, and injection issues.
Stay within the provided target only and summarize confirmed findings
with reproduction steps.

Flow 页面会显示 Agent 消息、任务与子任务、工具调用和终端输出;Assistant 视图可以查看状态、停止当前任务、追加指令或修改剩余子任务,也可以开启 Use Agents 委托给子 Agent。结束后从 Report 菜单打开网页版、复制、下载 Markdown 或 PDF。文件页签区分上传文件、资源库附件和从容器拉取的快照,上传上限 300 MB,注入容器后位于 /work/uploads/ 与 /work/resources/;上传内容会自动列进 Agent 的系统提示,容器快照只留在界面里。删除 Flow 会移除记录和长期记忆,但不会自动清理宿主机上的 flow-{id}-data/ 目录,需要手动回收空间。

安装与第一次登录

官方提供 Linux(amd64/arm64)、Windows(amd64)、macOS(Intel 与 Apple Silicon)的交互式安装器,解压后运行 ./installer,它会检查 Docker、生成 .env、配置模型与搜索服务并启动 compose。新建 Flow 时可以套用已保存模板,或用 examples/prompts/base_web_pentest.md 作为起点。手动部署则是复制 .env.example、填入至少一个模型供应商的 Key,再执行 docker compose up -d。系统要求至少 2 vCPU、4 GB 内存和 20 GB 磁盘。Web UI 默认在 https://localhost:8443,初始账号与密码由 README 公布,首次登录应先修改密码。模型可选 OpenAI、Anthropic、Gemini、Bedrock、Ollama、DeepSeek、GLM、Kimi、Qwen、MiniMax、Mistral、xAI 或任意兼容端点;搜索可接 DuckDuckGo、Google、Tavily、Firecrawl、Perplexity、Sploitus、SearXNG 等。

需要观测与知识图谱时,先启动主 compose 创建网络,再叠加 docker-compose-langfuse.yml、docker-compose-graphiti.yml 或 docker-compose-observability.yml。Web UI 默认只监听 127.0.0.1;要从其他机器访问,需要设置 PENTAGI_LISTEN_IP、PUBLIC_URL 和 CORS_ORIGINS,再重建容器。API Token 在 Settings → API Tokens 创建,有效期可从 1 分钟到 3 年,用 Bearer 调用 REST 或 GraphQL;GraphQL Playground 与 Swagger UI 都在实例上提供,便于脚本化创建 Flow 和拉取结果。

一次授权演练的用法

在测试环境创建 Automation Flow,把目标域名、测试时间窗、禁止操作和报告要求写进提示词,让 Agent 在隔离 worker 上完成信息收集与验证;遇到需要人工判断的入口,切到 Assistant 视图调整方向。结束后导出 PDF 报告并复核证据,把误报、未验证项和超出范围的动作单独记录。

隔离、授权与禁止事项

PentAGI 会真实执行扫描与利用,只能在自有或获得明确书面授权的目标上使用,并严格限定域名、IP 段和时间窗口;README 与 EULA 都要求遵守授权范围,未经授权的测试在多数司法辖区违法。生产或敏感环境应使用两节点部署,把 worker 放在独立主机;需要容器内 Docker 时,优先用 DOCKER_INSIDE 指向加固过的 dind 服务并开启 TLS 校验,不要把宿主机 Docker socket 直接挂进沙箱——那等于把宿主机 root 权限交给自主 Agent。默认管理员密码、对外监听端口和 28000–29999 的带外回调端口也要一并收紧。

与 Metasploit、SaaS 平台的差别

Metasploit 是工具集,选什么模块、什么时候停仍由人决定;PentAGI 把工具调用、记忆、任务规划和报告串成自主流程,适合在授权演练中减少重复操作。与托管式自动化渗透 SaaS 相比,它强调自托管、模型可选和数据留在本地,代价是要自己维护一整套容器、数据库与监控。无论选哪种,授权和范围管理都不能外包给 Agent。

限制与适合的人

自主 Agent 可能执行超出预期的操作,甚至造成破坏;README 也说明它目前不是 CALDERA 式的 BAS 平台,JSON 流程报告不在支持格式内。开启执行监控和任务规划会增加执行时间与 token 消耗,官方建议小模型场景使用,但仍需人工复核每条命令与发现;重要结论要回到目标上验证,运行截图与命令输出也应脱敏后再对外分享。按官方 README 整理,未在本机完整实测。适合有授权范围、能提供隔离环境的安全团队和红队;生产环境、无授权目标或无法隔离运行的环境不适合。

官方入口