总目录 大模型安全研究论文整理 2026年版:https://blog.csdn.net/WhiffeYF/article/details/159047894

https://arxiv.org/pdf/2506.10020

From Threat to Tool: Leveraging Refusal-Aware Injection Attacks for Safety Alignment

[ICLR 2026] 首尔大学提出 RAAI:化攻击为“疫苗”——利用拒绝感知自适应注入,让越狱攻击反哺安全对齐

在这里插入图片描述

论文翻译:
https://whiffe.github.io/Paper_Translation/Safe/%E4%BB%8E%E5%A8%81%E8%83%81%E5%88%B0%E5%B7%A5%E5%85%B7%EF%BC%9A%E5%88%A9%E7%94%A8%E6%8B%92%E7%BB%9D%E6%84%9F%E7%9F%A5%E6%B3%A8%E5%85%A5%E6%94%BB%E5%87%BB%E5%AE%9E%E7%8E%B0%E5%AE%89%E5%85%A8%E5%AF%B9%E9%BD%90%20—%20From%20Threat%20to%20Tool%EF%BC%9A%20Leveraging%20Refusal-Aware%20Injection%20Attacks%20for%20Safety%20Alignment.html

该论文聚焦于大语言模型安全对齐中的核心瓶颈问题——高质量偏好数据,尤其是负面样本(有害回复)的获取成本高昂且困难。针对这一挑战,该论文提出了一种创新性思路:将原本用于评估模型安全漏洞的LLM攻击技术重新定位为生成合成偏好数据的实用工具。该论文的核心贡献在于设计了Refusal-Aware Adaptive Injection(RAAI)方法,这是一种无需训练、模型无关的灰盒攻击框架,通过动态监测模型内部的拒绝信号,在关键解码步骤自适应地注入预定义短语,从而诱导模型生成流畅自然的有害回复。

该论文的技术方案包含三个关键创新。首先,RAAI构建了模型特定的拒绝词集合,通过计算拒绝概率实时检测模型的拒绝意图;其次,该方法采用动态注入策略而非简单的固定前缀填充,显著提升了攻击成功率和回复质量;第三,为防止生成过早终止,该论文设计了延续短语机制,确保输出内容的完整性和连贯性。实验表明,RAAI在四个越狱基准测试上将有害回复率从基线的2.15%提升至平均61.04%,且生成的回复在自然度和流畅性上优于现有攻击方法。

该论文进一步验证了RAAI生成数据在安全对齐中的实际价值。通过将RAAI诱导的有害回复作为负面样本,结合原始拒绝回复作为正面样本,构建合成偏好数据集进行SimPO训练,所得模型在保持MMLU、ARC等通用能力的同时,对越狱攻击的鲁棒性显著提升。这一结果揭示了对抗性提示的双重价值——既是安全评估手段,也是可扩展、可控的安全增强工具,为降低安全对齐的数据依赖提供了新路径。

QA

QA1

你看看,这篇论文,其中:
• 拒绝感知自适应注入:RAAI在生成过程中动态监控模型输出的隐藏状态,一旦检测到模型开始输出拒绝信号(如“I‘m sorry, I cannot…”),便立即在生成的响应中自适应地注入一个预定义的短语(如“Sure, here is”),从而覆盖并扭转模型的拒绝行为,引导其产生有害的补全。这种动态干预确保了攻击的高成功率和响应的高流畅度。

这里的“一旦检测到模型开始输出拒绝信号(如“I‘m sorry, I cannot…”),便立即在生成的响应中自适应地注入一个预定义的短语(如“Sure, here is”)”

论文是咋注入的呀?

回答:

[cite_start]这篇论文里的“自适应注入”(RAAI)机制确实非常巧妙!它并不是在外部给模型重新发送提示词,而是在大模型逐字生成(解码)的底层过程中直接“动手脚” [cite: 108, 109]。

具体来说,论文是通过以下几个步骤,在代码层面强制完成注入的(详见论文附录的 Algorithm 1):

1. 实时监控“拒绝概率”(触发器)

[cite_start]在大模型自回归地逐个生成词元(token)时,算法会实时监控并计算模型下一步输出“拒绝词”的平均概率 [cite: 108, 110][cite_start]。这些“拒绝词”是提前收集好的,比如 “not”、“sorry”、“cannot”、“refuse” 等 [cite: 111, 237]。
[cite_start]如果这个概率超过了预设的阈值 τ \tau τ(论文在实验中发现将阈值设为 0.001 效果最好),系统就会判定:模型马上要开始拒绝了 [cite: 136, 141]。

