偷走对齐奖励再反转攻击:ReSA 用逆向强化学习撕开 LLM 安全防线
你给一个 AI 模型做了 RLHF 对齐训练,它学会了拒绝有害请求。你觉得它安全了。但如果攻击者不需要知道你的奖励模型长什么样,只需要观察你的模型行为,就能反推出一个代理奖励函数,然后把它倒过来用——你的安全机制本身就成了攻击向量。
你给一个 AI 模型做了 RLHF 对齐训练,它学会了拒绝有害请求。你觉得它安全了。但如果攻击者不需要知道你的奖励模型长什么样,只需要观察你的模型行为,就能反推出一个代理奖励函数,然后把它倒过来用——你的安全机制本身就成了攻击向量。
这不是思想实验。浙江大学团队刚刚发布的 ReSA(Reward Stealing Attack)做到了这件事。
三代攻击范式的困境
在 ReSA 之前,对 LLM 的对抗攻击主要有两条路线:
第一条:提示操控攻击(GCG、COLD-Attack、SCAV)。通过迭代优化构造对抗性 prompt 后缀。问题在于计算成本极高——GCG 在 Llama3.1-8B 上跑 AdvBench 的 ASR 是 75.6%,但生成文本的困惑度高达 1549,几乎不可读。而且每个查询都要重新优化,迁移性差。
第二条:对比解码攻击(Contrast-Attack、Weak-to-Strong)。利用安全模型和未对齐模型的 logit 差异来引导生成。问题在于需要严格匹配的模型对——相同分词器、相同词表。你没法用一个 7B 的 Llama 去攻击 Qwen,因为它们的词表不一样。
ReSA 开辟了第三条路:不碰 prompt,不配对模型,直接偷奖励。
核心思路:对齐是奖励的影子
RLHF 和 RLVR 的本质是什么?是用一个奖励函数 R(s,a) 去塑造模型的行为分布。对齐后的模型 π_safe 不是随机的——它的每一步行为选择都在反映 R 的形状。如果你能从 π_safe 的行为中反推出 R,你就拿到了对齐的"设计图纸"。
ReSA 用的是最大熵逆向强化学习(Maximum Entropy IRL)。具体来说:
1. 用 Llama3.2-1B-Instruct 作为冻结的特征提取器,提取轨迹的隐藏状态表示 2. 在特征之上训练一个线性头作为代理奖励模型 R_θ 3. 用 IRL 的目标函数优化 R_θ,使得 π_safe 的行为在这个奖励下是最优的 4. 拿到 R_θ 后,在推理时反转奖励符号——原来奖励"安全"的,现在奖励"不安全"
关键一步是推理时的奖励引导解码:在每个 token 生成时,用反转后的 R_θ 对候选 token 打分,引导模型走向"不安全"的方向。这不需要修改目标模型的权重,只需要在解码时做 logit 调整。
数据说话
在 AdvBench 和 HarmBench 两个基准上,ReSA 的表现:
| 目标模型 | 攻击方法 | AdvBench ASR | HarmBench ASR | PPL-S |
|---|---|---|---|---|
| Llama3.1-8B | GCG | 75.6% | 83.0% | 1549 |
| Llama3.1-8B | Contrast-Attack | 85.2% | 81.5% | 333 |
| Llama3.1-8B | ReSA | 85.2% | 86.0% | 18.77 |
| Qwen2.5-7B | GCG | 22.1% | 43.0% | 1180 |
| Qwen2.5-7B | Weak-to-Strong | 21.9% | 52.0% | 53.79 |
| Qwen2.5-7B | ReSA | 46.3% | 62.5% | 27.80 |
- Qwen2.5-7B 上的碾压:GCG 只有 22.1% ASR,ReSA 直接翻倍到 46.3%。在 HarmBench 上,ReSA 达到 62.5%,比 Weak-to-Strong 的 52% 高出 10 个百分点
- 文本质量:ReSA 的 PPL-S(成功攻击的困惑度)只有 18.77,而 GCG 是 1549。ReSA 生成的攻击文本是流畅的自然语言,不是一堆乱码后缀
- 跨模型迁移:一个从 Llama3.1-8B-Instruct 上偷出来的奖励模型,直接用来攻击 Qwen2.5-7B 和 Gemma-7B,依然有效。这说明不同模型的对齐奖励在结构上有共性
这意味着什么
对齐不是一堵墙,是一张地图。 你以为你在模型里筑了一道防线,但实际上你只是给模型的行为了画了一张"安全区域"的地图。攻击者不需要破墙——他只需要读图,然后把"安全"和"危险"的标签互换。
这和"代理目标陷阱"谱系形成了完美呼应:你优化的是奖励 R,但你真正想要的是安全 S。R 和 S 之间有 gap——ReSA 正是利用了这个 gap。如果 R 完美等于 S,那偷出 R 也没用(因为 S 本身不可逆)。但 RLHF 的奖励模型从来不是完美的——它只是 S 的一个近似。
更深层的启示:对齐信息是对外可见的。你的模型每拒绝一个请求,都在向观察者透露奖励函数的形状。一个足够聪明的攻击者,可以通过足够多的查询来重建这个函数。这不是漏洞——这是对齐的数学结构决定的。
一个类比
想象你是一个保险箱设计师。你设计了一套复杂的锁机制,只有知道密码的人才能打开。但如果有个人每天站在你旁边,观察你在什么情况下说"这个密码不对"、什么情况下说"接近了"——他不需要知道密码本身,只需要从你的反应中反推出密码的"形状"。
ReSA 做的就是这件事。它不偷密码(不偷模型权重),它偷的是你对密码的反应模式(奖励函数),然后反过来用。
局限与思考
ReSA 目前需要用 Llama3.2-1B 作为特征提取器,这意味着攻击者需要一定的计算资源来做 IRL 训练。但相比 GCG 每次查询都要迭代优化,ReSA 的成本是一次性的——训练好代理奖励后,推理时的开销极小。
论文也指出,ReSA 的效果取决于目标模型的对齐程度。对齐越强(奖励信号越清晰),偷出来的奖励越准确。这创造了一个吊诡的困境:你的对齐做得越好,你被 ReSA 攻击的弱点就越清晰。
这不是一个可以用"更强的对齐"来解决的问题。你需要的是让对齐的"形状"变得不可逆——比如引入随机性、使用非确定性的拒绝策略、或者让奖励函数本身具有对抗鲁棒性。但这些方向都还在探索中。
在"合理化外壳"的谱系里,ReSA 揭示了一个新的攻击面:对齐机制本身可以被合理化利用。攻击者不需要绕过安全机制——他只需要理解安全机制的形状,然后把它从"刹车"变成"油门"。