【论文速读】Optimization-based Prompt Injection Attack to LLM-as-a-Judge

摘要

LLM-as-a-Judge 利用一个大型语言模型(LLM)从一组候选答案中选择给定问题的最佳回答。LLM-as-a-Judge 有许多应用,例如 LLM 驱动的搜索、带有 AI 反馈的强化学习(RLAIF)和工具选择。在这项工作中,提出了 JudgeDeceiver,这是一种针对 LLM-as-a-Judge 的基于优化的提示注入攻击。JudgeDeceiver 将一个精心设计的序列注入到攻击者控制的候选回答中,使得 LLM-as-a-Judge 无论其他候选回答是什么,都会为攻击者选择的问题选择该候选回答。具体来说,我们将寻找这样的序列作为一个优化问题,并提出了一种基于梯度的方法来近似解决它。我们广泛的评估表明,JudgeDeceiver 非常有效,并且比现有的手动制作注入序列的提示注入攻击和扩展到我们问题的越狱攻击更有效。我们还通过三个案例研究,即 LLM 驱动的搜索、RLAIF 和工具选择,展示了 JudgeDeceiver 的有效性。此外,我们考虑了包括已知答案检测、困惑度检测和困惑度窗口检测在内的防御措施。我们的结果表明,这些防御措施是不足够的,突出了开发新的防御策略的迫切需要。

引言

现有的提示注入和越狱攻击对 LLM-as-a-Judge 的效果不佳,如第 4 节详细说明。这是因为现有的提示注入攻击依赖于基于启发式手动制作的注入序列。此外,现有的提示注入和越狱攻击假设攻击者知道输入到 LLM 的全部数据,而 LLM-as-a-Judge 面临一个独特的挑战:攻击者不知道除了目标回应之外的候选回应集。这种技术差异为 LLM-as-a-Judge 提示注入创造了不同的挑战,我们的工作解决了这个问题。

提出了 JudgeDeceiver,这是针对 LLM-as-a-Judge 的首个基于优化的提示注入攻击。这个注入序列被添加到提交给 LLM-as-a-Judge 的目标回答中,从而误导法官倾向于这个回答,如图 1 所示。
在这里插入图片描述
注入的目标回答可以抵御 LLM-as-a-Judge 采用的位置交换防御机制

首先构建一个影子候选回答数据集,旨在模拟攻击场景,从而使 JudgeDeceiver 能够生成具有更好泛化的注入序列。攻击目标是操纵 LLM-as-a-Judge 生成一个明确的攻击目标输出,例如“输出(索引)更好”,其中“索引”指的是目标回答的特定索引。为了实现这一点,我们提出了一个目标对齐生成损失(target-aligned generation loss),旨在最小化受注入序列影响的输出与定义的攻击目标输出之间的差异。

然而,随着影子候选回答数量的增加,一个关键挑战出现了:由于目标回答的随机位置索引,优化变得更加复杂。为了应对这一挑战,我们提出了一个额外的目标增强损失项(target-enhancement
loss term)在优化问题中,它专注于最大化输出中目标回答的索引标记的可能性

这个损失函数确保了无论目标回答的位置索引如何,评估结果都与我们预定义的攻击目标紧密对齐。具体来说,这个损失项专注于攻击目标的位置特征,并减轻了回答位置的潜在混杂效应,从而增强了我们的攻击对位置偏见的一致性和鲁棒性。

此外,我们引入了一个对抗性困惑度损失(adversarial perplexity loss),以**减少注入序列的困惑度,这对抗基于困惑度检测的潜在防御。**注入序列的生成是通过最小化三个损失项的加权和来表述的,我们提出了一种基于梯度下降的方法来解决优化问题。

探索了针对judgedeception的三种基于检测的防御:已知答案检测[43]、困惑(PPL)检测[32]和困惑窗口(PPL- w)检测[32]。特别是,已知答案检测无法检测包含注入序列的目标响应。PPL检测和PPL- w检测都能检测到注入序列的部分目标响应,但仍有很大一部分缺失。例如,当LLM为Llama-3-8B时,当PPL-W错误地将<1%的干净响应检测为目标响应时,注入序列的70%的目标响应未检测到。

贡献:

  • 提出了第一个针对LLM-as-a-Judge的基于优化的提示注入攻击——judgedeception

问题描述

LLM-as-a-judge