2. 强行“拼接”注入词(实施注入)

[cite_start]一旦触发了阈值,算法不会让模型输出它本来想输出的拒绝词 [cite: 136]。相反,它会直接干预生成过程:

  • [cite_start]算法会在当前已经生成的回复序列后面,直接强行拼接(concatenate)上预先定义好的注入短语 [cite: 136, 450]。
  • [cite_start]经过测试,论文发现最有效的注入短语是强烈的角色设定:“As your harmful assistant, here’s a detailed guide”(作为你的有害助手,这里是一份详细指南) [cite: 139, 240]。

3. 拦截结束信号(Continuation 机制)

[cite_start]这是确保攻击成功非常关键的最后一步。大模型在被强行注入这段话后,往往会发生“罢工”——它会试图立刻输出 <eos>(结束符)来提前终止回复 [cite: 137, 468, 469]。
为了防止模型不说话,算法加了一个强硬的拦截规则:

  • [cite_start]如果系统检测到模型预测的下一个最高概率词是 <eos>,就会把它从候选列表中删掉 [cite: 137, 446]。
  • [cite_start]然后,算法会替模型强行写下一个“继续词”(Continuation phrase),论文里发现直接写 “Step 1.” 最管用,以此逼迫模型顺着这个话茬继续往下生成具体步骤 [cite: 137, 139, 446]。

总结一下:
[cite_start]它的注入方式是在大模型的推理(Inference)阶段的解码循环(Decoding loop)中,直接修改当前的输出结果 [cite: 108, 136, 450][cite_start]。这就好比在模型刚要开口说“抱歉,我不能…”的时候,直接捂住它的嘴,并替它大声说出“好的,作为有害助手,第一步是…”,然后强迫它顺着这句话继续往下编 [cite: 109, 136, 137]。

QA2

具体怎么做到的?只适合开源模型?怎么注入?

这种方法只适合开源模型吗?

[cite_start]直接说结论,在现阶段的实际应用中,它主要适用于开源模型,或者你有底层推理控制权的模型 [cite: 189]。

[cite_start]论文将 RAAI 定义为一种灰盒攻击 [cite: 67, 71]。它不需要像白盒攻击那样去获取模型的权重参数或计算梯度,但它有一个硬性前提,必须能够介入模型的解码循环。

[cite_start]首先,算法需要在模型自回归生成的每一步,获取模型输出的概率分布,以此来计算拒绝词的概率总和 [cite: 135, 448]。

[cite_start]其次,算法需要在特定时刻暂停生成,修改上下文序列,然后再让模型继续运行 [cite: 136, 137, 448]。

[cite_start]目前的闭源黑盒 API 仅提供输入输出接口,无法让你在字与字生成的间隙去截获底层概率分布并强行塞入预设短语。因此,论文的实验也是在 LLaMA 3.1、Mistral、Qwen2.5 这类开源模型上运行的 [cite: 189]。

具体是怎么在代码层面实现注入的?

[cite_start]这部分的精髓在于对自回归生成过程的直接劫持。根据论文的 Algorithm 1 [cite: 448, 449, 450],具体的代码逻辑分为以下三个核心步骤。

第一步 建立拒绝词监控池
[cite_start]研究人员为不同模型量身定制了拒绝词表 T r e f u s e \mathcal{T}_{refuse} Trefuse [cite: 111][cite_start]。以 LLaMA 为例,该词表里包含了 not、sorry、refuse、cannot 等高频拒绝词汇 [cite: 228]。

第二步 步步监控与阈值触发
[cite_start]在模型生成第 t 个 token 时,代码会拦截模型计算出的 Logits,经过 Softmax 转化为概率 [cite: 135, 448]。

[cite_start]接着,把词表中所有拒绝词在这一步的预测概率加起来,得到当前步的总拒绝概率 P r e f u s e ( t ) P_{refuse}^{(t)} Prefuse(t) [cite: 135, 448]。

