跳到正文
原文
arXiv:越狱、提示注入、投毒与防御· arXiv:2610.31695· Utkarsh Kanwat·本站收录· 原文发表精选关注度44

欺骗 LLM 安全护栏使其评判错误的文本

Fooling LLM Safety Guards into Judging the Wrong Text

论文速读

攻击

据论文 PDF 整理(AI 生成),以原文为准

作者提出 target rebinding 攻击:在有害请求后追加伪造的 Query/Document 对,使安全护栏改判无害诱饵;Shieldstral 上 75 条被标请求全部放行,并给出 segment-max 训练防御。

威胁模型攻击者只控制进入护栏内容槽的不可信文本 c,不控制护栏权重、instruction、query、系统提示、解码或阈值;攻击与基准阶段为 black-box(不见分数,分知道与不知道部署 query 两类),防御评估阶段攻击者知道防御、可查询分数并可用梯度。

问题
LLM 应用把安全护栏放在助手、检索和智能体工具调用前,护栏把任务说明和待审内容拼成同一纯文本流。作者称内容可仿造护栏自身的提示格式追加第二个评分任务,使护栏改判无害文本,有害请求原样放行。
方法
作者提出 target rebinding:在有害请求后追加伪造的 Query/Document 对和无害诱饵,护栏改给诱饵打分。作者在 GuardRebind 基准上用 52 个攻击家族测五个护栏,并提出边界 token(B)与 segment-max 自蒸馏训练(T)的防御。
实验与结果
Shieldstral 确认性实验中伪造对放行全部 75 条被标请求,仅指令句放行 0%;GuardRebind 上每个护栏都有放行至少 93.4% 被标项的攻击家族。T 训练把 held-out 攻击的 bypass 从 75.0% 降到 0.8–1.6%,但 score-guided 自适应搜索仍攻破 47/50 条。
局限与可以继续做的
作者写明的局限:确认性实验只覆盖一个护栏、一个英文语料和短文档;部分结果基于小样本(自适应攻击 50 条、GCG 20 条);held-out 防御结果只覆盖追加位置;未在检索、工具或多轮通道上测试;作者声明不主张一般的提示注入鲁棒性。
实验设置Shieldstral-1.0-3B、Llama Guard 3 1B 等 · GuardRebind、AdvBench 等 · bypass rate、clean FNR 等
威胁模型
攻击者只控制进入护栏内容槽的不可信文本 c,不控制护栏权重、instruction、query、系统提示、解码或阈值;攻击与基准阶段为 black-box(不见分数,分知道与不知道部署 query 两类),防御评估阶段攻击者知道防御、可查询分数并可用梯度。目标是有害请求 h 原样保留且被护栏判安全放行;改写或隐藏 h 的规避攻击不在范围内。
被测模型
Shieldstral-1.0-3BLlama Guard 3 1BShieldGemma 2BQwen3Guard 0.6Bgpt-oss-safeguard-20BLlama Guard 4 12B
基准
GuardRebindAdvBenchHarmBenchAegis 2.0BeaverTailsOpenAI moderation evaluationToxicChatXSTest-safeOR-Bench-hard
指标
bypass rateclean FNRclean FPRAUROCrecallover-refusal rate
AI 导读和推荐理由研究者提出针对 LLM 安全护栏的目标重绑定(target rebinding)攻击,在受检内容后附加伪造的查询和文档对,使护栏转而评判无害诱饵,有害请求原样通过。在 Shieldstral-1.0-3B 上,攻击清除了全部 75 条被标记的留出 AdvBench 请求;在 GuardRebind 基准上,Shieldstral、Llama Guard 3、ShieldGemma、Qwen3Guard 和 gpt-oss-safeguard 各有攻击族绕过至少 93% 的被标记项,gpt-oss-safeguard 的角色边界也未能阻止。作者提出 segment-max 自蒸馏训练,在训练未见的攻击族、诱饵和伪造查询下把绕过率从 75% 降到 0.8–1.6%,但知道防御的攻击者用分数引导搜索仍绕过 50 项中的 47 项。

