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. |
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 整理,未在本机完整实测。适合有授权范围、能提供隔离环境的安全团队和红队;生产环境、无授权目标或无法隔离运行的环境不适合。
