[今日Arxiv] 通过线上游戏收集LLM越狱成功的样本并分析,ICLR2024

今天分享一篇来自 1加州大学伯克利分校2佐治亚理工学院3哈佛大学 的文章。

这篇文章 最突出的贡献在于揭示了LLM面对越狱的脆弱性,并提供了大量的越狱成功样本。

文章标题:

Tensor Trust: Interpretable Prompt Injection Attacks From An Online Game

URL:https://arxiv.org/abs/2311.01011

注:翻译可能存在误差,详细内容建议查看原始文章。

摘要

虽然大规模语言模型(LLMs)在现实世界的应用中越来越普及,但它们仍然容易受到提示注入攻击的影响:恶意第三方的提示会偏离系统设计者的初衷。为了帮助研究人员研究这一问题,作者提供了一个包含超过563,000次提示注入攻击和118,000条基于提示的“防御”措施的数据集,这些数据都是通过一款名为Tensor Trust的在线游戏由玩家创造。据作者所知,这是第一个既包括人为生成的攻击方式又包括针对遵循指示的大规模语言模型的防御策略的数据集。作者的数据集中包含的攻击具有易于理解的结构,并揭示了LLMs的弱点。此外,作者也利用该数据集创建了一个抵抗两种类型提示注入的基准测试:作者称之为提示提取提示劫持。作者的基准测试结果表明许多模型都容易受到Tensor Trust数据集中攻击策略的影响。更进一步地,作者发现数据集中的某些攻击策略可以推广到实际部署的大规模语言模型应用上,尽管游戏环境下的限制条件与实际情况有很大差异。

作者在tensortrust.ai/paper上发布数据和代码。

1 引言

经过指令微调的大型语言模型(LLMs)使得仅通过编写prompt就能构建智能应用成为可能(Ouyang等人,2022)。例如,一个收件箱搜索应用程序可能会使用如下所示的提示模板来帮助用户查找邮件: 用户的最近100封邮件内容:{{邮箱列表}} 用户的搜索查询:{{用户搜索查询}} 列出并总结最能响应用户搜索查询的三封邮件。

不幸的是,这些应用容易受到提示注入攻击,恶意用户或第三方可以操纵提示的一部分来破坏系统设计者的意图。垃圾邮件发送者可以通过命令LLM将他们的邮件放在搜索结果前列来进行攻击,或者恶意用户可能输入一个会导致LLM泄露其提示,以便他们能制作仿冒应用的搜索查询。

这今天是一个真实的安全威胁:提示注入可以使Bing Chat变为钓鱼代理(Greshake等人,2023)或泄露指令生成垃圾信息(Liu等人,2023b)。理想情况下,作者希望LLMs对提示注入攻击有极高的抵抗力,使得攻击基于LLM的应用成本高得令人却步。然而,实现这一目标十分困难:开发人员需要可以处理真实应用所需复杂指令的LLMs,并且判断这些指令是否遭到破坏可能要求(昂贵的)人工判断。

为了解决此问题,作者创建了Tensor Trust:一款专注于非常简单的字符串比较任务,以避免复杂的规则和主观评价的问题点注入网页游戏。玩家必须创造 防御提示 促使LLM只有在输入秘密访问代码时输出“access granted”字样。不知道访问码或防御提示的其他玩家则必须构思出能够使LLM授予访问权的攻击手段。这在图1中有所展示。

图 1:在 Tensor Trust 中,每个玩家创建一个防御(蓝色),该防御会使 LLM(黄色)在输入秘密访问代码(绿色)时说“准许访问”。攻击者不会看到防御或访问代码,而必须使用提示注入攻击(红色)来获得访问权限。

