| 关键词:Agent, PoS, LLaMA, PentAGI, Executor, Docker, Scraper, Metasploit, Graphiti, Researcher | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
渗透测试的流程很固定:信息收集 → 漏洞发现 → 利用验证 → 出报告。但每一步都要手动切换工具——nmap 扫端口、sqlmap 测注入、metasploit 打 exploit、最后 Word 拼报告。工具切换和结果汇总占掉了大量时间。 PentAGI 把这个流程交给 AI Agent 自主完成。给它一个目标,它自己规划攻击路径、调用安全工具、在 Docker 沙箱中执行命令、记录结果、生成报告。 多 Agent 架构PentAGI 的核心设计是一个 Orchestrator(编排器) 协调三个专家 Agent:
工作组织为 Flow → Task → SubTask → Action 的层级结构。一个 Flow(渗透测试流程)包含多个 Task,每个 Task 拆成 SubTask 分派给不同 Agent,每个 SubTask 执行若干 Action(命令/搜索/分析),产出 Artifact(报告/日志)和 Memory(观察/结论)。 下面是一组实测截图,来源是对 Pikachu 漏洞靶场的一次完整渗透测试。用户在 Automation 对话框中输入目标地址和测试需求,Agent 自动将任务拆解为信息收集、目录枚举、SQL 注入检测、XSS 检测、文件上传漏洞检测、认证测试、权限提升等 12 个子任务,分派给 Researcher / Developer / Executor 逐个执行。 三层记忆系统每种 Agent 都有三层记忆,底层由 PostgreSQL + pgvector 提供语义检索: Agent 每次执行 Action 前先查向量库找相似场景,执行后把结果存回去。同一个目标第二次扫描时,Agent 会基于上次的发现继续,而不是从零开始。 如果启用知识图谱模块(Graphiti + Neo4j,默认关闭),Agent 还能构建实体间的语义关系网络——比如"这个 CMS 版本关联了哪些 CVE,这些 CVE 又关联了哪些利用工具"。注意:即使主 Agent 用其他 Provider,Graphiti 的实体抽取仍需要 OpenAI Key。 Chain Summarization:控制对话 token渗透测试是长对话过程——工具输出动辄几百行,一个 Flow 可能涉及上百轮 LLM 交互。PentAGI 的 Chain Summarization 算法处理这个问题:
摘要不会丢失工具调用上下文。nmap 的扫描结果会被压缩为"发现 3 个开放端口:22/SSH、80/HTTP、443/HTTPS",而不是被完全丢弃。.env 中有一组 20+ 安全工具,沙箱化执行Executor Agent 的每个工具调用都在独立 Docker 容器中执行,默认使用 Kali Linux 镜像: "智能容器管理"根据任务类型自动选择 Docker 镜像——Web 工具用含浏览器的镜像,网络工具用精简镜像。这些工具容器与主服务隔离,执行完毕后销毁。 以下是实测中 Executor Agent 调用安全工具的几个界面。Agent 先用 nmap + whatweb 完成目标指纹识别,识别出 Apache/2.4.41 + PHP + MySQL 技术栈和 Pikachu 漏洞靶场,随后自动规划 SQL 注入专项测试,通过 Terminal 面板可以看到 sqlmap 的实际执行过程,同时 Web Scraper 在后台自动截取 nikto、Apache 漏洞文档等参考页面。
12+ LLM 提供商PentAGI 通过自定义 fork 的 LangChainGo 抽象层支持 12+ LLM 提供商: 通过 Ollama 跑本地模型可以实现零 API 成本、零数据外泄。项目提供了 vLLM + Qwen3.5-27B-FP8 的生产部署指南。不过本地模型的推理能力与 GPT-5/Claude 4 有差距,复杂渗透测试场景下效果会受限。 容器架构核心 docker-compose.yml 定义了 4 个必需服务: 可选服务通过独立 compose 文件启用:
技术栈部署实操环境要求
第一步:克隆项目第二步:配置环境变量用编辑器打开 第三步:启动服务等待 pgvector 健康检查通过,pentagi 服务启动完成。首次启动会拉取 Docker 镜像,耐心等待。 第四步:访问 Web 界面启动成功后,浏览器访问: ![]() 第五步:启动一次渗透测试
执行过程中可以实时查看:
测试完成后,Flow 报告支持 Web 查看、Markdown 下载、PDF 下载。 可选:启用监控和 LLM 分析Langfuse 启动后,在 生产部署建议生产环境建议双节点架构:将 pentagi 主服务和 scraper 部署在控制节点,将 Docker 工具执行隔离到专用 Worker 节点。Executor 里跑的是不可信代码(可能是目标系统的反弹 shell),与控制平面物理隔离更安全。 API 支持 REST 和 GraphQL,Bearer Token 认证,可以集成进 CI/CD 流水线。 自适应攻击路径规划Executor 执行命令后,结果反馈给 Orchestrator,Orchestrator 根据实时反馈调整下一步策略——比如 nmap 发现 22 端口开放,Agent 会决定是否尝试 SSH 爆破;sqlmap 发现注入点,Agent 会规划数据提取路径。 这不是预定义的 if-else 规则树,而是 LLM 根据上下文实时推理的决策。Agent 的表现直接受 LLM 能力影响——用 GPT-5 和用 7B 本地模型,效果差距明显。.env 中的 能力边界README 明确写了当前能力边界:
谁该关注
PentAGI 的定位是把安全工程师从工具操作中解放出来——Agent 跑工具、记结果、出初版报告,人类负责审关键决策和做最终判断。它不替代安全工程师,而是让安全工程师聚焦在更高价值的判断上。 项目地址: https://github.com/vxcontrol/pentagi end 点个“在看”表示朕 已阅 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 本文出处: https://mp.weixin.qq.com/s/hA3BavWq6OQL3Cgoi3SuFQ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|