
原文标题:PentestAgent: Incorporating LLM Agents to Automated Penetration Testing
原文作者:Xiangmin Shen, Lingzhi Wang, Zhenyuan Li, Yan Chen, Wencheng Zhao, Dawei Sun, Jiashui Wang, Wei Ruan发表会议:ACM Asia Conference on Computer and Communications Security (AsiaCCS’25)笔记作者:焦宇彤@安全学术圈主编:黄诚@安全学术圈编辑:谷雨@安全学术圈
1、引言
随着网络攻击日益复杂与频繁,渗透测试作为主动识别安全漏洞的关键手段,其重要性不言而喻。然而,传统的手动渗透测试高度依赖安全专家的经验,平均耗时超过80小时,且成本高昂,难以规模化部署。尽管已有自动化渗透测试工具(如Nmap、Metasploit)和基于机器学习的方法,它们往往缺乏灵活性、适应性,且难以实现端到端的自动化流程。
近年来,大型语言模型(LLM)的快速发展为提升渗透测试的智能化和自动化水平带来了新的机遇。然而,现有的LLM辅助渗透测试系统(如PentestGPT、AutoAttacker)仍面临两大挑战:一是渗透测试知识覆盖有限,依赖预训练模型中的通用知识,难以应对实时、多变的漏洞环境;二是自动化能力不足,仍需大量人工介入进行验证、调试和决策。
为应对上述挑战,本文提出了PentestAgent,一个基于LLM的多代理自动化渗透测试框架。PentestAgent通过集成检索增强生成(RAG)、链式思考(CoT)和角色扮演等LLM技术,构建了一个覆盖情报收集、漏洞分析与利用的全流程自动化系统。该框架不仅提升了漏洞检测的覆盖率与准确性,还通过自研的基准测试集(基于VulHub与HackTheBox)验证了其在实际场景中的高效性与实用性。
2、方法论
PentestAgent采用多代理协作架构,将渗透测试流程分解为四个核心代理:侦察代理、搜索代理、规划代理与执行代理,分别对应PTES标准中的三个阶段:情报收集、漏洞分析与利用。
2.1 系统概览
侦察代理:接收目标输入,通过自迭代循环执行侦察命令(如Nmap),收集环境信息并存储至数据库。
搜索代理:基于侦察结果,进行两级层次化在线搜索,识别潜在攻击面并提取漏洞利用细节,存储为结构化知识库。
规划代理:利用RAG检索知识库,生成针对目标环境的攻击计划,包括攻击面排序与漏洞利用建议。
执行代理:负责自动执行攻击计划,包括参数填充、代码调试与错误处理,最终生成渗透测试报告。
2.2 关键技术应用
检索增强生成(RAG):用于增强代理的上下文记忆与知识检索能力,解决LLM的“短期记忆”问题。
链式思考(CoT):将复杂任务分解为子任务,引导代理逐步推理,减少幻觉输出。
角色扮演(Role-playing):让代理扮演“渗透测试助手”,绕过LLM的安全策略限制,执行敏感操作。
结构化输出:强制代理以JSON格式响应,确保输出可解析、可集成,提升流程自动化程度。
2.3 知识库构建与优化
PentestAgent构建了层次化渗透测试知识库,将攻击面与漏洞利用信息以树状结构组织,支持高效检索与版本匹配。知识库通过在线搜索(Google、GitHub、ExploitDB等)持续更新,确保其覆盖范围与时效性。
3、实验验证与分析
3.1 基准测试集构建
研究团队基于VulHub(100+预建Docker漏洞环境)与HackTheBox CTF挑战构建了一个包含67个目标的渗透测试基准集,涵盖32种CWE类型与OWASP Top 10中的8类风险。目标按漏洞利用难度分为简单(50个)、中等(11个)与困难(6个),并引入EPSS(漏洞利用预测评分系统)评估其现实性。
3.2 性能评估
整体成功率:使用GPT-4时,PentestAgent在完整渗透测试流程中的成功率达74.2%,显著高于GPT-3.5的60.6%。
阶段完成度:GPT-4在简单任务中实现情报收集与漏洞分析100%完成,利用阶段完成81.8%;在困难任务中表现有所下降,尤其在情报收集阶段(50%)。
效率对比:与PentestGPT相比,PentestAgent在情报收集与利用阶段耗时显著更短(如情报收集:220秒 vs. 1199秒),自动化程度更高。
3.3 消融实验
不同LLM骨干对比:GPT-4与Qwen-2.0在情报收集与漏洞分析中表现优异,Qwen-2.0在利用阶段领先。
成本与时间权衡:GPT-3.5成本最低但性能较弱;Llama 3.1-8B虽免费但时间开销大,实用性受限。
3.4 失败案例分析
主要失败集中在:
情报收集阶段:难以识别非独立组件(如PHPMailer、Ghostscript),需集成更细粒度的指纹识别工具。
利用阶段:
需领域专业知识(如Samba凭据、JBoss工具链)
需用户交互(如文件上传)
LLM幻觉导致错误传播
应对策略包括:人机协同设计、集成智能代理(如AutoGPT)以及设置执行停止条件。
4、总结
PentestAgent是一个创新的、基于LLM多代理的自动化渗透测试框架,成功实现了从目标侦察到漏洞利用的全流程自动化。其核心贡献在于:
设计了端到端的自动化渗透测试流水线,通过多代理协作与RAG技术显著提升了漏洞检测的覆盖率与实时性。
构建了公开可用的渗透测试基准集,基于VulHub与HackTheBox,涵盖多难度、多漏洞类型,为后续研究提供了标准化评估平台。
实验验证了框架的高效性与实用性,在多项指标上优于现有系统(如PentestGPT),尤其在自动化程度与执行效率方面表现突出。
尽管PentestAgent在复杂攻击链(如红队模拟)与未知漏洞检测方面仍存在局限,但其展示的“多代理+RAG+结构化知识库”架构为未来构建更智能、更自主的网络渗透测试系统奠定了重要基础。未来工作可进一步拓展其支持的工具集、增强对抗幻觉的能力,并在更复杂的网络环境中验证其扩展性。
安全学术圈招募队友-ing
有兴趣加入学术圈的请联系 secdr#qq.com
声明:本文来自安全学术圈,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。