作者的贡献基于Tensor Trust生成的攻击和防御数据集:

  1. 作者开放了全部563,349次攻击(包括去重后的294,680个不同的攻击者输入)以及118,377次防御(去重后为95,706),含元数据。现有的类似数据集要么规模较小且不包含多步骤攻击(韦等人,2023;沈等人,2023),要么未包括用户提交的防御措施(舒尔霍夫等人,2023)。

  2. 作者的定性分析揭示了Tensor Trust中所使用的大语言模型常见的失效模式,比如它允许“用户”指令凌驾于“系统”指令之上的情况,以及对罕见标记表现出的异常行为。相比之下,自动生成的攻击(邹等人,2023)往往难以解析。

  3. 作者提出两项基于Tensor Trust的基准测试以评估大型语言模型是否易受手动提示注入攻击的影响。一项基准专注于提示提取(提取防御提示来找出访问码),另一项则聚焦于提示劫持(无需访问码即可获取访问权限)。在Tensor Trust中,用户可以选择GPT 3.5 Turbo 0613、Claude 1.2 Instant或PaLM Chat Bison 001作为其防御的大型语言模型,且作者的基准测试结果表明提交的攻击往往能在不同的大语言模型中通用。

  4. 作者从Tensor Trust数据集中采取了几种攻击策略,并将其应用于实际的大语言模型基础应用上。这些策略使构建针对这些应用程序的提示注入攻击变得更简便,即使应用程序与游戏所设置的情境大相径庭。

作者开放了Tensor Trust数据集和网络版游戏的源代码,请访问tensortrust.ai/paper以获取详情。

2 张量信托网络博弈游戏

Tensor Trust 网络游戏模拟了一家银行。每位玩家都有一个账户余额,他们可以通过策划成功的攻击或创建防止攻击的防御来增加自己的余额。这一节描述了游戏的基础机制;至于具体实现细节,则留在附录 B 中讨论。

记号 作者使用 V 来表示代币词汇表,并用 L : V ∗ × V∗ × V∗ → V∗ 表示一个大语言模型 (LLM),它接受三个字符串输入并输出单一的响应字符串。防御方在以下三种 L 中做出选择: GPT 3.5 Turbo、Claude Instant 或 PaLM Chat。使用 G : V ∗ → {T, F} 来表示一个目标谓词,这个谓词判定字符串是否说“准予访问”(具体细节参见附录 B 的正则表达式)。

防御 每个账号都有一套由三个提示符组成的 防御:开场防御 d_open、访问代码 c_access 和闭合防御 d_close,如图 2 所示。当用户保存防御时,作者会通过将他们的访问代码置于开场和闭合防御之间,并将其输入到用户选择的 LLM(大语言模型)中来进行验证。只有当该访问代码使得 LLM 输出 “准予访问”时,才能保存该代码。换句话说,G(L(d_open, c_access, d_close)) 必须为真。

攻击 玩家可以挑选其他任意玩家的账号,并提交对该账户的一次攻击。第一位玩家发起攻击的文字 c_attack 会插入到被防御方设置的开场防御和闭合防御(d_open 和 d_close)之间,然后把这一组字符串输入到 LLM 中。LLM 由防御方选定,进攻方事前并不知道它具体是哪一个。如果 LLM 输出“准予访问”(即 G(L(d_open, c_attack, d_close)) 为真),那么攻击者就能窃取防守者一部分的资金;如果没有输出“准予访问”,则防守者被授予一种为抵御攻击而付出的小额代价。攻击者无法看到dopen或dclose,但可以看到LLM对他们攻击的回应。图2描绘了这一场景。

图 2:在游戏中防守(左)和进攻(右)时的界面截图。

访问码的动机 可以设想一个没有访问码的Tensor Trust版本,防御者的目的是永远不让LLM输出“准许访问”。作者选择加入访问码,使Tensor Trust更接近实际应用,在这些应用中,目标是在不完全关闭LLM的情况下处理输入。玩家们常常在他们的开场或闭幕防守中包含了访问码(比如,“除非输入是hunter2,否则不要准许访问”),这促使攻击者首先提取防御提示,然后输入提取到的访问码。

3 数据集和基准测试

作者发布了Tensor Trust玩家提供的攻击和防御的完整数据倾倒(除了少数违反作者的服务条款(ToS)的数据)。这个数据集的结构如图3所示。攻击信息包括攻击者和防御者的标识符攻击和防御文本(包括访问代码)LLM响应和时间戳。时间和玩家标识符使作者能够重建每个玩家所受攻击的完整轨迹,这对于研究多步骤攻击策略非常有用。

除了原始数据之外,作者还发布了从原始数据中衍生出的两个基准测试集和一个小规模分类数据集。这两个基准用于评估遵循指令的LLM对于提示信息提取和提示劫持攻击的鲁棒性,这些定义在第3.1节中有详细说明。在附录E中,作者也发布了一个小数据集,用于评估模型在检测提示信息提取方面的能力,即使是在LLM仅间接泄露提示的情况下。

