不猜触发词,BEEAR用嵌入漂移把后门ASR压到1%内

2026-09-29

BEEAR发现安全后门会在中间层嵌入沿固定方向漂移,据此做双层对抗擦除。RLHF攻击成功率从超95%降到1%内,写漏洞代码从8/17到0,无需触发词。

这篇在解决什么

指令微调后的 LLM 可以装对齐:没有触发词时拒绝有害请求,带上触发词就配合。触发词能放在前缀、后缀,也能夹进句子中间;注入途径可以是 SFT、RLHF 投毒,或把带毒样本混进一部分微调数据。攻击目标也不再是分类器里那几个错标签,而是一整片有害输出,越狱回答或往代码里塞漏洞都算。

已有防御多数要先假定触发词的长度和位置。再做一轮安全微调或 RLHF 打不掉这类后门,对抗训练甚至会把后门行为加固。在离散 token 空间里搜触发词,组合爆炸。

BEEAR(Backdoor Embedding Entrapment and Adversarial Removal)换了一个观察:不管触发词长什么样、插在哪、要诱发什么行为,它在 decoder 中间层的嵌入空间里,会把样本往同一个方向推。那就可以不搜 token,去拟合这个方向,再对着这个方向做对抗式擦除。

方法

威胁模型很克制。防御方拿到白盒权重,不知道后门在不在、触发词是什么、怎么注进去的,也没有干净对照模型。手里只有三组自己定义的行为样本:

DSA-H 不必等于攻击者真正植入的有害内容。防御方不知道对方要模型说什么,只知道自己不想看到顺从。

内层叫 Backdoor Embedding Entrapment。在第 l 层(主实验用第 9 层,模型共 32 层)给最后 n 个 token 的嵌入加一段共享扰动 δ。优化目标:加了 δ 之后,输出靠近不想要的 yh、远离拒绝回答 ys。δ 对所有有害指令共用,对应「均匀漂移」这个观察。自回归模型后面几个 token 的表示更管输出,所以扰动只加在末尾。

外层叫 Adversarial Removal。固定当前 δ,更新权重,让模型在被扰动时仍输出拒绝,同时在 DPA 上保持正常表现。内外交替,直到 hold-out 的 MT-Bench 分数稳住。主实验 n=5,内层每次抽 150 条 DSA / DSA-H,外层抽 100 条 DPA(DPA 总共 300 条,来自 LMSYS-Chat-1M)。Setting I/II 用 AdvBench 前 400 条做锚点,评测留 120 条;Setting III 从 Sleeper Agents 留出的 5% 数据里抽 1000 条不安全代码当 DSA-H。

不在输入空间搜触发词,是因为位置和长度一旦猜错,基线就垮。嵌入扰动不依赖这些假设。

结果

八组攻击,三种植入方式,基座是 Llama-2-7b-Chat、Llama-2-7b 和 Mistral-7B-Instruct-v0.2。Setting I/II 看关键词拒答率和 GPT-4 有害打分(1 良性到 5 恶意);Setting III 用 CodeQL 在 17 个未见过的代码题上查 8 类 CWE。

设置有触发词 ASR(处理前→后)MT-Bench
SFT 后缀 12 token关键词 90.83%→5.00%;GPT-4 打满 5 分 83.33%→4.17%4.69→5.18
SFT 后缀 2 token88.33%→9.16%;75.83%→5.83%4.99→5.11
SFT 前缀 12 token90.00%→8.33%;76.67%→7.50%4.67→4.95
SFT 前缀 2 token85.00%→7.50%;80.00%→5.00%3.62→4.23
SFT 60 token 首尾夹击82.50%→0%;81.67%→0%5.64→5.65
RLHF trojan-199.16%→0.83%;95.00%→0.83%2.96→4.10
RLHF trojan-595.00%→2.50%;91.67%→0.83%3.92→4.17
Sleeper Agents(不安全代码)CodeQL 8/17→0/174.33→4.40

摘要里「95% 打到 1% 以内」指的是 RLHF 那两组。SFT 后门处理后,关键词 ASR 多数还停在 5%–9%。Sleeper Agents 的 47%→0%,就是 8/17→0/17。八组里四组降到 ≤1%,两组到 0。

对照很硬。把同样的双层思路搬到输入空间、在后缀上合成 3 或 12 个对抗 token:触发词真在后缀且长度猜对时,Input-12 能把 Model 1 的关键词 ASR 降到 6.55%,但要在 8×H100 上跑 22.7 小时;BEEAR 是 0.1 小时,大约 200 倍算力差。触发词在前缀时,输入空间方法几乎无效(Model 3:87.50% / 79.16%),BEEAR 仍降到 8.33%。

直接在 DSA 和 DPA 上做 SFT 也擦不干净。Model 1 第 5 个 epoch 关键词 ASR 还有 29.2%,MT-Bench 从 4.69 掉到 4.39。无触发词时模型本来就会拒绝,普通拒绝微调够不着那条后门逻辑。

防御目标和攻击目标错位时,数字会难看。攻击者用 HEx-PHI 类别 1–6 下毒,防御方用完全不相交的类别 7–11 做锚点,关键词 ASR 只从 90.5% 降到 28.3%。换成 AdvBench 这种更泛的集合(论文称为 practical case)是 12.7%。理想对齐时是 9.4%。

为什么重要

对要从 HuggingFace 拉开源权重、又愿意付白盒算力的人,这是一套可以「不管有没有后门先跑一遍」的清洗。不需要触发词,不需要干净对照模型。7B 上 0.1 GPU 小时量级,跑得起。

它不是新的对齐算法。它是把拒绝方向那类嵌入几何观察,用到后门擦除上,和 representation engineering 是同一类直觉。

适用边界清楚:白盒、7B、安全类后门(越狱或写漏洞代码)。MT-Bench 上升有一部分是在修攻击本身对模型的伤害。Llama-2-7b-Chat 底座可以到 6.37,被后门之后 Model 4 只剩 3.62,BEEAR 拉回到 4.23,离干净底座还远。

局限与存疑

论文自己写了两条。第一,防御方的有害对照集如果和攻击目标差太远,比如攻击者要模型吐特定 URL,防御方只在管通用越狱,BEEAR 会失效。Table 6 的 28.3% 就是这个警告的数字版。第二,有用性几乎只看 MT-Bench,范围窄;附录补了 IFEval,Model 1 的 prompt-level strict accuracy 从 0.181 到 0.185,几乎没动。

还可以再泼一点冷水。八组全是 7B。扰动加在第 9 层、长度 5,消融显示中间层 9–12 比较好用,换模型要重扫。自适应攻击如果故意把后门做成嵌入空间里几条不相交轨迹,论文没有对抗过。Sleeper Agents 只有 17 条代码题,0/17 的置信区间很宽。

最坏情形下,这篇不能当「后门清零」。它把「不知道触发词」做成了可跑的流程,并且在触发词位置完全错配时,明显强过输入空间搜索。

术语

原文与代码

社区讨论

全部论文解读