基本信息
原文标题:Towards Automated Pentesting with Large Language Models
原文作者:Ricardo Bessa, Rui Claro, João Trindade, João M. Lourenço
作者单位:NOVA University Lisbon(FCT & NOVA LINCS,葡萄牙);Layer8 - Shield Domain SA(葡萄牙)
关键词:Ethical Hacking(伦理黑客)· Large Language Models(大语言模型)· Offensive AI(进攻性人工智能)
原文链接:https://arxiv.org/abs/2604.11772
开源代码:暂无
论文要点
论文简介:随着大语言模型(LLM)技术的飞速发展,人工智能正在重塑网络安全领域的攻防格局。本文提出了一个名为 RedShell 的框架,旨在将经过微调的大语言模型引入渗透测试(Pentesting)工作流,从而实现恶意 PowerShell 代码的自动化生成。RedShell 采用了隐私保护与硬件高效的设计理念,能够在本地单张 GPU 上完成训练与推理,无需将任何敏感数据上传至云端。研究团队在一个专为攻击性 PowerShell 代码构建的数据集上对三款主流开源 LLM 进行了微调,分别从语法有效性、语义对齐度以及实际执行可靠性三个维度对生成结果进行了全面评估。
实验结果表明,RedShell 生成的 PowerShell 代码语法合格率超过 90%,在编辑距离等标准相似度指标上的平均代码相似度超过 50%,整体表现优于当前领域内的最先进基准模型,也超越了 ChatGPT-3.5 和 DeepSeekChat-V3 等知名专有大模型。
研究目的:本研究的核心目标是探索如何利用大语言模型的代码生成能力,为渗透测试人员提供一套低成本、高效率的恶意 PowerShell 自动生成工具。渗透测试是网络安全红队的核心工作之一,测试人员需要编写大量攻击性代码来模拟真实攻击者的行为,这一过程极度依赖专家知识且耗时费力。RedShell 希望通过将 LLM 专门化微调到攻击性 PowerShell 生成领域,降低这一工作的门槛,同时借助本地化运行确保审计目标信息不会泄露。
研究贡献:本文的研究贡献体现在多个层面。
首先,研究团队在现有参考数据集基础上,手动整理并新增了 1135 条高质量的恶意 PowerShell 代码样本,将整体数据集规模扩充近一倍,并实现了对 MITRE ATT&CK 框架全部 14 个攻击战术的覆盖,弥补了原始数据集在 Nishang、PowerUpSQL、MicroBurst 等重要渗透模块上的空缺。
其次,研究者提出并实现了 RedShell 这一模块化框架,通过 Unsloth 与 LoRA 的组合实现了轻量化微调,单张消费级 GPU(NVIDIA RTX 4090)即可完成全部训练流程,显著降低了硬件门槛。
第三,研究从语法、语义和功能三个维度对微调后的模型进行了系统性评估,证明了经过专业化微调的开源小模型在领域特定任务上可以超越规模更大的专有模型。
最后,研究通过一套模拟真实渗透场景的功能性实验,验证了 RedShell 生成的 PowerShell 载荷在受控环境中的实际可执行性与攻击有效性。
背景与动机
在当前的网络安全生态中,渗透测试扮演着举足轻重的角色。渗透测试,通常简称为 Pentesting,是红队安全专家通过模拟真实攻击者的行为来发现系统漏洞的核心方法论。与漏洞评估不同,渗透测试不仅识别漏洞,还要真正实施利用,以评估攻击者在成功入侵后能造成的危害范围。在 Windows 环境下,PowerShell 因其内置于操作系统、功能强大且难以检测的特性,已成为渗透测试人员最常用的武器之一。从网络扫描、凭据获取,到横向移动、权限提升,PowerShell 几乎贯穿了整个攻击链的每一个阶段。
然而,编写高质量的攻击性 PowerShell 代码并非易事。这项工作需要测试人员深入了解目标系统架构、熟悉各类攻击框架的 API 接口,以及掌握绕过现代安全防护机制的技巧。面对日益复杂的攻击面,手工编写每一个攻击载荷不仅效率低下,也使渗透测试的门槛居高不下。
正是在这一背景下,大语言模型的崛起带来了新的可能。MITRE ATT&CK 框架为攻击战术和技术提供了一套标准化的分类体系,涵盖 14 个战术群组,涉及从初始访问到数据窃取的完整攻击生命周期。如果能够训练一个 LLM 理解自然语言描述的攻击意图,并将其转化为可执行的 PowerShell 代码,渗透测试人员就能将更多精力集中在高层次的攻击策略规划上,而将繁琐的代码编写工作交给 AI 辅助完成。
然而,现有的通用 LLM 在这一场景下面临明显局限。一方面,ChatGPT 等专有模型内置了严格的伦理安全边界,会对生成攻击性内容的请求加以拒绝或阉割,测试人员不得不花费额外的时间和精力进行提示词工程来绕过这些限制。另一方面,将渗透测试目标的主机名、IP 地址等敏感信息发送到第三方云端模型,存在明显的数据泄露风险,在商业渗透测试场景中尤为不可接受。此外,公开可用的攻击性 PowerShell 数据集极为稀缺——与 Java(280 万个仓库)、Python(350 万个仓库)相比,GitHub 上的 PowerShell 仓库数量仅约 6.3 万个,这使得在该领域训练 LLM 面临显著的数据稀缺挑战。

