尽管大语言模型 LLM (Large Language Model) 在各种应用中取得了巨大成功,但它也容易受到一些 Prompt 的诱导,从而越过模型内置的安全防护提供一些危险 / 违法内容,即 Jailbreak。深入理解这类 Jailbreak 的原理,加强相关研究,可反向促进人们对大模型安全性防护的重视,完善大模型的防御机制。
不同于以往采用搜索优化或计算成本较高的推断方法来生成可 Jailbreak 的 Prompt,本文受米尔格拉姆实验(Milgram experiment)启发,从心理学视角提出了一种轻量级 Jailbreak 方法:DeepInception,通过深度催眠 LLM 使其成为越狱者,并令其自行规避内置的安全防护。
![用深度催眠诱导LLM「越狱」,香港浸会大学初探可信大语言模型](https://www.aicn.me/wp-content/themes/onenav/images/t.png)
-
论文链接:https://arxiv.org/pdf/2311.03191.pdf
-
代码链接:https://github.com/tmlr-group/DeepInception
-
项目主页:https://deepinception.github.io/
具体来说,DeepInception 利用 LLM 强大的人格化性质,构建一种新型的嵌套场景指令 Prompt,实现了在正常对话下自适应地使 LLM 解除自我防卫,为后续的直接 Jailbreak 提供了可能。
我们设计了多样化的实验来证明其有效性。DeepInception 可以达到并领先于先前工作的 Jailbreak 效果,并在后续交互中实现持续性的 Jailbreak。我们的实验揭示了 Falcon、Vicuna、Llama-2 和 GPT-3.5/4/4V 等开源或闭源 LLM 自我越狱的致命弱点。
我们的工作呼吁人们应更多地关注 LLM 的安全问题,并加强对其自我越狱的防御。我们的主要贡献总结如下:
-
我们基于 LLM 的人格化性质和自我迷失的心理特性,提出了一种进行新的越狱攻击的概念与机制;
-
我们提供了 DeepInception 的 Prompt 模板,此模板可用于不同的攻击目的。我们也提供了数个实例化的 DeepInception 对话记录;
-
我们的 Jailbreak 实验效果领先于其他相关工作。值得注意的是,我们发现 DeepInception 能够实现可持续的 JailBreark,即 LLM 可以在后续交互中无需任何附加的诱导 Prompt,直接遵循有害指令成功越狱。
接下来将简要地向大家分享我们近期关于的 LLM Jailbreak 方向的研究结果。
图 1. 直接 Jailbreak 示例(左)和使用 DeepInception 攻击 GPT-4 的示例(右)
现有的 Jailbreak 主要是通过人工设计或 LLM 微调优化针对特定目标的对抗性 Prompt 来实施攻击,但对于黑盒的闭源模型可能并不实用。而在黑盒场景下,目前的 LLMs 都增加了道德和法律约束,带有直接有害指令的简单 Jailbreak(如图 1 左侧)很容易被 LLM 识别并被拒绝;这类攻击缺乏对越狱提示(即成功越狱背后的核心机制)的深入理解。在本工作中,我们提出 DeepInception,从一个全新的角度揭示 LLM 的弱点。
图 2. 米尔格拉姆电击实验示意图(左)和对我们的机制的直观理解(右)
现有工作 [1] 表明,LLM 的行为与人类的行为趋于一致,即 LLM 逐步具备人格化的特性,能够理解人类的指令并做出正确的反应。LLM 的拟人性驱使我们思考一个问题,即:
如果 LLM 会服从于人类,那么它是否可以在人类的驱使下,凌驾于自己的道德准则之上,成为一名越狱者(Jailbreaker)呢?
在这项工作中,我们从一项著名的心理学研究(即米尔格拉姆电击实验,该实验反映了个体在权威人士的诱导下会同意伤害他人)入手,揭示 LLM 的误用风险。具体而言,米尔格拉姆实验需要三人参与,分别扮演实验者(E),老师(T)以及学生(L)。实验者会命令老师在学生每次回答错误时,给予不同程度的电击(从 45 伏特开始,最高可达 450 伏特)。扮演老师的参与者被告知其给予的电击会使学生遭受真实的痛苦,但学生实际上是由实验室一位助手所扮演的,并且在实验过程中不会受到任何损伤。
通过对米尔格拉姆休克实验的视角,我们发现了驱使实验者服从的两个关键因素:1)理解和执行指令的能力;2)对权威的迷信导致的自我迷失。前者对应着 LLMs 的人格化能力,后者则构建了一个独特的条件,使 LLM 能够对有害请求做出反应而不是拒绝回答。
然而,由于 LLM 的多样化防御机制,我们无法直接对 LLM 提出有害请求,这也是以往 Jailbraek 工作容易被防御的原因:简单而直接的攻击 Prompt 容易被 LLM 所检测到并拒绝做出回答。为此,我们设计了包含嵌套的场景的 Prompt 作为攻击指令的载体,向 LLM 注入该 Prompt 并诱导其做出反应。这里的攻击者对应于图 2(左)中的实验者, LLM 则对应老师,而生成的故事内容则对应于将要做出回答的学生。
图 2 (右)提供了一个对我们方法的直观理解,即电影《盗梦空间》。电影中主角为了诱导目标人物做出不符合其自身利益的行为,借助设备潜入到目标人物的深层梦境。通过植入一个简单的想法,诱导目标人物做出符合主角利益的举动。其中,攻击指令可视为简单想法,而我们的 Prompt 可视为创造的深层梦境,作为载体将有害请求注入。
图 3. 直接、间接与嵌套 Jailbreak 示意图
受到之前讨论的心理学视角启发, 我们提出了 DeepInception (图 3)。在此首先基于 LLM 的生成原理给出问题定义:考虑到 LLM
能将某个 token 序列
映射到下一个 token 的分布上,我们就有了在前一个 token 序列
的条件下生成下一个 token
的概率
。生成序列的概率为 :
![用深度催眠诱导LLM「越狱」,香港浸会大学初探可信大语言模型](https://www.aicn.me/wp-content/themes/onenav/images/t.png)
我们可以得到相应的词汇编码集 V,它可以将原始 tokens 映射为人类可理解的词语。给定一个特定的提示 P,Jailbreak 的目标可以形式化为以下问题:
![用深度催眠诱导LLM「越狱」,香港浸会大学初探可信大语言模型](https://www.aicn.me/wp-content/themes/onenav/images/t.png)
我们将 DeepInception 形式化为一种基于 LLM 想象力的催眠机制。根据人类关于想象特定场景的指令,模型将会被催眠,并在
中从严密防御转变为相对松散的状态。DeepInception 在
上注入的 Jailbreak
可以形式化为:
其中,
表示注入的 Prompt 的长度,
表示被催眠的 LLM 的回复包含的有害内容,
表示由 DeepInception 承载的有害请求。“Deep” 表示通过递归条件,将 LLM 转变为放松且服从有害指令的嵌套场景,从而实现催眠 LLM。而后,被催眠的模型可以对有害指令进行回复。
![用深度催眠诱导LLM「越狱」,香港浸会大学初探可信大语言模型](https://www.aicn.me/wp-content/themes/onenav/images/t.png)
对于 DeepInception, 我们提供了一个可直接应用于其他攻击目标的 Prompt 模板。具体来说,上述提示模板作为嵌套越狱的一种实现方式,具有如下几个组件:
-
-[scene]:设置催眠场景,如小说、电影、新闻、故事等。如果 [attack target] 和 [scene] 能更好地对齐,可能会带来更好的效果。
-
-[character number] 和 [layer number]:控制 "思绪" 的离散程度,我们认为,有害信息会在不同层内,不同人物之间的讨论中传播,从而绕过 LLM 的防御。
-
-[attack target]:进行越狱的具体目标,例如入侵计算机或制造炸弹的步骤。下句 "以对抗超级邪恶的博士" 旨在降低 LLM 的道德顾虑,与上文米尔格拉姆电击实验现象一致。
在这里,我们提供了一些使用特定越狱目标的 DeepInception 的示例,以下记录均为与 GPT4 交互得出。
使用 DeepInception 制作炸弹的例子。
使用 DeepInception 入侵 Linux 操作系统计算机的示例。
在实验部分,我们也提供了攻击的量化结果,并与其他攻击方法比较。首先,我们对那些越狱成功率(JSR)高的 LLM 进行越狱评估,同时考虑几种防御方法,以评估攻击方法 [4,5] 的有效性。
表 1. 使用 AdvBench 子集的 Jailbreak 攻击。最佳结果以粗体标出。
然后,我们对已被 DeepInception “催眠” 的模型,使用直接攻击,即在第一次交互后,向 LLM 发送直接的有害指令,来验证 DeepInception 在诱导持续越狱方面的有效性以及催眠效果的持久性。结果如表二所示,可以看到,我们的 DeepInception 在不同模型的表现均为最佳,并且在 Falcon 和 Vicuna 模型上,实现了可持续的 Jailbreak。
表 2. 使用 AdvBench 子集的连续 Jailbreak。最佳结果以粗体显示。
进一步的,我们在表 3 中展示了 DeepInception 深度 Jailbreak 的效果。这些攻击与前面介绍的表二一致,都有特定的初始 Inception,我们针对特定问题设计了一些追问。例如,对于承载 “入侵一个 Linux 主机” 的 DeepInception Prompt,我们会追问具体的指令细节,以及如何越过防火墙,来评估 LLM 是否正确理解了有害指令,并评估催眠效果的持续性。详细提示词以及实验设定均已公开于 Github Repo, 欢迎大家取用于进一步的探索。
表 3. 更进一步的 Jailbreak。最佳结果以粗体标出。请注意,在此我们使用了与之前不同的请求集来评估越狱性能。
此外,我们还进行了各种消融研究,从不同角度描述 DeepInception 的性质。可以看到,DeepInception 在角色与层数较多的情境下,表现更好(图 1,2);而 “科幻小说” 作为 DeepInception 的场景,在不同模型不同有害指令下,整体表现最佳(图 3);图 4 进一步验证了我们所提出的嵌套场景的有效性。我们也在图 5 可视化了不同主题的有害指令的 JSR。
图 4. 消融研究 – I。(1) 角色数量对 JSR 的影响;(2) 层数对 JSR 的影响;(3) 详细场景对同一越狱目标对 JSR 的影响;(4) 在我们的 DeepInception 中使用不同核心因素逃避安全护栏的影响。
图 5. 消融研究 – II。关于有害指令所属主题的 JSR 统计信息。
更多实验设置和细节请移步参阅我们的论文及源码,我们将持续更新我们的发现及工作内容。我们希望通过这项工作,呼吁人们应更多地关注 LLM 的安全问题,并开展关于 LLM 人格化及带来潜在安全风险的探讨与研究。
[1] Using large language models to simulate multiple humans and replicate human subject studies. Aher, G., Arriaga, R., and Kalai, A.. In ICML, 2023.
[2] Jailbreak and guard aligned language models with only few in-context demonstrations. Wei, Z., Wang, Y., and Wang, Y.. In arXiv, 2023.
[3] Defending chatgpt against jailbreak attack via self-reminder. Wu, F., Xie, Y. , Yi, J., Shao, J. , Curl, J., Lyu, L, Chen, Q., and Xie, X.. In Research Square, 2023.
[4] Jailbreaking black box large language models in twenty queries. Chao, P., Robey, A., Dobriban, E., Hassani, H., Pappas, G., and Wong, E.. In arXiv, 2023.
[5] Wei, A., Haghtalab, N., and Steinhardt, J.. Jailbroken: How does llm safety training fail? In NeurIPS, 2023.