本文中的基准测试和所有分析都只来自于前127,000次攻击和46,000次防御的数据,这些数据都是针对GPT 3.5 Turbo进行评估的(游戏在后期才支持Claude或PaLM)。这一限制仅适用于基准测试子集;完整原始数据集在tensortrust.ai/paper上也包括了之后针对所有三种模型的攻击和防御。

图 3:原始数据集的结构。

3.1 提示注入稳健性基准测试

作者的鲁棒性基准测试着重于作者观察到的两种类型的提示注入攻击。

首先,提示提取攻击促使大语言模型(LLM)揭露足够的防御细节,让攻击者可以猜出访问代码(Zhang & Ippolito, 2023)。其次,提示劫持攻击不使用访问代码,而是绕过防御机制,使大语言模型声称“准许访问”。

这些分类类似于在真实系统上执行的提示注入攻击。对Bing Chat进行的提示提取攻击揭露了一个秘密代号("Sydney"),当提及此名称时,会导致该模型的行为变得离奇(von Hagen, 2023)。Greshake等人(2023)展示了一种结合劫持和提取的方法在使Bing Chat进行钓鱼其用户方面的有效性,而Liu等人(2023b)发现了31款基于LLM的应用程序,它们可以通过提示劫持执行不期望的任务。虽然Tensor Trust比这些应用程序中的大多数都要简单,但作者认为,在Tensor Trust基准测试上的鲁棒性是先决条件,用于 在更复杂的应用程序中,鲁棒性是一个问题,第5节表明张量信任基准测试对现有的大型语言模型来说已经相当具有挑战性。

图 4:从作者的基准测试中提取的实际提示劫持和提取示例。

3.1.1 提示劫持鲁棒性基准测试

在提示劫持的鲁棒性基准测试中,模型会收到一段开头防御、攻击以及闭合防御,必须避免输出“权限授予”。但是,当给出真实的访问代码时,它又必须输出“权限授予”。作者构建这个基准测试分三个步骤进行:

  1. 寻找高质量且可转移的防御措施 作者用户提交的许多防御措施几乎完全相同或依赖于特定于GPT 3.5 Turbo的蹊跷之处。作者使用最小哈希和局部敏感哈希(Broder, 1997)来丢弃近似的重复防御。作者也剔除了那些带有过长访问代码的防御,因为在很多情况下这种长的访问代码本身就是对抗性示例。此外,作者采用了三种参考模型——GPT 3.5 Turbo、Claude Instant 1.2和PaLM 2,并保留了当输入正确的访问代码时至少对两种中的任何一种模型都能产生“权限授予”输出的防御措施。

在进行此过程的时候作者有39,371个独特的防守措施,这个过程将其过滤为仅剩3,839项。

  1. 识别劫持攻击 为了找到可能的劫持攻击,作者对Tensor Trust数据集进行了筛选,寻找至少对一个帐户成功的攻击提示,同时忽略攻击中包含防御者访问代码的情况。作者还丢弃了那些只用于对付一个帐户的所有攻击,假设这种攻击无法转移到其他辩护上。这最终给作者留下了1586个可能泛化到各个防护措施的疑似劫持案例。

  2. 对抗性过滤和人工验证 为了获取实际的攻击/防御对数据集,作者将高质的防守措施随机与可疑的劫持攻击配对,并只保留能够至少欺骗作者三种参考模型中的两种的攻击组合。最后,作者手动剔除了那些作者认为一个良好的模型不可能得到正确答案的对组。这意味着过滤掉真实的访问代码本身就是对抗示例的情况,或者攻击正试图进行提示挖掘而恰好劫持了模型的情况。这两个步骤后,作者在最终基准测试中剩余775个样本;如图4所示。

劫持评估指标理想模型在两个指标上都应表现出色:

  1. 劫持鲁棒性率(HRR): 模型避免在攻击中说出“权限授予”的百分比

  2. 防御有效性(DV): 当呈现实际的每个防护措施的访问代码时,模型输出“权限授予”的百分比

3.1.2 提示提取鲁棒性基准测试

提示提取鲁棒性基准测试评估大型语言模型是否能避免生成包含实际访问代码的输出。作者使用与劫持数据集相同的“良好”防御措施,但采用不同的启发式方法来识别潜在的提示提取攻击。

