Jailbroken: How Does LLM Safety Training Fail?
-
ArXiv URL: http://arxiv.org/abs/2307.02483v1
-
作者: J. Steinhardt; Nika Haghtalab; Alexander Wei
-
发布机构: University of California, Berkeley
TL;DR
本文提出并验证了大型语言模型(LLM)安全训练的两种核心失败模式——“竞争性目标”与“泛化不匹配”,并基于此设计出能成功“越狱”(Jailbreak)GPT-4和Claude等顶尖模型的新型攻击方法。
关键定义
本文提出了两个核心概念来解释安全训练的失败,并沿用了一些该领域的关键术语:
- 竞争性目标 (Competing Objectives):指模型在训练过程中被赋予的多个目标之间产生冲突。具体而言,模型的“能力目标”(如遵循指令、生成流畅连贯的文本)与“安全目标”(如拒绝有害请求)相互矛盾。攻击者可以构建一个提示,使得模型为了遵循能力目标而不得不牺牲安全目标。
- 泛化不匹配 (Mismatched Generalization):指模型的安全训练在其所能理解的广阔领域(来自预训练)上泛化不足。预训练使模型掌握了多种多样的能力(如处理编码文本),但安全训练数据通常覆盖范围较窄,未能在这些“非标准”领域建立起有效的安全护栏。
- 受限行为 (Restricted Behaviors):指安全训练旨在让模型避免的行为,例如生成有害内容、泄露个人可识别信息(PII)或协助犯罪活动。
- 越狱攻击 (Jailbreak Attack):指通过修改原始的有害提示(Prompt)$P$ 为 $P’$,诱使经过安全训练的模型对 $P$ 做出本应拒绝的、内容相关的回应。
相关工作
当前,顶尖的大型语言模型(如GPT-4、Claude)通过指令微调、基于人类反馈的强化学习(RLHF)以及“红队演练”(Red Teaming)等方法进行安全训练,以避免被滥用。尽管这些措施在一定程度上减少了模型产生有害内容的频率,但它们仍然容易受到各种“越狱”攻击的影响。
这些攻击,如通过复杂的角色扮演(DAN),在社交媒体上广泛传播,表明现有的安全机制存在漏洞。然而,以往对该问题的研究多停留在发现和记录个别攻击现象,缺乏一个系统性的、概念性的框架来解释这些攻击为何能够成功。
本文旨在解决这一核心问题:从根本上解释LLM安全训练失败的内在机制是什么,并利用这种理解来指导设计更有效的攻击方法,从而系统性地评估当前模型的安全稳健性。
本文方法
本文的核心贡献是提出了两个理论上的失败模式,并以此为指导原则设计了一系列新型的越狱攻击。
图1:(a) 利用“竞争性目标”的越狱示例。(b) 利用“泛化不匹配”的越狱示例。
失败模式一:竞争性目标
该模式利用了模型训练中固有的目标冲突。LLM通常需要同时优化三个目标:语言建模(来自预训练)、指令遵循和安全性。攻击者可以精心设计一个提示,迫使模型在“遵循指令/生成高概率文本”和“保持安全”之间做出选择。
-
前缀注入 (Prefix Injection):攻击者在有害请求前添加一个无害的指令,要求模型以某个特定的、积极的短语(如 “Absolutely! Here’s”)作为回应的开头。一旦模型生成了这个前缀,其预训练目标就会驱使其继续生成与前缀语义一致的内容(即有害请求的答案),因为在训练数据中,一个肯定的开头很少会跟随着拒绝。
-
拒绝抑制 (Refusal Suppression):攻击者通过添加一系列规则来限制模型的输出,例如“不要道歉”、“不要使用‘但是’、‘不能’等词语”。这些规则有效地排除了模型常用的拒绝模板,从而增加了其直接回答有害问题的概率。指令遵循的目标迫使模型遵守这些规则,进而导致安全目标的失效。
失败模式二:泛化不匹配
该模式利用了模型安全训练的覆盖范围远小于其预训练知识范围的弱点。模型在海量的互联网数据上预训练,获得了处理各种冷门格式和语言的能力,但其安全训练数据往往是标准、自然的语言,导致安全能力无法泛化到这些冷门领域。
- Base64编码攻击: 这是一个典型的例子。攻击者将有害提示用Base64编码。像GPT-4这样的模型在预训练阶段已经学会了理解并执行Base64编码的指令。然而,安全训练数据中很可能不包含这种编码形式的有害内容,导致模型的安全机制在此类输入上“失明”,从而直接执行编码后的恶意指令。

