Hotdry.
security

PentAGI 全自主渗透测试 AI Agent 系统架构解析:任务分解、工具调用与结果评估的工程实现

深入解析 PentAGI 如何通过多 Agent 协作、智能任务规划与工具链集成实现全自主渗透测试,涵盖任务分解机制、工具调用模式及结果评估体系。

渗透测试自动化长期以来面临两大核心挑战:如何让 AI 理解复杂的攻击链路并做出合理决策,以及如何确保执行过程的安全性与可控性。PentAGI(Penetration testing Artificial General Intelligence)作为开源社区最新的全自主渗透测试 AI Agent 系统,通过精心设计的多层架构尝试回答这两个问题。本文将从任务分解、工具调用与结果评估三个维度,剖析其工程实现细节。

多层 Agent 协作架构

PentAGI 采用经典的多 Agent 分治模式,将复杂的渗透测试任务拆解为研究(Researcher)、规划(Developer)与执行(Executor)三个核心阶段。系统通过编排层(Orchestrator)统一协调各专业 Agent 的工作流程,每个 Agent 被赋予明确的职责边界:研究阶段负责目标信息收集与攻击面分析,规划阶段基于研究成果制定具体的攻击步骤,执行阶段则调用底层安全工具完成实际的渗透操作。

这种分工模式的优势在于将认知负荷分散到专用 Agent,避免单一模型同时处理信息收集与攻击决策时的注意力分散。值得注意的是,PentAGI 特别强调了「小模型 + 监督机制」的组合策略。对于参数规模小于 32B 的开源模型,系统推荐启用执行监控(Execution Monitoring)与智能任务规划(Intelligent Task Planning)两项特性,前者通过引入导师(Mentor)Agent 实时检测重复工具调用与目标偏离,后者则由规划器(Planner)在任务启动前生成 3 到 7 个具体的可执行步骤。根据官方测试数据,这一组合在 Qwen3.5-27B-FP8 模型上实现了结果质量翻倍的提升,尽管代价是执行时间与 Token 消耗增加 2 到 3 倍。

任务分解与上下文管理

PentAGI 的任务分解遵循 Flow → Task → SubTask → Action 的四级层次结构。Flow 代表一次完整的渗透测试任务,Task 将其拆解为多个阶段性目标(如信息收集、漏洞探测、漏洞利用、权限维持等),SubTask 进一步细化为具体的技术动作(如端口扫描、SQL 注入尝试、反弹 Shell 构造等),而 Action 则对应最底层的工具调用操作。这一层次结构不仅便于任务状态的追踪与管理,也为结果的可追溯性提供了天然的数据模型支撑。

面对长流程渗透测试带来的上下文膨胀问题,PentAGI 实现了名为 Chain Summarization 的链式摘要机制。该机制将对话历史转换为结构化的 ChainAST 表示,然后按照配置的字节阈值对历史消息进行分层摘要。系统提供全局与助手级别两套配置参数,例如全局配置的 SUMMARIZER_LAST_SEC_BYTES 默认为 51200 字节(50KB),而助手级别的 ASSISTANT_SUMMARIZER_LAST_SEC_BYTES 则默认为 76800 字节(75KB),为不同类型的 Agent 提供差异化的上下文保留策略。摘要策略支持 QA Pair 模式,会保留最近 1 到 3 个问答对不做压缩,确保关键信息不丢失。

工具调用的安全边界

PentAGI 内置了 20 余款专业安全工具,包括 nmap、metasploit、sqlmap 等行业标准工具,所有操作均在沙箱化的 Docker 容器环境中执行,最大限度降低对宿主机的影响。工具调用通过统一的函数调用(Function Calling)接口暴露给 AI Agent,系统预设了严格的工具调用上限:通用 Agent(如 Assistant、Primary Agent、Pentester、Coder、Installer)的默认上限为 100 次,而受限 Agent(如 Searcher、Enricher、Memorist、Generator、Reporter、Adviser、Reflector、Planner)仅为 20 次。当 Agent 接近调用上限时,Reflector 会自动介入,引导 Agent 优雅地完成当前任务或输出中间结果。

为了进一步提升小型模型在工具调用场景下的可靠性,PentAGI 还实现了自动 Mentor 干预机制。当系统检测到连续 5 次相同的工具调用(可配置阈值)或累计 10 次工具调用时,会自动触发导师 Agent 的分析流程。导师 Agent 不仅提供 <mentor_analysis> 标签包裹的策略建议,还在原始结果 <original_result> 基础上补充替代方案与注意事项。这种双层输出设计既保留了原始执行信息,又为后续决策提供了有价值的上下文参考。

结果评估与知识沉淀

PentAGI 采用了多维度的结果评估体系。在执行层面,每次工具调用的状态(success /failure)会被完整记录,并与预期的攻击目标进行关联分析。在任务层面,系统通过知识图谱(Graphiti + Neo4j)建立实体关系网络,将漏洞、工具、目标、攻击技术之间的语义关联持久化存储,为后续任务提供历史经验检索能力。向量存储(PostgreSQL + pgvector)则承担了语义搜索的职责,支持按文档类型、流程 ID、答案类型等多个维度进行相似性查询。

报告生成是结果评估的最终输出环节。PentAGI 能够自动生成详细的漏洞报告,包含漏洞描述、危害等级、利用步骤与修复建议。报告内容直接来源于 Agent 在任务执行过程中积累的结构化数据,确保信息的一致性与可追溯性。系统还支持通过 REST API 与 GraphQL API 以编程方式访问测试结果,便于与外部的 CI/CD 流水线或安全运营平台进行集成。

工程落地的关键参数

对于计划在生产环境中部署 PentAGI 的安全团队,以下几项配置值得重点关注。首先是模型选择与监督机制的平衡:使用 GPT-5.2 或 Claude Opus 4-6 等大型模型时,可将 EXECUTION_MONITOR_ENABLEDAGENT_PLANNING_STEP_ENABLED 设为 false 以追求效率;若使用 Qwen3.5-27B-FP8 等较小模型,则强烈建议启用两项监督特性并将导师 Agent 配置为相同模型的强化推理模式。其次是上下文管理的调优:对于复杂的渗透测试任务,建议将 ASSISTANT_SUMMARIZER_LAST_SEC_BYTES 调整为 102400 字节(100KB)以获得更充足的最近上下文保留。最后是资源保护:生产环境应确保 MAX_GENERAL_AGENT_TOOL_CALLSMAX_LIMITED_AGENT_TOOL_CALLS 的上限不被修改,同时通过 Grafana 监控面板实时追踪 Token 消耗与任务队列状态。

总体而言,PentAGI 为渗透测试自动化提供了一个兼具灵活性与安全性的工程化框架。其多 Agent 协作模式、链式摘要机制与多层监督设计代表了当前 AI Agent 在安全领域应用的主流技术路线。随着开源社区的持续贡献与模型能力的不断提升,这类系统有望成为安全团队日常渗透测试工作的重要辅助工具。

资料来源:本文主要参考 PentAGI 官方 GitHub 仓库(https://github.com/vxcontrol/pentagi)中的技术文档与架构说明。

查看归档