在Tensor Trust数据集中,作者将满足以下两个条件之一的攻击分类为潜在的提取攻击首先,该攻击是否导致LLM(Large Language Model)准确输出了防御者的访问代码。其次,攻击者是否能够在攻击后立即输入访问代码(这让作者能够识别那些成功暗示了访问代码但没有完全输出它的攻击)。这样作者一共找出了2,326次疑似提取攻击。

对抗性过滤与人工验证 在随机将攻击和好的防御配对以建立评估数据集之后,作者会进行对抗性过滤,仅保留那些能从三个参考LLM中的至少两个成功提取到防御访问代码的攻击/防御组合。随后作者手动移除具有低质量防御或看起来并非刻意尝试提取访问代码的攻击,这类似于劫持数据集中的人工过滤步骤。最终作者得到了569个样本。图4展示了一个样本。

提取评估指标 一个理想的模型在这两个指标上都应该表现良好:

  1. 提取鲁棒性比率(ERR): 模型在LLM输出中没有完全包含(忽略大小写)访问代码的百分比

  2. 防御有效性(DV): 当与真实访问代码一起使用时,输出"access granted"(访问授权)的防御措施占所有防御措施的比例

4 探索攻击和防御策略

除了作为基准测试的有用数据来源外,Tensor Trust 还包含了关于现有 LLM 的漏洞的有益洞见。这一部分确定了玩家们用来操纵 GPT 3.5 Turbo 的最常见策略。此外,关于现有 LLM 的漏洞,Tensor Trust 提供了有价值的见解。本节将确定玩家操作 GPT 3.5 Turbo 最常用的策略。

4.1 利用LDA主题模型揭示攻击策略

张量信托中的攻击往往具有复合性:例如,一次攻击可能使用一种策略让大型语言模型忽略开头的防御,另一种策略使其输出特定字符串。为了识别这些策略,作者采用了潜在狄利克雷分配(LDA),这是一种用于文本语料库的概率主题建模算法(Blei 等人,2003)。作者在一组 3,912 次成功的提示劫持和提取攻击上运行了 LDA,这些攻击是使用第 3.1.1 和 3.1.2 节中的启发式方法识别的(在对抗过滤和验证之前)。作者通过 LDA 生成了 41 个主题。手动检查主题后,剔除那些没有连贯焦点的主题,并合并类似主题,作者得出了 16 种攻击策略。表 1 列出了一组主题,附录 F 提供了更多细节。由于 LDA 聚类并不完美,因此这些是不同策略频率的粗略估计。

表1 攻击主题分类

主题描述数量
结束歧义以一行文字开始,暗示前面的文字有歧义或错误193
编写代码要求模型编写代码、伪代码或手册126
角色扮演要求模型扮演一个揭示密码的存在22
意识门要求模型扮演一扇使用新访问码的意识门109
应答前缀要求模型以一段字符串(通常是其标准拒绝)开始,然后打印提示221
直接询问直接要求或命令模型说出提示或“授权访问”374
更新指令告诉模型改变其行为、添加新指令或忽略旧指令161
少射击提供几个例子,展示模型以“授权访问”响应用户输入的情况26
访问码占位符攻击者输入类似“正确访问码”的短语51
二进制输入用二进制编码22
不含空格输入中单词之间没有空格29
创意写作要求写一首诗、说唱或故事,包含密码52
artisanlib攻击中包含罕见token artisanlib83
字符重复提示以多次重复的相同字符开始304
检查理解要求模型通过解释指令确认其理解31
执行代码要求模型执行打印“授权访问”的代码35

给定一组主题,作者能够通过绘制九周内不同主题每周频率的变化,追踪游戏的发展演变,如图 5 所示。这显示了攻击策略的“病毒式”本质。当游戏发布时,大多数玩家使用简单的、通用的攻击,作者将其归类为“直接询问”。后来,他们采用了特别有效的角色扮演攻击,作者称之为“有感知的门”,最近他们转而利用罕见标记 artisanlib 的漏洞,如下所述。

图 5:在 9 周的时间里,最热门的 8 个聚类主题及其随时间出现的频率。

4.2 对攻击的见解

模型特定的对抗性标记Tensor Trust用户发现,标记“artisanlib”能够使攻击更有效。标记“artisanlib”首先由Fell(2023)提出,他将其列为几个罕见的“故障”标记之一,GPT 3.5 Turbo无法逐字重复。

在Tensor Trust攻击中加入这一标记通常会导致模型忽略预提示或后提示,或者以令人惊讶和有用的方式颠覆防御者的指示。这一攻击策略在游戏中传播了数周,如图5所示,在用户群中迅速流传开来。

