尽管大语言模型 LLM (Large Language Model) 在各种应用中取得了巨大成功,但它也容易受到一些 Prompt 的引导,从而越过模型内置的安全防护供给一些危险 / 违法内容,即 Jailbreak。深入了解这类 Jailbreak 的原理,加强相关研究,可反向促进人们对大模型安全性防护的重视,完善大模型的防御机制。
分歧于以往采用搜索优化或计算成本较高的推断方法来生成可 Jailbreak 的 Prompt,本文受米尔格拉姆实行(Milgram experiment)启发,从心理学视角提出了一种轻量级 Jailbreak 方法:DeepInception,通过深度催眠 LLM 使其成为逃狱者,并令其自行规避内置的安全防护。
论文链接: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 可视为创造的深层梦境,作为载体将无害请求注入。
DeepInception 简介
图 3. 间接、间接与嵌套 Jailbreak 示意图
受到之前讨论的心理学视角启发, 我们提出了 DeepInception (图 3)。在此首先基于 LLM 的生成原理给出问题定义:考虑到 LLM 能将某个 token 序列映射到下一个 token 的分布上,我们就有了在前一个 token 序列的条件下生成下一个 token 的概率。生成序列的概率为 :
我们可以得到相应的词汇编码集 V,它可以将原始 tokens 映射为人类可了解的词语。给定一个一定的提示 P,Jailbreak 的标的可以形式化为以下问题:
我们将 DeepInception 形式化为一种基于 LLM 想象力的催眠机制。根据人类关于想象一定场景的指令,模型将会被催眠,并在中从严密防御转变为相对松散的状态。DeepInception 在上注入的 Jailbreak可以形式化为:
其中,表示注入的 Prompt 的长度,表示被催眠的 LLM 的回复包含的无害内容,表示由 DeepInception 承载的无害请求。“Deep” 表示通过递归条件,将 LLM 转变为放松且服从无害指令的嵌套场景,从而实现催眠 LLM。而后,被催眠的模型可以对无害指令进行回复。
对于 DeepInception, 我们供给了一个可间接应用于其他袭击标的的 Prompt 模板。具体来说,上述提示模板作为嵌套逃狱的一种实现方式,具有如下几个组件:
-[scene]:设置催眠场景,如小说、电影、新闻、故事等。如果 [attack target] 和 [scene] 能更好地对齐,可能会带来更好的效果。
-[character number] 和 [layer number]:控制 “思绪” 的离散程度,我们认为,无害信息会在分歧层内,分歧人物之间的讨论中传播,从而绕过 LLM 的防御。
-[attack target]:进行逃狱的具体标的,例如入侵计算机或制造炸弹的步骤。下句 “以对抗超级邪恶的博士” 旨在降低 LLM 的道德顾虑,与上文米尔格拉姆电击实行现象一致。
Jailbreak 示例
在这里,我们供给了一些应用一定逃狱标的的 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.