|
引用本文
江颉, 王豪, 李明达, 朱添田. 基于大语言模型的多智能体自动渗透测试框架构建与评估. 自动化学报, 2026, 52(4): 821−832 doi: 10.16383/j.aas.c250293
Jiang Jie, Wang Hao, Li Ming-Da, Zhu Tian-Tian. Construction and evaluation of multi-agent automated penetration testing framework based on large language models. Acta Automatica Sinica, 2026, 52(4): 821−832 doi: 10.16383/j.aas.c250293
http://www.aas.net.cn/cn/article/doi/10.16383/j.aas.c250293
关键词
网络安全,渗透测试,大语言模型,多智能体,检索增强生成,人工智能
摘要
渗透测试作为一种主动的安全评估手段, 在保障网络安全中发挥着至关重要的作用. 传统的渗透测试通常高度依赖专家经验和人工操作, 测试过程复杂且耗时. 基于大语言模型的渗透测试智能体能够在测试环境中生成和调整策略, 相较于传统的方式, 具备更强的创新性和适应性. 在大语言模型辅助渗透测试的过程中, 存在因测试路径偏移、大语言模型“幻觉”问题而导致渗透测试任务中断或失败的情况. 基于此, 提出一个基于大语言模型的多智能体渗透测试框架LangPentest, 旨在通过自然语言处理技术提高攻击策略的自动生成和执行能力, 框架采用了大语言模型驱动的程序框架(LangChain)和检索增强生成技术, 提高LangPentest性能并降低大语言模型在应用渗透测试方面的“幻觉”问题. 框架由任务生成、任务执行、经验管理和任务调整四部分模块组成, 对基准目标测试后, 基于Claude 3.5 Sonnet模型的框架任务成功率最高; 且与AutoGPT和PentestGPT相比, 本框架在任务成功率方面具有明显优势, 在任务完成和整体性能方面证明了LangPentest的可行性和有效性.
文章导读
随着信息技术的飞速发展, 网络系统已深度融入社会各个领域, 从个人通信到关键基础设施的运行, 几乎所有行业都依赖于安全可靠的网络环境. 近年来, 网络攻击的数量与复杂程度持续增加[1], 包括数据泄露、勒索软件等在内的安全事件频发, 对个人隐私和社会稳定构成了严重威胁. 因此, 如何对网络系统的安全性进行全面评估, 并及时发现和修复潜在的漏洞, 已成为确保信息资产安全的关键任务.
作为主动防御技术[2], 渗透测试是一种通过执行可能的黑客攻击, 识别潜在的安全漏洞来评估计算机系统、网络或应用程序安全性的重要方法. 通过模拟实际的攻击行为, 渗透测试帮助网络安全工作者了解系统的脆弱点并为修复提供指导, 帮助其降低实际的网络安全风险.
传统的渗透测试方法主要依赖于安全人员进行漏洞识别和攻击实施[3], 根据预定的测试目标和攻击场景, 通过人工或半自动化工具执行渗透测试. 该过程的核心包括识别和扫描目标系统的漏洞、利用已发现的漏洞进行攻击、验证漏洞的可利用性, 并最终评估渗透测试的结果. 该方式具有对特定系统进行定制化攻击测试的优点, 但也存在人工投入大、效率低、测试的深度和全面性高度依赖专家经验的缺点[4]. 为应对不断增加的网络安全威胁, 安全领域亟须一种更加高效、自动化的解决方案.
同时, 随着人工智能领域的快速发展, 特别是大语言模型(large language model, LLM)的兴起[5], 为渗透测试智能化带来全新的解决思路. 大语言模型具有卓越的自然语言理解和生成能力, 能够高效处理复杂信息并推导多种可能性. 随着大语言模型技术的进步及任务需求的推动, 基于大语言模型的智能体(agent)[6]快速发展, 智能体不仅限于传统的文本生成任务, 还涵盖自动化决策、智能体的设计以及复杂系统的优化等多方面[7]. 基于大语言模型的智能体也逐渐在多种场景中得以广泛应用[8−9].
在此背景下, 基于大语言模型的智能体应用于渗透测试[10−12], 能够在不同的网络环境下生成攻击策略并动态调整测试路径, 有效地减少对人工干预的依赖. 然而, 将智能体直接应用于渗透测试中仍然存在以下挑战:
偏移问题. LLM在应用于渗透测试的多步决策过程中, 容易出现理解与执行偏差, 此问题会通过级联传播机制产生非线性路径偏移, 从而导致任务的计划和执行与预期目标产生偏差.
幻觉问题. LLM在应用于渗透测试过程中, 会出现与现实不符的幻觉[13−14]问题, LLM可能生成看似合理但实际无效的payload、构造违反目标系统架构规范的shellcode指令、虚构不存在的漏洞组合攻击路径(如跨通用漏洞披露(common vulnerabilities & exposures, CVE)[15]编号的虚假依赖关系). 此类问题往往是由于大语言模型在渗透测试领域知识学习有限, 导致生成的渗透测试任务缺乏足够的可执行性或正确性.
针对上述局限, 本文提出一个新的渗透测试框架LangPentest, 其是由大语言模型驱动的多智能体系统. 本文的主要贡献如下:
任务调整. 提出任务调整驱动的多智能体动态协同机制, 通过反馈感知与任务链重构, 使该框架具备基于执行后状态的自适应任务重规划能力, 缓解渗透测试过程中任务的计划和执行与目标之间的偏移现象, 为复杂多步决策问题提供新的多智能体协调范式.
经验优化. 借鉴增强检索思考(retrieval augmented thoughts, RAT)[16], 以渗透知识库和历史任务轨迹为检索源, 将零提示思维链(chain-of-thought, CoT)和RAG (retrieval-augmented generation)[17]相结合. 具体地, LangPentest在生成每一步思维链后, 会利用该步及其上下文信息从经验库中检索相关渗透知识与历史案例, 并基于检索结果对思维链进行因果式修订. 据此, 模型的推理过程不再依赖内部联想, 每一步推理与外部经验知识绑定, 使中间思维链具备证据支撑. 这种“逐步思考−检索−修订”的机制, 能在推理层面缓解大语言模型由于专业知识不足而产生的幻觉问题, 改善由此问题导致的执行失败情况.
LangPentest将上述任务调整、经验优化与任务生成、任务执行结合起来, 聚焦于全局任务规划与动态调整, 旨在缓解LLM在渗透测试领域的幻觉问题, 提高任务执行能力.
本文后续内容的结构如下: 第1节回顾渗透测试工具、基于强化学习和大语言模型的渗透测试相关工作; 第2节介绍多智能体渗透测试框架的设计和RAG经验检索; 第3节概述本研究中实验设置; 第4节详细介绍实验并对结果进行评估; 第5节对研究进行总结, 并探讨局限性和未来研究方向.
图1 多智能体框架
图2 任务生成提示词模板
图3 任务执行提示词模板
本文提出一种基于大语言模型的多智能体自动渗透测试框架, 并在选择的基准实验集上进行了实验与评估. 结果表明, 框架在单主机的单任务及多任务的简单场景下均表现出较高的成功率和较少的任务偏移现象. 任务调整模块和经验管理模块显著提高了任务完成的有效性与准确性. 然而, 尽管这些大语言模型提供了强大的计算与推理能力, 但在成本统计中表明框架运行的经济成本依然较高.
未来的工作将集中在以下方向: 首先, 进一步优化框架的交互效率, 降低与大语言模型交互的成本; 其次, 拓展并丰富RAG经验知识库的数据集, 增加行业的新知识; 最后, 优化多智能体协作机制, 探索其在多主机多任务场景及现实场景下的有效性.
作者简介
江颉
浙江工业大学计算机科学与技术学院教授. 主要研究方向为网络安全, 人工智能. E-mail: jj@zjut.edu.cn
王豪
浙江工业大学计算机科学与技术学院硕士研究生. 主要研究方向为网络安全, 人工智能. E-mail: wanghao10246@163.com
李明达
浙江工业大学计算机科学与技术学院博士研究生. 主要研究方向为网络安全, 自动化攻击. E-mail: zjutlmd@zjut.edu.cn
朱添田
浙江工业大学计算机科学与技术学院副教授. 主要研究方向为网络安全, 人工智能. 本文通信作者. E-mail: ttzhu@zjut.edu.cn
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2026-7-12 21:58
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社