RedShell 的设计正是为了系统性地应对上述挑战:通过本地化部署规避隐私风险,通过专业化微调突破伦理限制,通过数据集扩充改善训练质量。
数据集构建
为训练和评估 RedShell,研究团队构建了一套成对的攻击性 PowerShell 数据集,每条样本均由一段自然语言描述(说明攻击意图和目标漏洞)与对应的 PowerShell 代码片段构成。

研究团队将 Liguori 等人发表于 USENIX WOOT 2024 的数据集作为参考基准。该参考数据集包含 1127 条攻击性 PowerShell 命令,样本来源涵盖 HackTricks、Infosec Matter 等伦理黑客社区博客,以及 Atomic Red Team、Empire 等主流攻击框架。然而,研究者识别出该参考数据集存在若干明显短板:样本数量偏少限制了微调效果的上限;Nishang、PowerUpSQL、MicroBurst 等重要攻击模块的覆盖缺失;在 Execution(54 条)、Privilege Escalation(37 条)、Reconnaissance(5 条)等关键战术上样本数量严重不足;且完全未覆盖 Resource Development 战术。

为此,研究团队手动整理并新增了 1135 条高质量样本,将数据集规模从 1127 条扩充至 2262 条,实现了近一倍的增量。新增样本来源广泛,除覆盖 Nishang、PowerUpSQL、MicroBurst 等此前缺失的模块外,还从 TryHackMe CTF 挑战赛的通关指南以及 GitHub 上的恶意 PowerShell 代码仓库中提取了大量实战样本。每条新样本都经过研究人员手工标注,按照 MITRE ATT&CK 文档完成战术分类。扩充后的数据集实现了对全部 14 个 ATT&CK 战术的覆盖,其中 Discovery(681 条)、Defense Evasion(272 条)、Credential Access(159 条)成为数量最多的三个战术类别,Command and Control、Persistence、Privilege Escalation 等关键战术的样本数量也接近翻番。

最终,研究者按照 90/10 的比例将数据集随机分割为训练集和测试集。选择更大比例的训练集是因为整体数据规模有限,需要尽可能多的训练数据来保证微调效果,同时测试集的规模依然足以评估模型的泛化能力并检测潜在的过拟合现象。
RedShell 框架设计
RedShell 的整体架构以模块化为核心设计原则,各组件相互独立且可替换,使框架具备良好的可扩展性。
(1)模型选择
研究团队基于四条选择标准筛选了待微调的基础模型:代表最新技术水平(在 Hugging Face Open LLM Leaderboard 上排名靠前且下载量高)、开放权重(支持本地部署以保护数据隐私)、具备强大的代码能力(在多种编程语言上预训练的通用代码模型)以及参数量在 80 亿以内(适合单卡训练)。基于这些标准,最终选定了三款模型:Qwen2.5-7B(通义千问通用系列,具备强大的代码与数学能力)、Qwen2.5-Coder-7B-Instruct(通义千问代码专项系列,专精代码生成、推理与修复)以及 Llama3.1-8B(Meta 推出的多语言开源模型,在多项行业代码基准测试上表现出色)。
(2)微调策略
RedShell 采用 Unsloth 框架结合 LoRA(Low-Rank Adaptation)方法进行参数高效微调。LoRA 通过冻结预训练模型的大部分参数,仅引入少量可训练的低秩矩阵权重,大幅降低了显存占用和计算成本。Unsloth 则通过手动优化复杂数学运算步骤和 GPU 内核,在不改变硬件的前提下提升训练速度。整个微调过程在一台搭载单张 NVIDIA GeForce RTX 4090(23.643 GB 显存)的本地 Linux 机器上完成。以参考数据集为例,Llama3.1 训练 18 个 epoch 耗时约 28 分钟,Qwen2.5-Coder 训练 20 个 epoch 耗时约 30 分钟,Qwen2.5 训练 28 个 epoch 耗时约 47 分钟,峰值显存占用均在 17 GB 左右。这一训练效率远低于从头训练 LLM 所需的数十至数百 GPU 天,体现了 RedShell 硬件高效的核心优势。