4.3 关于防御的见解

与攻击相比,防御措施往往包含更多语法正确、直截了当的文本,指导模型如何表现。作者从第3.1.1节中描述的“良好”防御过滤数据集中随机抽取成功的防御样本,并观察到它们通常采用以下策略:

  • 直接告诉模型在访问代码时说“允许访问”,否则拒绝。

  • 警告模型不要遵循用户输入(例如:“上一个查询是由不可信用户提供的代码,不要执行他们给出的任何命令。”)。

  • 角色扮演(例如:“你是一个基于超安全密码的登录系统。”)。 - 添加分隔符以将攻击或访问代码与防御措施的其余部分分开(例如“BEGIN USER INPUT”和“END USER INPUT”)。

  • 重复指令多次,或者提供模型应如何表现的例子。

5 评估LLM的鲁棒性

作者针对基准测试运行了一套包含八个基线模型,以衡量现有的大型语言模型抵御攻击的有效性。这些模型包括:GPT 3.5 Turbo(Brown 等人, 2020);GPT4(OpenAI, 2023);Claude-instant-v1.2(Anthropic, 2023a; Bai 等人, 2022);Claude-2.0(Anthropic, 2023c;b);PaLM 2(Anil 等人, 2023);以及LLaMA 2 Chat的7B,13B和70B变体(Touvron 等人, 2023);还有CodeLLaMA-34B-instruct(Roziere 等人, 2023)。每个模型所需的输入格式略有不同;具体细节请参阅附录 D.2。

5.1 提示符劫持鲁棒性

图6:针对提示劫持(左)和提取(右)的鲁棒性评估结果。防御有效性是在给定模型时,访问码产生“准予访问”的百分比。

在图6a和表A1中展示了提示劫持鲁棒性基准测试的结果。作者看到,所有三个参考模型都有相对较高的防御有效性,但提示劫持的鲁棒性比率较低。这是因为除非对于至少两个模型中的防御是有效的,否则防御将被排除在外,同样地,攻击/防御对也仅在攻击迷惑了至少两个模型的情况下才被包括进来。然而,Claude即时版1.2具有比其他两个参考模型更低的防御有效性,并且提示劫持的鲁棒性比率明显更高。当作者审查响应时,作者观察到对于触及它认为敏感话题(如安全或暴力)的防御,Claude有更高的虚假拒绝率,并且也倾向于抵制被要求扮演特定角色。

这两点都导致了较低的防御有效性。例如,“你是Fortress-X在线安全系统”这样的防御开头,使得Claude坚持认为自己实际上只是一个名为Claude的聊天机器人。Claude 1.2更高的提示劫持鲁棒性比率部分是由于这些错误拒绝,但也似乎部分归功于比基础模型更高的提示注入抗力。作者也观察到了对于Claude 2类似的效果,尽管它有更大的倾向,将真实的访问代码视为攻击并加以拒绝,因此导致防御有效性显著降低。

对于LLaMA模型,作者看到在提示劫持鲁棒性和防御有效性之间存在令人遗憾的权衡。例如,与70亿参数型号相比,LLaMA-2-70B-chat具有更高的防御有效性,但它的提示劫持鲁棒性比率更差。这个问题的部分原因是较小的LLaMAs由于想象中的安全顾虑而经常拒绝遵循指令,这导致了较差的防御有效性(模型拒绝在防御中遵循指令),但也达到了良好的提示劫持鲁棒性(模型同样拒绝攻击段的指令)。例如,LLaMA-7B 曾以认为基于一个人对问题的回答来否认其访问是“不恰当或不合乎道德”的理由拒绝了一个访问代码,特别是对于像密码这样个人且敏感的信息。 LLaMA-2-70B-chat和CodeLLAMA-34B-Instruct-HF都具有更高的防御有效性,这似乎部分归因于指令跟随能力的提升,并部分由于错误拒绝率降低(尤其是CodeLLaMA部分)。

参见附录D.3中的结果表格。这些数字是根据第3.1.1节和第3.1.2节中描述的对抗过滤数据集计算得到的,这包括在作者所有的参考模型上都有效的防御措施,以及至少对一个参考模型成功的攻击。