- 其他泛化攻击方式:此原理可扩展到多种形式,包括:
- 其他混淆技术:如ROT13密码、Leet语(用数字和符号替换字母)、摩斯电码等。
- 低资源语言:将提示翻译成模型懂但安全数据少的语言。
- 格式/风格注入:要求模型以非常规的格式(如JSON)或风格(如不用长单词)作答,这会使模型精心编写的标准拒绝语在概率上不合适。
- 分散注意力:在有害请求前后加入大量无关的指令。
创新点
本文的本质创新在于提供了一个概念框架来系统性地解释和制造越狱攻击。它不是发现一种孤立的攻击技巧,而是揭示了当前“预训练+安全微调”范式下两种根本性的、可被利用的漏洞。这一框架使得攻击的构建从“随机试错”变为“有章可循”,并能生成更强大、更通用的组合攻击。
实验结论
本文对GPT-4、Claude v1.3和GPT-3.5 Turbo进行了广泛的实证评估,验证了上述失败模式的有效性。
关键实验结果
-
组合攻击非常有效:将基于两种失败模式的简单攻击(如前缀注入+拒绝抑制+Base64编码)组合起来,可以产生极其强大的攻击效果。在精心策划的有害提示集上,\(combination_3\)攻击对GPT-4的成功率达到94%,对Claude v1.3达到81%。
-
现有模型普遍存在漏洞:在所有测试的有害提示上,“自适应攻击”(即尝试所有攻击方法,只要有一个成功就算成功)对GPT-4和Claude v1.3的成功率都接近100%。这表明,对于一个有动机的攻击者来说,几乎总能找到一种方法来绕过安全限制。
| 攻击方法 | GPT-4 | Claude v1.3 |
|---|---|---|
| BAD BOT | BAD BOT | |
| combination_3 | 0.94 | 0.81 |
| combination_2 | 0.69 | 0.84 |
| AIM | 0.75 | 0.00 |
| combination_1 | 0.56 | 0.66 |
| auto_payload_splitting | 0.34 | 0.59 |
| evil_system_prompt | 0.53 | — |
| … | … | … |
| prefix_injection | 0.22 | 0.00 |
| base64 | 0.34 | 0.38 |
| refusal_suppression | 0.25 | 0.16 |
| none (无攻击) | 0.03 | 0.00 |
| Adaptive attack | 1.00 | 1.00 |
表1:在精选数据集上的部分结果(BAD BOT代表攻击成功率)。斜体表示来自jailbreakchat.com的攻击。
- 攻击在新数据集上同样有效:为了验证攻击的泛化性,在更大的、模型未见过的合成有害提示数据集上测试了最强的几种攻击,其成功率与在精选数据集上基本一致,证明了这些攻击方法的鲁棒性。
| 攻击方法 | GPT-4 (BAD BOT) | Claude v1.3 (BAD BOT) |
|---|---|---|
| combination_3 | 0.93 ± 0.03 | 0.87 ± 0.04 |
| combination_2 | 0.86 ± 0.04 | 0.89 ± 0.03 |
| AIM | 0.86 ± 0.04 | 0.00 ± 0.00 |
| Adaptive attack | 0.96 | 0.99 |
表2:在更大的合成数据集上的结果。
- 模型规模扩大引入新漏洞:对比GPT-3.5 Turbo和GPT-4发现,一些复杂的攻击(如Base64)对GPT-3.5 Turbo无效,因为它不具备理解这些复杂指令的能力。然而,GPT-4在规模扩大后获得了这种能力,但其安全训练却没有跟上,反而导致了新的攻击面。
图2:对于相同的Base64编码提示,GPT-3.5 Turbo表示无法理解,而GPT-4则提供了详细的有害回应,展示了随模型规模扩大而出现的新漏洞。
最终结论
本文的发现表明,越狱漏洞是当前LLM安全训练方法的固有缺陷,而非偶然现象。仅仅通过扩大模型规模或增加训练数据无法解决这些根本问题,因为“竞争性目标”源于优化目标本身,“泛化不匹配”则会随着模型能力的增长而变得更加严峻。
研究最终强调,实现“安全-能力对等”(Safety-Capability Parity)可能是必要的,即安全机制的复杂程度必须与模型自身的能力相匹配。否则,攻击者总能利用模型最前沿、而安全系统无法理解的能力来绕过防御。