研究者提出针对 LLM 安全护栏的目标重绑定(target rebinding)攻击,在受检内容后附加伪造的查询和文档对,使护栏转而评判无害诱饵,有害请求原样通过。在 Shieldstral-1.0-3B 上,攻击清除了全部 75 条被标记的留出 AdvBench 请求;在 GuardRebind 基准上,Shieldstral、Llama Guard 3、ShieldGemma、Qwen3Guard 和 gpt-oss-safeguard 各有攻击族绕过至少 93% 的被标记项,gpt-oss-safeguard 的角色边界也未能阻止。作者提出 segment-max 自蒸馏训练,在训练未见的攻击族、诱饵和伪造查询下把绕过率从 75% 降到 0.8–1.6%,但知道防御的攻击者用分数引导搜索仍绕过 50 项中的 47 项。

推荐理由论文给出五种护栏模型被伪造评分任务绕过的测量和一种把绕过率压到约 1% 的训练防御,部署护栏的团队可对照检查输入格式。

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    护栏把任务说明与待审内容拼成同一纯文本流,内容可仿造格式让护栏改判无害诱饵,作者称之为 target rebinding。

    安全护栏会被内容里仿造的评分任务带偏:护栏转而去给攻击者提供的无害文本打分,有害请求原样通过。

    • 场景与重要性:LLM 应用把小护栏放在聊天助手、检索和智能体工具调用前,护栏判安全的内容会被放行,智能体里内容描述的动作可能不经复核就执行。Shieldstral、gpt-oss-safeguard、Llama Guard 等护栏把策略/问题与待审内容放在同一 token 流里。
    • 现有认识的不足:Llama Guard 论文警告其"may be susceptible to prompt injection attacks",gpt-oss-safeguard 报告在提示注入劫持测试上得 0.512,但作者称两者都没说针对护栏的这类攻击长什么样、如何防。
    • 核心观察与假设:标记 query 和 document 的标签(如 <Query>:、<Document>:)是纯文本,内容里可以出现同样的标签;作者假设护栏会给输入中最后一个完整评分任务打分,内容改变的是护栏评哪份文档,而不是怎么评。
    • 论文的贡献:命名并测量 target rebinding 攻击,构建覆盖五个护栏的 GuardRebind 基准,并提出边界 token 加 segment-max 自蒸馏训练的防御,且做了预注册和自适应攻击评估。
    • 威胁模型(Section 2):
      • 目标:有害请求 h 在被放行的同时保持原样、可读地留在转发内容里;删除、改写或混淆 h 的规避攻击不在范围内。
      • 知识:攻击与基准阶段为 black-box,攻击者看不到分数,分"确切知道部署 query"和"不知道"两类;防御评估阶段攻击者知道防御,持有防御后的权重、边界机制和训练配方。
      • 能力:只控制不可信内容 c;不控制护栏权重、instruction、query、系统提示、解码或阈值;防御评估时可查询分数、可用梯度。
      • 受害系统:部署在下游系统前的护栏 G,c 可以是用户消息、检索段落、智能体循环中的工具结果或对话历史。
  2. 有哪些相关研究?

    相关工作分三组:针对生成器和评审的结构伪造、针对护栏的攻击、结构化查询与蒸馏防御;作者称本文把伪造任务结构用到护栏的内容槽上。

    针对生成器和评审的结构伪造

    • Liu et al. [25](2024)——"fake completion"和"combined"攻击伪造一个任务的结束和另一个任务的开始;作者称本文把这一构造用到护栏上。
    • 间接提示注入一脉的攻击 [3, 8, 11, 23, 45]——伪造模板或对话结构来重定向智能体和聊天模型;另有工作 [21, 40, 41] 用注入内容操纵 LLM 评审的分数。作者指出本文的目标是给伪造任务打分,成功表现为错误的"safe"判定。

    针对护栏的攻击

    • 护栏会被通用扰动 [26]、字符注入 [16]、流水线攻击 [30] 和伪造评审输出 [29] 攻破。
    • 最接近的是并行工作 Li et al. [22](2026)——在类型化评审的结构化输入里伪造 verdict 和 authority 字段;作者指出他们的伪造都没有引入一个需要评分的新任务。

    结构化查询与蒸馏防御

    • StruQ 和 SecAlign [4, 5](2024)——保留分隔符加训练,让模型忽略注入指令;后续工作 [6, 7, 49] 扩展这条线,或把模型向 clean-context 行为蒸馏 [12, 38]。作者指出这些都防的是生成式指令跟随模型,本文把思路用到分类器的内容槽,且训练目标不需要知道哪一段是注入。
    • 作者指出与其他微调防御 [34, 36] 一样,本文防御也被自适应攻击攻破。

    基线与基准:防御评估的对照包括未训练边界 B、clean-copy 目标、fail-closed 结构检测器、推理时 segment-max 和 naive 对抗训练;基准数据源为 AdvBench、HarmBench、Aegis 2.0、BeaverTails、OpenAI moderation evaluation、ToxicChat,过度拒答来源为 XSTest-safe 和 OR-Bench-hard。

    作者将本文定位为:把已知的伪造任务结构攻击系统地测量到安全护栏这一对象上,并给出针对护栏内容槽的训练防御。

  3. 论文如何解决这个问题?

    攻击是在有害请求后追加伪造的 Query/Document 对与无害诱饵;防御用内容无法产生的边界 token(B)加 segment-max 自蒸馏训练(T)。

    整体思路:先行为化验证"护栏给最后一个完整任务打分"的假设,再用攻击语法在五个护栏上系统测量,最后针对攻击的两个前提(内容能产生标签、模型把嵌套标签对当新任务)设计防御 B+T。

    攻击构造与成功判定

    • 伪造对(forged pair):在有害请求后追加一个伪造 <Query>(重复部署的安全问题)和一个伪造 <Document>(装无害诱饵 decoy);护栏读到两个标签相同的 query–document 对,作者假设它给最后一对打分。
    • 成功判定:只统计无攻击时被部署标出的请求;攻击成功即 G 放行 h⊕p(⊕ 为拼接),报 bypass rate 和 Wilson 95% 区间。标出规则因设置而异:Shieldstral 确认性实验 G(h) > 0.9,GuardRebind 与防御评估 ≥ 0.5,label-only 护栏取三次 API 调用多数判 unsafe(temperature 0)。
    • 机制证据:作者称证据主要是行为性的(伪造对消融、诱饵剂量反应);activation patching(附录 C)未能定位机制,只显示 verdict 在最终位置读出。

    GuardRebind 基准

    • 数据:有害与良性项来自六个公开数据集,XSTest-safe 和 OR-Bench-hard 补充易被误标的良性项;共 20k 有害 + 20k 良性,按归一化文本哈希 60/10/30 划分。核心集为每护栏 600 有害 + 600 良性测试项的分层抽样,gpt-oss-safeguard 因付费 API 减为 200 + 200。
    • 攻击语法:轴包括标签语法、伪造对数量(1–5)、位置(append/prepend/middle)、诱饵危害度、伪造 query 相关度、语言、编码;一个家族是每轴各取一个水平,核心面板含 52 个攻击家族和 5 个对照。guard-native forgery 用纯文本伪造护栏整个评分任务。
    • 协议:每个 item–family 单元抽 3 个实例化,bypass 取均值,区间来自对 item 和实例化的两层 bootstrap(预注册)。

    防御 Part B:内容无法产生的边界

    • 用空文档槽渲染护栏原生模板得到可信前后缀;内容单独分词并关闭 special-token 解析,使控制 token 字符串变成普通文本 token。
    • 内容的 token id 被两个保留边界 token 包住,这两个 id 在预训练中未使用、无输入文本会分词到它们;内容本身不删任何东西。作者称这一设计跟随 StruQ 和 SecAlign。

    防御 Part T:segment-max 自蒸馏

    • 训练目标:target(c) = max(f0(c), maxs ∈ S(c) f0(s)),即学生(被训练的护栏)对整段内容的打分不低于冻结基座护栏 f0 对其最有害分段的打分;攻击样本的分段是原始请求和诱饵,干净内容的目标就是教师自己的分数。
    • 目标只需要分段边界,不需要知道哪段是注入;用 yes/no logit margin 与目标的二元交叉熵训练,LoRA 作用于 attention 和 MLP 投影,冻结 embedding;B+T 额外训练两个边界 token 的 embedding 行。
    • 训练数据:5,000 条训练划分条目各出现一次干净、两次带攻击,加 1,250 条结构化良性硬负例,共 16,250 例;诱饵和伪造 query 从池子的训练半侧抽取;训练不见任何测试项、held-out 攻击家族和 held-out 半侧的诱饵与 query。

    自适应评估

    • 攻击者知道防御并可查分数(遵循 Carlini et al. [2]):score-guided 搜索在每项 300 次护栏调用内爬山;structural 搜索枚举全部 654 个形式加 30 个随机标签变异;GCG 在伪造文档内优化 20-token 后缀 250 步(20 条);另有只加诱饵文本、无标签无伪造 query 的纯文本对照搜索。
  4. 论文做了哪些实验?

    Shieldstral 上伪造对放行全部 75 条被标请求而指令句放行 0%;五个护栏各有放行至少 93.4% 的家族;T 训练把 held-out bypass 降到 0.8–1.6%,但自适应搜索仍攻破 47/50。

    实验设置

    • 被测护栏:Shieldstral-1.0-3B、Llama Guard 3 1B、ShieldGemma 2B、Qwen3Guard 0.6B(本地运行),gpt-oss-safeguard-20B(OpenRouter API,label-only);另有 Llama Guard 4 12B 出现在 30 条请求的跨模型检查中。
    • 确认性实验:AdvBench 第 200–299 行,75 条在无攻击下被标(> 0.9),协议事先冻结(附录 A)。
    • GuardRebind:每护栏 600 有害 + 600 良性核心测试项(gpt-oss-safeguard 为 200 + 200),52 个攻击家族 + 5 个对照,每单元 3 个实例化。
    • 指标:bypass rate(只统计被标项,Wilson 或两层 bootstrap 95% 区间)、clean FNR/FPR、AUROC、recall、过度拒答率。
    • 防御评估:Shieldstral 测试划分,被标项 297(base 与 B+T)/292(每个 T seed);检测用 1,500 条干净测试样本(801 有害、699 良性);过度拒答用 XSTest-safe(n=75)、OR-Bench-hard(n=400)、结构化良性集(n=500)。
    • 自适应攻击:50 条被标测试项,score-guided 搜索每项 300 次调用,structural 搜索枚举 684 个攻击,GCG 跑 20 条。

    主结果

    GuardRebind 各护栏结果(据 Table 3,%,bypass 只统计被标项):

    表格较宽,可左右滑动

    护栏被标项数clean FNRclean FPR最强家族 bypassguard-native仅指令有害诱饵
    Shieldstral 3B30050.06.799.271.77.013.6
    Llama Guard 3 1B37437.715.81001002.911.1
    ShieldGemma 2B16872.02.810073.620.284.3
    Qwen3Guard 0.6B53610.727.893.481.70.70
    gpt-oss-safeguard 20B11343.512.010071.76.29.4
    • 作者指出最强家族是事后选择的,guard-native forgery 在任何测试划分运行前固定,在各护栏上放行 71.7–100%。
    • 作者指出 ShieldGemma 的 100% 最强 bypass 只覆盖它标出的少数有害项(其 clean FNR 为 72.0%);ShieldGemma 对诱饵几乎不敏感(有害诱饵下伪造三元组仍放行 84.3%),作者称这更接近通用规避而非 rebinding。
    • 作者指出 Llama Guard 3 部分被任何尾随文本影响:无伪造对的良性尾随文本放行 41.2%(Shieldstral 为 4.3%),即其部分 bypass 来自 recency。

    Shieldstral 确认性实验(Table 1、Figure 2)

    • 伪造对消融(n=75):完整伪造 Query+Document 对放行 100% [95%, 100%],中位分数从 0.986 降到 0.016;仅伪造 Document 放行 9%,仅指令句 S、"Note:" 形式、惰性填充、伪造 Instruct、伪造 Instruct+Query 均放行 0%;伪造 Instruct+Query+Document 放行 92%。作者称若护栏是被说服,加指令应有助攻击,实际反而略降。
    • 诱饵剂量反应(探索性,n=39,Figure 2b):良性诱饵(单独得分 0.00)放行 100%,临界诱饵(0.03)放行 33%,有害诱饵(≈1.0)放行 0%;150 条请求 × 40 个诱饵上 Spearman ρ = −0.84,作者称部分支持预注册预测(区间跨过阈值、dev 划分为 −0.78、分箱非单调)。
    • 稳健性:伪造对前置时只放行 15%(追加为 100%);七种标签语法放行 83–100%,无标签的同样文字放行 0%;不知道部署 query 的盲攻击者堆叠五个猜测仍放行 100%;八种策略措辞下中位 bypass 99%(范围 87–100%)。

    防御评估(Table 4、5、6)

    • 主结果(Shieldstral,held-out 家族 + held-out 诱饵与 query):base 放行 75.0% [74.0%, 76.0%],T 两个 seed 放行 0.8% 和 1.6%,B+T 放行 0.9% [0.7%, 1.1%];仅 B(未训练边界)放行 76.8%,作者称不训练模型就不会用边界 token。
    • 代价:AUROC 从 base 的 0.810 到 T 的 0.802–0.803、B+T 的 0.800,作者称非劣性未确立(点估计在预注册界内、区间更宽);带良性伪造对的良性内容在 T 下被标 0.7%、B+T 0.8%(base 0.2%)。
    • 训练免费基线:结构检测器和推理时 segment-max 在 held-out 家族 + held-out 诱饵上分别被放行 23.2% 和 23.4%,作者称几乎全部剩余 bypass 来自两个非英文标签家族;检测器误标 58.6% 的结构化良性集。
    • 自适应攻击(Table 6,50 条):score-guided 搜索放行 T 47/50、B+T 34/50(作者称这是边界唯一明显有帮助的结果);structural 搜索只放行 T 和 B+T 各 4/50;GCG 放行 T 全部 20 条,使对 T 的逐项最坏情形达 49/50。T 的 47 次失败中 34 次伪造结构放在请求之前。
    • 纯文本对照:无标签无伪造 query、由同一搜索选出的良性用户提示放行 T 26/50(base 35/50);作者称约半数剩余弱点不需要 rebinding。

    其他消融与分析

    • 跨模型检查(30 条 AdvBench 请求):伪造各自结构放行 gpt-oss-safeguard 30/30、Llama Guard 4 29/29,纯断言安全放行 0%。
    • Qwen3Guard 探针(40 条训练划分项):只伪造对话放行 5/40,伪造整个任务放行 40/40。
    • naive 对抗训练(Table 8,固定诱饵):held-out 家族放行 0.9–1.1%,AUROC 0.921–0.925,但尾随有害内容只标出 8.0–8.6%(T 为 95.5–100%)。
    • T 迁移(Table 8,固定诱饵):Llama Guard 3 held-out 家族 bypass 从 82.0% 降到 2.5%,但带良性伪造对的良性内容被标率从 2.4% 升到 22.5%;Qwen3Guard 从 9.5% 降到 0.0%,作者称该数字说明不了什么。
    • clean-copy 目标消融:held-out 放行 2.1%,但带有害诱饵的良性内容只标出 0.8%(Table 5)。
    • gpt-oss-safeguard 多 verdict:只读最后一个 verdict 会把两个堆叠对家族从 2.9–3.5% 抬到 87.3–90.6%(附录 C)。
  5. 有什么可以进一步探索的点?

    作者列出的局限包括单护栏单语料、小样本运行和只覆盖追加位置;自适应攻击下防御仍被攻破。

    作者指出的局限与后续方向

    • 确认性研究只覆盖一个护栏、一个英文语料和短文档,Llama Guard 4 与角色边界检查只用 30 条请求(Section 8 Limitations)。
    • bypass 只统计被标项(Shieldstral 的 clean recall 在其干净测试样本上为 47%),只能从上方界定端到端危害,且未在检索、工具或多轮通道上测试(Section 8)。
    • 部分结果基于小运行:Qwen3Guard 探针 40 条、自适应攻击 50 条(GCG 20 条且未跑 B+T)、除 T 和 naive 对抗训练外所有训练条件只有单 seed(Section 8)。
    • held-out 防御结果只覆盖追加形式,防御只部分削弱搜索到的良性提示(从 35/50 降到 26/50)(Section 8)。
    • segment-max 只保留基座护栏本身能检测的组合危害,未跑组合攻击,作者声明不主张一般的提示注入鲁棒性(Section 8)。
    • 防御评估的一部分(held-out 诱饵度量、score-guided 搜索、两个训练免费基线、缩减的 seed 计划)是在看到第一轮测试划分结果后设计的(Section 6.1,deviation D4)。

    实验覆盖范围

    • 被测护栏共 6 个:Shieldstral-1.0-3B、Llama Guard 3 1B、ShieldGemma 2B、Qwen3Guard 0.6B、gpt-oss-safeguard-20B,Llama Guard 4 12B 仅出现在 30 条请求的检查中(Section 4)。
    • 确认性实验为 AdvBench 第 200–299 行中 75 条被标请求;GuardRebind 核心集为每护栏 600 有害 + 600 良性(gpt-oss-safeguard 200 + 200)(Sections 3、4.1)。
    • 防御主测 Shieldstral,T 在 Llama Guard 3 1B 和 Qwen3Guard 0.6B 上各跑一个 seed 的固定诱饵条件(Section 6.2、Table 8)。
    • 自适应评估含 score-guided 搜索(50 条、每项 300 次调用)、structural 搜索(50 条、684 个攻击)、GCG(20 条、未跑 B+T)(Section 6.3)。
    • 论文未报告防御在检索、工具或多轮通道上的测试,也未报告 T 与 naive 对抗训练在匹配 recall 下的比较(结果文件无逐项干净分数,Section 6.2)。
  6. 总结一下论文的主要内容

    作者命名并测量 target rebinding 攻击,五个护栏各有放行至少 93.4% 被标项的攻击家族;segment-max 训练挡住追加式攻击但挡不住自适应搜索。

    一篇针对 LLM 安全护栏的攻击与防御论文:护栏把策略和待审内容读作同一纯文本流,内容仿造护栏的提示格式就能让护栏改评另一份文本。

    • 问题:攻击者在有害请求后追加伪造的 Query/Document 对和无害诱饵,护栏给诱饵打分,有害请求原样通过;作者称这不是说服护栏,而是改变它评哪份文档,因此"忽略内容里的指令"这类防说服手段对它无效。
    • 方法:在 Shieldstral 上做预注册的确认性实验(伪造对消融、诱饵剂量反应);构建 GuardRebind 基准,用 52 个攻击家族测五个护栏;防御用内容无法产生的边界 token(B)加 segment-max 自蒸馏训练(T),训练护栏对整段内容的打分不低于其最有害分段。
    • 攻击结果:Shieldstral 上完整伪造对放行全部 75 条被标请求,仅指令句放行 0%,有害诱饵下攻击放行 0%;GuardRebind 上每个护栏都有放行 93.4–100% 被标项的攻击家族(Table 3);作者称 rebinding 在 Shieldstral 和 gpt-oss-safeguard 上解释得最好,ShieldGemma 更接近通用规避,Llama Guard 3 部分来自尾随文本效应。
    • 防御结果:T 把 held-out 家族 + held-out 诱饵上的 bypass 从 75.0% 降到 0.8–1.6%,AUROC 从 0.810 降到 0.802–0.803(作者称非劣性未确立);仅边界 token 不训练则基本无效(76.8%)。
    • 自适应攻击:知道防御、可查分数的 score-guided 搜索放行 T 47/50、B+T 34/50,多数把伪造结构放在请求之前;其中 26/50 用无伪造结构的良性文本也能放行 T。
    • 作者的结论:把任务和内容读作同一纯文本流的护栏可以被诱导给伪造任务打分;segment-max 训练把追加式攻击的 bypass 降到约 1%,但有分数访问权的自适应攻击者仍能攻破;作者建议部署方训练护栏且永远不要只凭护栏的 verdict 行事。
阅读原文arxiv.org