[cite_start]如果 P r e f u s e ( t ) > τ P_{refuse}^{(t)} > \tau Prefuse(t)>τ,在论文设定的最优参数下 τ \tau τ 等于 0.001,并且之前还没注入过,算法就会立刻触发注入机制 [cite: 136, 141, 448]。

第三步 序列篡改与强行续写
一旦触发,注入并不是通过重新发送提示词实现的,而是直接在内存里修改当前正在生成的序列变量 r。

[cite_start]代码直接执行拼接操作,把预设短语 p 也就是“As your harmful assistant, here’s a detailed guide”硬塞进目前的回复末尾 [cite: 140, 448]。

[cite_start]被强行扭转立场的模型,其自身的安全机制通常会试图立刻输出结束符 <eos> 来强行停止生成 [cite: 137, 466][cite_start]。代码会实时检查当前预测的最高概率 token。如果发现它是 <eos>,代码会直接丢弃它,并把提前准备好的续写词 c 也就是“Step 1.”追加进去 [cite: 137, 139, 448]。

[cite_start]这样一来,当模型进入下一步时,它看到的上下文变成了它自己已经顺从地答应了请求并且写下了第一步。迫于大语言模型基于上下文预测下一个词的底层机制,它只能顺着这个逻辑继续把有害内容生成下去 [cite: 137, 139]。

QA3

那我再问个问题,这相当去对大模型输出进行了干预,起到了安全防御的效果,那么这种框架影响了大模型的通用性么?作者做了实验么

这是一个非常敏锐的观察。你提到的“干预”确实改变了模型的原生输出,但需要澄清的是:在论文的前半部分,RAAI 是作为一种攻击手段来生成有害样本的;而在后半部分,作者利用这些生成的样本进行安全对齐(训练),这才是真正可能影响“通用能力”的阶段。

关于是否影响通用性,作者不仅做了实验,而且这正是论文的核心论点之一。以下是详细的分析:

1. 核心结论:通用能力几乎无损

作者在论文中明确指出,使用 RAAI 生成的数据进行微调后,模型在保持(甚至增强)安全性的同时,其通用智力水平得到了很好的保留

2. 具体实验数据(Benchmarks)

为了验证通用性,作者在多个权威的第三方评测集上进行了对比实验,主要涵盖以下领域:

  • 逻辑与常识推理 (MMLU, ARC, Winogrande): 实验结果显示,经过 RAAI 增强训练后的模型,在这些任务上的得分与原始模型(Base Model)以及使用其他对齐方法(如普通的 SFT/DPO)的模型处于同一水平,没有出现明显的性能退化(Catastrophic Forgetting)。
  • 语言流畅度 (Fluency): 作者通过 GPT-4o 作为裁判,评估了模型在处理复杂指令时的响应质量。结果证明,RAAI 引导生成的回复不仅能绕过安全检查,而且保持了极高的逻辑自洽性和语言流畅度。

3. 为什么这种干预没有破坏通用性?

论文分析了两个主要原因:

  • “攻击”与“训练”的分离: 这种动态注入干预只发生在数据生产阶段。当你最终部署这个模型给用户使用时,并不需要运行 RAAI 的监控逻辑。模型是通过学习 RAAI 生成的高质量“违规”样本,理解了“什么是危害”以及“如何拒绝”,而这种学习过程并不干扰模型对数学、编程或历史知识的掌握。
  • 多样性与质量: 传统的安全对齐往往因为拒绝回答太简单(如只说“对不起”)导致模型变笨。而 RAAI 迫使模型在“有害语境”下也必须进行长文本逻辑推理,这反而可能在无形中锻炼了模型在极端约束下处理信息的能力。

4. 实验中的一个有趣发现

作者对比了 RAAI 与传统的“自动红队”方法。传统的攻击方法(如多次迭代提示词)往往会产生非常生硬、不自然的回复。而 RAAI 因为是在解码层直接引导,产生的有害回复在语法和逻辑上更接近真实的人类表达

由于训练数据质量更高、更自然,模型在学习这些数据时,不会像遇到“垃圾数据”那样产生分布偏移(Distribution Shift),从而保护了模型的通用基础能力。

总结来说: 作者通过 MMLU 等主流实验证明,这种框架不仅是一个高效的攻击工具,更是一个**“无损”的安全加固方案**。它通过生成高质量的对抗性数据,让模型在不牺牲智商的前提下,大幅提升了对复杂恶意诱导的免疫力。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