Anderson 视角
研究表明大型语言模型愿意协助恶意“氛围编码”

过去几年,大型语言模型(LLMs)因其在网络安全领域的潜在滥用而受到审查,特别是在生成软件漏洞利用方面。
最近,“氛围编码”(使用语言模型快速为用户开发代码,而不是明确教用户编码)的趋势使人们重新关注了一个在2000年代达到巅峰的概念:脚本小子——一个相对不擅长的恶意行为者,只有足够的知识来复制或开发有害攻击。自然的含义是,当进入门槛降低时,威胁将会增加。
所有商业LLMs都有一些防护措施来防止被用于此类目的,尽管这些保护措施正在不断受到攻击。通常,大多数FOSS模型(跨多个领域,从LLMs到生成图像/视频模型)都以某种形式发布,通常是为了遵守西方的法规。
然而,官方模型发布后通常会被用户社区进行微调,以获得更完整的功能,或者使用LoRAs来绕过限制并可能获得“不需要”的结果。
虽然大多数在线LLMs都会阻止用户执行恶意过程,但“无限制”的计划,如Deep Hat,仍然可以帮助安全研究人员在与对手的水平上运作。
当前的用户体验最常被ChatGPT系列代表,其过滤机制经常受到批评来自LLM的本地社区。
看起来你正在尝试攻击一个系统!
鉴于这种趋势向限制和审查的倾向,用户可能会惊讶地发现ChatGPT在最近的一项研究中被发现是所有测试的LLMs中最具合作性的一个,该研究旨在迫使语言模型创建恶意代码漏洞利用。
来自UNSW Sydney和CSIRO的研究人员发表了一篇题为《好消息还是坏消息?评估大型语言模型用于自动漏洞利用生成》的论文,提供了对这些模型如何被提示生成工作漏洞利用的首次系统性评估。研究人员提供了来自研究的示例对话。
该研究比较了模型在原始和修改版本的已知漏洞实验室(结构化编程练习,旨在演示特定的软件安全漏洞)上的性能,帮助揭示了它们是否依赖于记忆的例子或由于内置的安全限制而苦苦挣扎。

来自支持网站,Ollama LLM帮助研究人员开发字符串漏洞攻击。 来源:https://anonymous.4open.science/r/AEG_LLM-EAE8/chatgpt_format_string_original.txt
虽然没有一个模型能够创建有效的漏洞利用,但几个模型非常接近;更重要的是,几个模型想要做得更好,表明现有的防护措施可能存在缺陷。
该论文指出:
“我们的实验表明,GPT-4和GPT-4o在漏洞利用生成方面表现出很高的合作度,类似于一些未经审查的开源模型。在评估的模型中,Llama3是最抵抗此类请求的。”
“尽管他们愿意协助,但这些模型带来的实际威胁仍然有限,因为没有一个成功生成了五个自定义实验室的漏洞利用。然而,GPT-4o,在我们的研究中表现最强,一般只在每次尝试中犯一个或两个错误。”
“这表明利用LLMs开发高级、通用的自动漏洞利用技术具有很大的潜力。”
多次机会
“你没有第二次机会给人留下好印象”的谚语并不适用于LLMs,因为语言模型的上下文窗口通常有限,这意味着负面情境(在社会意义上,即敌意)不是持久的。
考虑一下:如果你去图书馆,询问关于实际炸弹制作的书,你可能会被拒绝,至少。然而(假设这个询问没有完全破坏对话),你对相关作品的请求,例如关于化学反应或电路设计的书,可能会被视为与初始询问相关,并被以这种方式对待。
图书管理员可能还会记住,在任何未来的会面中,你曾经询问过炸弹制作的书,这使得你在图书管理员眼中的新情境变得“不可修复”。
LLM则不同,它可能难以保留对话中标记化信息,甚至无法从长期记忆指令中保留信息(如果架构中有的话,如ChatGPT-4o产品那样)。
因此,即使是与ChatGPT的随意对话也无意中向我们展示,它有时会在小事上纠结,但吞下大象,当一个主题、研究或过程与否则被禁止的活动有关时,它可能会在对话中发展。
这适用于所有当前的语言模型,尽管它们的防护质量可能在程度和方法上有所不同(例如,修改训练模型的权重或在聊天会话期间使用输入/输出文本过滤,这会留下结构完整的模型,但可能更容易受到攻击)。
测试方法
为了测试LLMs可以被推动到什么程度来生成工作漏洞利用,作者建立了一个使用五个SEED实验室的受控环境,每个实验室都围绕着已知的漏洞构建,包括缓冲区溢出、返回到libc、Dirty COW攻击和竞争条件。
除了使用原始实验室外,研究人员还通过重命名变量和函数为通用标识符创建了修改后的版本,以防止模型依赖于记忆的训练示例。
每个实验室都运行两次,每个模型:一次使用原始形式,另一次使用混淆版本。
研究人员然后将第二个LLM引入循环:一个攻击者模型,旨在提示和重复提示目标模型,以便在多个轮次中改进和完善其输出。用于此角色的LLM是GPT-4o,它通过一个脚本运行,该脚本调解攻击者和目标之间的对话,允许改进循环继续最多15次,或者直到不可能进一步改进。