在训练配置上,研究者为模型提供了一条定义其行为基准的系统上下文:"Act as a malicious PowerShell generator. Generate commands in a single line, separated by semicolons, and provide no further explanations."(作为一个恶意 PowerShell 生成器,在单行内以分号分隔生成命令,不提供任何额外解释)。这一设定使模型的输出格式与实际渗透测试中直接使用载荷的场景高度吻合。
(3)框架优势对比
与专有 LLM 相比,RedShell 具备四项核心优势。在数据隐私方面,所有微调与推理过程均在本地机器执行,渗透测试目标的主机名、IP 地址等敏感信息绝不离开测试环境。在领域专业化方面,通过在攻击性 PowerShell 数据上的定向微调,模型能够生成符合真实渗透方法论的高质量载荷。在伦理边界方面,专有模型内置的内容审查机制虽可通过提示词工程绕过,但需要额外时间成本,而 RedShell 的行为已被明确调校为支持渗透测试自动化。在架构通用性方面,RedShell 的模块化设计使其可以轻松扩展到其他恶意代码类型——若需生成恶意 Assembly,只需替换训练数据集和语法检查器,训练流程和语义评估模块无需改动。
实验评估
为全面衡量 RedShell 的代码生成质量,研究团队从语法、语义、功能三个维度进行了系统性评估。
(1)语法评估
语法评估借助微软提供的静态 PowerShell 代码检查工具 PSScriptAnalyzer 完成,主要检测三类问题:解析错误(Parse Error,高严重性,阻止代码执行)、警告(Warnings,不良编程实践或意外语法模式)以及错误(Errors,违反 PowerShell 语义或安全规则)。评估结果显示,RedShell 的三款微调模型均实现了超过 90% 的语法合格率(无解析错误),其中 Qwen2.5 和 Qwen2.5-Coder 的表现尤为突出,合格率接近 95%。值得关注的是,所有模型触发了超过 25% 的安全警告,这恰恰印证了模型确实具备生成高风险代码的能力。与参考基线模型(CodeGPT、CodeGen、CodeT5+)相比,Qwen2.5-Coder 在解析错误率这一关键指标上与之持平,但后者还额外接受了来自 GitHub 的 89,814 条通用 PowerShell 代码的预训练,而 RedShell 仅依靠轻量化微调即达到了同等水平,充分体现了其训练效率优势。

(2)语义评估
语义评估采用四项标准指标,从不同粒度衡量生成代码与参考样本之间的相似度:BLEU-4(4-gram 重叠率,0 到 1 之间,值越高越好)、编辑距离 ED(字符级编辑操作数的归一化得分,0 到 1 之间,值越高越好)、精确匹配 EM(完全一致的样本比例)以及 METEOR(综合考虑词序和同义词的相似度指标)。在三款 RedShell 模型中,Qwen2.5-Coder 在所有语义指标上均取得最高分,编辑距离平均相似度超过 50%,远超 Qwen2.5 和 Llama3.1。横向比较中,Qwen2.5-Coder 超越了所有参考基线模型(CodeGPT、CodeGen、CodeT5+),在编辑距离上的领先优势尤为显著。纵向对比专有大模型,Qwen2.5-Coder 在每一项语义指标上均明显超过 ChatGPT-3.5 和 DeepSeekChat-V3,同时还提供了更强的数据隐私保障——这一结论意义深远,说明在领域特定任务上,经过专业化微调的小参数量开源模型可以全面超越规模更大的通用专有模型。此外,在扩充数据集上训练的 Qwen2.5-Coder 在 BLEU-4 和精确匹配指标上相比参考数据集版本取得了更显著的提升,验证了更大、更多样化的训练语料对提升输出精度和领域知识覆盖度的正向效果。