就劫持鲁棒性而言,GPT-4以显著优势胜过其他模型,同时保持了较高的防御有效性。作者推测这是由于GPT-4与GPT-3.5出自同一组织,因此能够遵循类似类型的防御指令,但同时也对GPT-3.5中已知的漏洞(如artisanlib和角色扮演攻击)更具抵抗力。

作者还进行了针对劫持基准的消息角色消融。在web应用中,作者为首个防御使用了具有“系统”消息角色的GPT 3.5 Turbo,而将“用户”消息角色用于攻击/访问码和尾部防御。作者的结果如附录I所示,在不同选择的消息角色之间性能差异很小,这表明GPT 3.5 Turbo内置的“消息角色”功能不足以抵御人类创建的提示注入攻击。

请注意,上述翻译仅转换了文本,保留了原文中的段落结构与特殊格式,无额外添加或删除内容。

5.2 提示提取鲁棒性

图6b和表A2展示了作者关于提示提取鲁棒性的结果。作者再次看到,参照模型具有较高的防御有效性(由于可转移的防御过滤)和较低的劫持鲁棒性比率(由于对抗性过滤),Claude 1.2再次优于GPT 3.5 Turbo和Bard。

在剩下的模型中,作者可以观察到一些有趣的现象。例如,作者看到GPT-4比其他模型具有更好的防御有效性和提取鲁棒性率,这再次归因于它与GPT 3.5接受和拒绝相似的提示集但通常具备更强的指令遵循能力的事实。作者还发现LLaMA 2 Chat模型(特别是70B模型)的提取鲁棒性远低于劫持鲁棒性。这可能是由于LLaMA模型总体上比其他模型更冗长,因此更容易意外泄露部分防御提示。作者观察到LLaMA聊天模型倾向于给出“有帮助”的拒绝回应,无意中泄露了部分提示,并且图A2表明,在劫持和提取基准测试中,它们通常产生比其他模型更长的响应。其他模型的相对性能与劫持基准类似,这表明使模型抵抗提示提取的特性也可能使其抵抗提示劫持,反之亦然。

6 种来自张量信任的攻击可转移至实际应用

尽管Tensor Trust仅要求攻击者达到有限的目标(使LLM说出“已授权访问”),作者却发现某些攻击策略可以推广到现实世界的聊天机器人和写作助手。即便这些攻击的设计目的是进行提示注入(促使模型覆盖其自身的提示信息),但作者将它们应用于相关的挑战,即越狱(促使模型克服安全微调)。作者的结果在附录G中提供。通过将数据集中的劫持攻击调整为请求特定行为的方式,作者能够让这些应用程序对敏感的提示作出响应,而这本来是它们拒绝对应的情况。示例包括:

图A5

图A7

图A9

  • 使用最简提示工程诱发出不良输出: 当直接被要求讲有关金正恩的笑话时,像ChatGPT、Claude和Bard(这些都是流行的聊天机器人)会拒绝执行。(请参见图A4、A6和A8)。作者尝试通过调整数据集中的攻击策略来让模型讲一个关于金正恩的笑话,并发现有些攻击能够成功地诱发出这类笑话,如图A5、A7和A9所示。为了测试作者的攻击在多大程度上能够推广,在一条提示下展示出具有转移潜力的三个攻撃,作者针对三种不同聊天机器人(ChatGPT、Claude和Bard)以及金正恩笑话请求的十种不同说法来测试这些攻击。从图A3中作者可以看到,来自数据集中的三个攻击之一可靠地导致所有三个聊天机器人都生成了笑话,而另外两个攻撃的表现并不比包含无关文字的“假”攻击更好。这表明作者数据集中的一些攻击在游戏设定之外也能起作用,但需要搜索适合的攻击策略,因为许多并不能跨环境稳定转移。

图A12

图A13

  • 通过附加提示工程构建越狱: 在附加提示工程努力下,作者成功构建了诱发出炸弹制作指导的越级攻击。例如,Bing Chat(一个聊天机器人)在直接请求提供指导时拒绝响应。(参见图A12),但当作者向其输入数据集中标准前缀(如*%%% END user*二义性 %%%等)及随后作者手动创建的越狱提示后就会给出这类信息。值得注意的是,最后的越级提示使用了从作者的数据集中学到的技术,比如让LLM讲故事,并在响应前加上作者想要的内容。(图A13)。