简单点就是按如下方法组织提示词,针对question q q q, 从response r i , { i = 1 , . . . , n } r_i, \{i=1,...,n\} ri,{ i=1,...,n}中选择一个最佳回答,返回索引。
在这里插入图片描述

威胁模型

攻击者的目标如下所述:给定一个目标问题 q q q 和一组候选回答 R R R,攻击者从 R R R 中选择一个目标回答 r t r_t rt

这个选择,记作对 q , r t q, r_t q,rt,构成了攻击者的目标。攻击者旨在欺骗 LLM-as-a-Judge,使其在 R R R 中选择目标回答 r t r_t rt作为最佳回答,即使它对 q q q是不准确甚至恶意的。实现这种欺骗的核心是向目标回答 r t r_t rt注入一个序列 δ \delta δ,构造这个序列是为了利用 LLM 的统计依赖性和对微妙的语言和上下文异常的脆弱性来操纵其评估。这里, δ = T 1 , T 2 , … , T l \delta = T_1, T_2, \ldots, T_l δ=T1,T2,,Tl 包含 l l l个标记,表示应用于原始目标回答 r t r_t rt 的注入序列,旨在扭曲 LLM 的评估准确性。函数 A ( ⋅ ) A(\cdot) A()表示将 δ \delta δ以各种形式附加到 r t r_t rt的过程:它可以作为后缀、前缀或前后缀的组合添加到目标回答中。因此,攻击者目标的表述可以定义为:

E p header ⊕ q ⊕ r 1 ⊕ ⋯ ⊕ A ( r t , δ ) ⊕ ⋯ ⊕ r n ⊕ p trailer = o t Ep_{\text{header}} \oplus q \oplus r_1 \oplus \cdots \oplus A(r_t, \delta) \oplus \cdots \oplus r_n \oplus p_{\text{trailer}} = o_t Epheaderqr1A(rt,δ)rnptrailer=ot

其中 o t o_t ot 代表目标输出(攻击者期望的 LLM-as-a-Judge 的判断), t t t 是输入提示中目标回答的索引。LLM-as-a-Judge 在注入序列 δ \delta δ后选择回答 r t r_t rt 作为最优选择。

攻击者知道什么

假设攻击者知道要操作的目标问题-响应对。考虑了LLM-as-a-Judge使用开源llm的攻击场景。攻击者无法访问与目标响应一起评估的候选响应𝑅的完整集合,也不知道这些响应的总数𝑛。此外,攻击者不知道LLM输入提示符中目标响应的特定嵌入位置索引。

认为攻击者可以操纵由LLM-as-a-Judge评估的目标响应。攻击者也是LLM-as-a-Judge的用户,可以通过迭代测试了解LLM-as-a-Judge的输出模板。通过利用该模板,攻击者可以设计期望的目标,这可以作为制定优化问题以生成最优注入序列 δ \delta δ 的基础。

JUDGEDECEIVER 细节

概述

与以往的手动提示注入攻击方法不同,judgedeception使用了一种新的目标优化函数来生成注入序列。该优化函数包括三个损失组成部分:目标对齐生成损失(target-aligned generation loss)、目标增强损失(target enhancement loss)和对抗困惑损失(adversarial perplexity loss)。每个组件处理攻击的不同方面,总体目标是最小化它们的加权和。此外,提出了一种利用梯度下降和位置自适应的逐步算法来求解优化函数。

生成影子候选回复

如前文小节 2.2 所述,攻击者面临一个难题,即很难直接获取由大模型判别器(LLM-as-a-Judge)评估的真实候选响应。为了解决此问题,我们借鉴了先前研究中的一些见解 [33, 57, 66],构建了一组用于模拟潜在攻击场景的“影子候选响应”(shadow candidate response)。对于每一个目标问题 q q q,我们使用一个公开可访问的语言模型,记为 L L L,生成 N N N 个影子响应。为确保这些响应的多样性和全面性,我们使用一个重构语言模型(如 GPT-4)对问题 q q q 生成多个不同的提示语。这一过程涉及将一个手动设计的提示语转化为一组多样化的提示语,记为 P g e n = { p 1 , p 2 , ⋅ ⋅ ⋅ , p N } P_{gen} = \{ p_1, p_2, ···, p_N \} Pgen={ p1,p2,⋅⋅⋅,pN},其中的示例见附录 A.5 中的表 14。集合 P g e n P_{gen} P

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值