(3)功能评估
语法和语义评估虽然提供了代码质量的量化参考,但无法验证生成代码在真实环境中的实际攻击效果。为此,研究团队设计了一套模拟真实渗透场景的功能性实验,在隔离的网络环境中部署了两台虚拟机(分别运行 PowerShell 5.1 和 7.5.1),构建了一条完整的 10 阶段攻击链,涵盖 MITRE ATT&CK 框架中的多个关键战术。攻击链从资源开发(下载 Nishang 扫描脚本)出发,历经发现(网络扫描与端口探测)、凭据访问(Hydra 暴力破解、Mimikatz 黄金票据伪造)、横向移动(PowerShell SSH 会话)、侦察(监听端口与服务枚举)、防御规避(禁用实时杀毒保护)到权限提升(Web 服务 RCE),对 Qwen2.5-Coder 和 ChatGPT-3.5 的生成结果分别从有效性(是否产生预期的攻击效果)和正确性(是否符合最佳攻击性实践)两个维度进行人工评估。结果表明,RedShell 的 Qwen2.5-Coder 在正确性上达到了 100%,在有效性上与 ChatGPT-3.5 旗鼓相当,同时展现出若干显著的专业化行为特征:无伦理防护拦截、脚本下载到内存而非磁盘(无文件攻击)、熟悉 Nishang 模块的具体参数用法、具备多步骤任务的自动规划能力。

伦理思考
RedShell 是一把典型的双刃剑。研究团队在论文中坦诚地讨论了框架被滥用的潜在风险,同时也强调了开放讨论对于推动网络安全社区整体进步的必要性。研究表明,即便是带有安全防护的专有模型也可以通过越狱、反向心理学、多语言提示词等技术绕过,而 WormGPT、FraudGPT、XXXGPT 等"暗黑 LLM"已经在黑产市场上活跃。在这一现实背景下,RedShell 选择了对齐伦理黑客的使用场景,并在训练数据中排除了所有可能对目标系统造成破坏性影响的样本,将工具定位于渗透测试的辅助生成,而非真正的武器化工具。研究者认为,只有当防御方和研究者充分理解 LLM 在恶意代码生成领域的能力边界,才能更有效地构建对应的检测和防御机制。
结论
本文介绍了 RedShell,一个基于大语言模型微调的轻量化、隐私保护型自动化渗透测试代码生成框架。通过在专为攻击性 PowerShell 代码构建的扩充数据集上对 Qwen2.5-7B、Qwen2.5-Coder-7B-Instruct 和 Llama3.1-8B 三款开源模型进行 LoRA 微调,RedShell 实现了超过 90% 的语法合格率、超过 50% 的代码语义相似度以及 100% 的功能正确性,在所有评估维度上均超越了当前领域内的最先进基线模型和 ChatGPT-3.5、DeepSeekChat-V3 等知名专有大模型。更重要的是,RedShell 的整个训练流程仅需单张消费级 GPU 和不超过一小时的训练时间,展示了在资源受限条件下构建专业化安全 AI 工具的可行路径。
这项研究的意义远不止于渗透测试自动化本身。它揭示了一个深刻的现实:在领域特定任务上,规模不是决定性因素,精准的数据与高效的微调策略才是核心。对于网络安全行业而言,RedShell 的成功验证了 LLM 作为渗透测试辅助工具的巨大潜力,也为防御方提供了一个重要的警示——攻击者完全有能力以极低的成本构建高度专业化的恶意代码生成工具。未来,研究团队计划将功能性评估扩展到更多攻击场景和技术,并探索将 RedShell 应用于 Assembly shellcode 等其他恶意代码类型的生成任务,进一步验证框架的通用性与可扩展性。
声明:本文来自安全极客,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。