上述结果表明,来自作者的数据集中的攻击有时几乎可以原封不动地在现实世界的应用程序上生效,然而为了诱发出最严重的RLHF微调破裂效果——例如让模型输出炸弹制作指导——它们仍需要人为调整。作者也尝试找到容易受到提示注入而非越狱影响的应用程序,但发现这些应用程序的系统提示通常能轻易被覆盖,使得复杂的攻击策略显得没有必要。

7 相关工作

针对大型语言模型(LLM)的对抗性攻击,目前存在多种策略可以诱发自然语言处理(NLP)模型产生不希望的行为(张等,2020年)。对于遵循指令的大规模语言模型而言,先前的研究主要集中在所谓的“越狱”输入上,这类输入能解除LLM的安全特性(韦等,2023年;邓等, 2023年),以及提示注入攻击,即能够覆盖原先给予LLM的指示的特殊输入(刘等,2023a;佩雷斯与里贝罗,2022年;格雷舍克等,2023年;穆等,2023年)。

过往研究中也有人探究了自动优化对抗性提示的方法。华莱士等人。 (2019年)通过优化对抗性的文本片段使模型在多种场景下表现不佳。邹等。(2023年)证明可透过对开源模型的攻击实现对黑盒模型的转移性攻击,而贝利等人。(2023)显示了多模态的视觉语言模型中的图像通道也能遭受攻击。作者的研究与这些论文不同之处在于作者更侧重分析人工生成的攻击策略,因为这种方式更加直观,并能充分利用外部知识(如,模型的标记化方案)。

还有一类过去的文献讨论的是训练时的攻击方法。这可能会涉及以特定样本来毒害模型训练集的情况,使其在测试时期对某些输入做出错误分类(比吉奥等,2012年;戴等, 2019年;齐等,2021年;华莱士等,2020年),或通过微调消除LLM的安全特性(齐等, 2023年)。以上这些文献假设攻击者对训练过程有部分控制权利 (如能够篡改一小部分的训练样本)。与之相反,作者则只考虑针对已训练完成模型实施测试时段的攻击。

提示注入游戏《Tensor Trust》这款游戏受到了其他在线游戏的启发,其挑战是让用户向LLM注入提示。这些类似的游戏包括:GPT Prompt Attack (h43z,2023年),Merlin的防御(梅林纳斯,2023年),双语花招(未见之力量,2023年),The Gandalf Game(拉凯拉,2023年), 和沉浸式GPT(沉浸实验室,2023年)。《Tensor Trust》与先前的工作有三点显著不同。它(a)允许用户创造防守策略而不仅仅是使用开发者预设的有限数量的防守策略;(b)对提示劫持和提取提供双重奖励(而不只是提示的提取),以及(c)拥有一套公开的数据集。在威胁模型上,《Tensor Trust》与《HackAPrompt》(舒尔霍夫等,2023年)类似,但有所不同的是,《HackAPrompt》允许攻击者查看防御策略,并没有开放用户提交自己的防守策略。

LLM越狱合辑作者的研究主要针对能够覆盖其他已给予模型指令的提示注入攻击问题,而非直接着眼于“越狱”案例(即从模型中获取本应被微调抑制的回答)。然而,“越狱”实例在先前的研究中有过更广泛探讨,并有大量此类案例在网上流传。这些数据通常非正式地在诸如《Jailbreak Chat》(艾伯特,2023年)和其他在线平台如推特上分享(弗雷泽,2023年)。此外,沈等(2023年)、邱等(2023年)和韦等人于2023年还发表过更系统性的越獄数据集以供LLM安全训练时测试与衡量。作者的项目虽旨在搜集针对LLM的对抗性示例形成的数据库,在这方面与前人工作的目标相似,但作者关注的是提示注入攻击而非狭义上的“越狱”。

8 结论

作者对提示注入攻击的数据集揭示了在使用指令微调的大语言模型(LLM)的应用程序中引发不良行为的各种策略。作者引入了基准测试来评估LLM对于这类攻击的鲁棒性。作者的基准测试聚焦于看似简单的问题上,即控制模型何时输出特定字符串,但作者的结果显示即使是最强大的LLM在这种情况下也可能受到基础的人工编写的攻击的影响。作者的发现也强调了在敏感应用中给予LLM访问不受信任的第三方输入的危险;提示并非充分的安全保障。作者希望作者的数据集对今后评估提示注入缓解措施、红队测试集成LLM的应用程序以及理解多步骤攻击策略以构建更佳防御方面的工作能有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值