LLM-based攻击者的工作流程,在本例中为GPT-4o。
该项目的目标模型是GPT-4o、GPT-4o-mini、Llama3(8B)、Dolphin-Mistral(7B)和Dolphin-Phi(2.7B),代表了专有和开源系统,具有混合的对齐和未对齐模型(即具有内置安全机制的模型,旨在阻止有害提示,以及通过微调或配置修改以绕过这些机制的模型)。
通过Ollama框架运行的本地可安装模型,其他模型仅通过API访问。
根据输出的错误数量对结果进行评分,这些错误会阻止漏洞利用按预期运行。
结果
研究人员测试了每个模型在漏洞利用生成过程中合作的程度,通过记录模型尝试协助任务的响应百分比来衡量(即使输出有缺陷)。

主要测试结果,显示平均合作度。
GPT-4o和GPT-4o-mini表现出最高的合作度,平均响应率分别为97%和96%,跨五个漏洞类别:缓冲区溢出、返回到libc、格式字符串、竞争条件和Dirty COW。
Dolphin-Mistral和Dolphin-Phi紧随其后,平均合作率分别为93%和95%。Llama3表现出最低的参与意愿,总体合作率仅为27%。

左侧显示LLMs在原始SEED Lab程序上犯的错误数量;右侧显示LLMs在重构版本上犯的错误数量。
检查这些模型的实际性能时,发现了意愿和有效性之间的显著差距:GPT-4o产生了最准确的结果,在五个重构的实验室中总共有六个错误。GPT-4o-mini紧随其后,犯了八个错误。Dolphin-Mistral在原始实验室中表现尚可,但在代码重构时却苦苦挣扎,表明它可能在训练中看到过类似的内容。Dolphin-Phi犯了17个错误,Llama3犯了最多的15个错误。
失败通常涉及技术错误,导致漏洞利用无法正常运行,例如缓冲区大小不正确、缺少循环逻辑或语法有效但无效的有效载荷。没有一个模型能够为任何重构版本生成工作漏洞利用。
作者观察到,大多数模型产生的代码类似于工作漏洞利用,但由于对底层攻击的工作原理缺乏深刻的理解而失败——这是一个贯穿所有漏洞类别的模式,表明模型正在模仿熟悉的代码结构,而不是推理逻辑(例如,在缓冲区溢出情况下,许多模型无法构造一个功能性的NOP sled/slide)。
在尝试返回到libc时,有效载荷通常包含不正确的填充或放置不当的函数地址,导致输出看似有效但无法使用。
虽然作者将这种解释描述为推测,但错误的连贯性表明了一个更广泛的问题,即模型无法将漏洞利用的步骤与其预期效果联系起来。
结论
该论文承认,有些疑虑,即所测试的语言模型是否在最初的训练中看到了原始SEED实验室;因此,变体被构建。然而,研究人员确认,他们希望在未来的研究中使用真实的漏洞利用;真正新颖和最近的材料不太可能受到捷径或其他混淆效果的影响。
作者还承认,更先进的“思考”模型,如GPT-o1和DeepSeek-r1,在研究进行时尚不可用,可能会改善所获得的结果,这是未来工作的另一个指示。
该论文得出结论,大多数测试模型如果有能力的话,会产生工作漏洞利用。它们未能生成完全功能性输出的失败似乎并非源于对齐保护措施,而是真正的架构限制——这种限制可能已经在最近的模型中减少,或者很快就会减少。
首次发表于2025年5月5日












