AutoPentester:基于 LLM 智能体的自动化渗透测试框架作者
2026/7/24 12:02:09 网站建设 项目流程

研究背景

随着网络攻击的规模和复杂度不断上升,渗透测试(pentesting)的需求已超出安全专业人员的供给能力。已有的 LLM 辅助方案(如 PentestGPT)仍属于半自动化,需要大量人工执行命令、解读结果,自动化程度有限。为此,作者提出 AutoPentester——一个高度自动化的 LLM 智能体框架,能够仅凭目标 IP,自主完成侦察、扫描、漏洞评估与利用,并生成完整报告。

核心方法:五大智能体模块

AutoPentester 采用迭代式架构,由五个基于 LLM 的智能体协同完成任务:

1. 总结器(Summarizer):将上一步安全工具(如 Nmap、Nikto)产生的冗长输出,按 6000 字符分块(含 500 字符重叠)后逐块摘要,再合并为可读性强的结果,供后续模块使用。

2. 策略分析器(Strategy Analyzer):核心决策模块。维护一棵“渗透测试树”(Pentest Tree, PTT),记录每一步骤及其关键发现,并通过思维链(Chain-of-Thought)推理,结合历史发现动态制定下一步攻击策略,避免了 PentestGPT 容易遗忘上下文、策略僵化的问题。

3. 生成器(Generator):基于检索增强生成(RAG)架构,从由《Metasploit渗透测试指南》《Penetration Testing: A Hands-on Introduction to Hacking》及 HackTricks 文章构建的知识库中检索相关知识,生成可直接执行的完整命令,减少模型因知识缺失产生的“幻觉”。

4. 智能体-计算机接口(ACI):负责从生成器输出中提取命令,并通过 subprocess/pexpect 等方式在真实终端(Nmap、Metasploit、Dirbuster 等)中执行,实现命令生成到落地执行的完全自动化。

5. 结果校验器(Results Verifier):检查工具输出是否符合预期,若命令不完整或效果不佳(如端口被过滤未加 -Pn),自动调整命令重试。

此外,框架还包含一个“重复识别模块”(Repetition Identifier),通过对步骤描述做向量嵌入并计算余弦相似度(阈值 0.15)来检测是否陷入重复循环,一旦发现即向操作员提供“继续/退出/交互模式/自定义输入”四种选择,从而显著减少无效循环。任务结束后,报告生成器(Report Generator)会自动汇总日志,输出包含 CVE 编号、CVSS 评分、风险等级、修复建议等字段的标准化 CSV 报告。

实验与应用场景

作者在两类目标上评估 AutoPentester:

• Hack The Box(HTB)真实靶机:10 台不同难度机器,用于衡量策略性渗透测试能力;

• 自建虚拟机(覆盖 OWASP Top 10 漏洞):用于衡量漏洞与威胁评估的覆盖率。

以 PentestGPT 为基线对比,AutoPentester 在子任务完成率上提升 27.0%,漏洞覆盖率提升 39.5%,步骤数减少 18.7%,循环次数减少约 85.7%,人工干预次数从平均 15.36 次降至 1.13 次,命令不完整比例下降 97.7%。10 位从业五年以上的安全专家参与的问卷调查也显示,AutoPentester 在攻击面覆盖、报告质量、修复建议等维度均优于 PentestGPT,平均得分约 4/5(PentestGPT 为 3.3/5)。消融实验进一步表明,RAG 模块与重复识别模块对性能提升贡献最大。

该框架适用于企业安全评估、红队演练等场景:其全自动化特性可显著节省人工时间,尤其适合大规模、重复性的漏洞扫描任务;同时也可作为渗透测试培训或红队演练的辅助工具。作者也指出其局限性——在需要与 GUI 交互(如 Web 应用)的场景下表现较弱,且高度依赖知识库的时效性与覆盖面。

链接

代码仓库:https://github.com/YasodGinige/AutoPentester

论文 DOI:10.1109/TrustCom66490.2025.00026

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询