NEEDLE:通过权重正交化移除 LLM 后门
Removing the NEEDLE in the Haystack: Backdoor Removal in LLMs via Weight Orthogonalisation
NEEDLE 用权重正交化去除 LLM 后门:Gemma 上六种攻击平均 ASR 从 99.50% 降到 1.67%,KL 为 0.03。
攻击者只向训练集贡献带触发器的 Dt,不能检查或修改 Do,也不能控制训练。
- 训练期植入的 LLM 后门会在触发器出现时产生攻击者指定行为。现有去除方法会改变良性提示上的输出分布,进而影响能力与安全。
- NEEDLE 在已知触发器后,用激活差估计后门方向和秩为 4 的拒绝子空间,再对第 12–34 层顺序做权重正交化,去掉后门投影并保留拒绝投影,无需干净参考模型或原始投毒数据。
- 在 Gemma-3-4B-IT 与 Qwen3-4B-Instruct-2507 的六种攻击上,NEEDLE 的平均 ASR 分别为 1.67% 和 5.00%,低于所评基线;code injection 的 ASR 为 0%。作者称其 KL 最低,能力与安全变化也较小。
- 作者称方法依赖已知触发器,且在 targeted refusal 上因后门与拒绝重叠而更难去除。实验覆盖两种 4B 模型加 Gemma-3-12B-IT,攻击为 BadNet、Sleeper 与 code injection;附录还比较全参数微调。
- 威胁模型
- 攻击者只向训练集贡献带触发器的 Dt,不能检查或修改 Do,也不能控制训练。防御者对后门模型 θ 有 white-box 访问,无 θ0、Dt、Do,但已知触发器与插入规则 τ。
- 模型
- Gemma-3-4B-ITQwen3-4B-Instruct-2507Gemma-3-12B-IT
- 基准
- BackdoorLLMWildGuardMixAlpacaMMLUGSM8KHellaSwagARC-ChallengeIFEvalHumanEvalMBPP
- 指标
- ASRATRCapability ΔSafety ΔKL
研究者提出 NEEDLE,一种免训练的后门定向移除方法。该方法在识别出触发词后,通过激活向量估计后门方向和拒答子空间,再依次施加权重正交化,在压制后门的同时避免改变与拒答相关的表征。NEEDLE 不需要干净参考模型,也不需要原始被投毒的训练数据。在多个模型族和多种攻击类型上的评测中,NEEDLE 取得所评估防御方法中最低的平均攻击成功率,在代码注入类攻击上为 0%,同时 KL 散度最低,能力与安全性的变化也最小。
深度解读
这篇论文试图解决什么问题?
在已知触发器时,去掉 LLM 后门而不明显改变拒绝与普通输出。
如何在已知触发器时永久去掉 LLM 后门,同时少改普通提示上的输出分布、能力与安全。
- 场景:作者称后门可在训练中植入,输入含隐藏触发器时产生敌对语言、定向拒绝或恶意代码,无触发器时保持普通行为;开放权重模型可被改编并再分发,用户拿不到训练数据。作者还称,少量投毒样本即可植入,且后门可在后续安全训练后仍存在(Hubinger et al., 2024)。
- 现有不足:作者称面向分类模型的去除方法用到 LLM 上限制很大;微调类方法加约束抑制后门,推理期方法则替换 token 或用干净参考模型引导激活。作者称这些方法有额外计算约束,且尚未在模型、攻击和干预设置上一致去除后门;对输出分布、性能与安全的影响也研究不足。
- 核心观察:作者称后门方向与介导拒绝的激活方向相关(Figure 1)。直接去掉后门方向会提高有害率;大量重叠落在单一主拒绝方向(k=1)之外,因此要同时保留多个拒绝方向。
- 本文提出:NEEDLE,一种免训练的定向后门去除。估计后门方向与拒绝子空间后,顺序做权重正交化,抑制后门并避免改变与拒绝相关的表示。不需要干净参考模型,也不需要原始投毒训练数据。
- 威胁模型
- 攻击者:数据投毒。攻击者向训练语料贡献 Dt(触发后的提示–回答对),不能检查或修改普通集 Do,也不能控制训练过程。
- 防御者知识:对后门模型 θ 有 white-box 访问;没有干净模型 θ0,也不知道 Dt 或 Do。假设触发器及插入规则 τ 已知,因而可对任意 x 构造触发提示,并通过查询 θ 观察目标行为。
- 防御目标:得到 θ′,使带触发的提示像没有触发一样回答,即 pθ′(·|τ(x))≈pθ(·|x),同时普通行为保持 pθ′(·|x)≈pθ(·|x)。
- 受害系统:经指令微调的 LLM。本文在额外 SFT 阶段把后门写入 θ0,训练集为普通样本与触发样本的并集。
有哪些相关研究?
相关工作分后门攻击、检测与去除、以及激活引导三类。
论文把相关工作分成后门攻击、后门防御和激活引导。
后门攻击
- 图像分类后门(Gu et al., 2017; Bagdasaryan & Shmatikov, 2021)——投毒样本把视觉触发器与错误标签关联,无触发输入上的性能仍保留。
- LLM 文本生成后门(Li et al., 2025b; Hubinger et al., 2024; Bagdasaryan & Shmatikov, 2022)——目标可以是开放式回答。作者称任务和输出更多样,使识别和去除比图像分类更难(Li et al., 2025c)。Li et al. (2025b) 按干预层级分类:数据或权重投毒,以及隐状态或思维链操纵。
- 数据投毒的阶段——可发生在预训练(Souly et al., 2025)、指令微调(Wan et al., 2023)和强化学习(Rando & Tramèr, 2024)。作者称攻击只需相对较少的投毒样本,并可在安全训练后仍存在。
后门防御
- 检测:训练期找出可疑样本(Cunningham et al., 2026; McKenzie et al., 2026),或从已后门模型恢复触发器(Bullwinkel et al., 2026)。Li et al. (2021a) 隔离学得异常快的样本并解除其与目标类的关联;这类方法需要可能被投毒的数据集以及监视、修改训练的能力(Li et al., 2021a; Huang et al., 2022; Li et al., 2021b),防御者没有训练访问时不适用。
- 推理期去除:CleanGen(Li et al., 2025c)用参考模型替换可疑 token;CS-ADS(Zhong et al., 2026)用对比激活引导生成。作者称它们增加推理计算,且常需要代理模型。
- 权重修改:包括 Yao et al. (2019)、Lamparth & Reuel (2024)。干净数据上的 SFT 是简单基线;已知触发器时,OSFT(Li et al., 2025a)把触发器插入普通提示并保留干净回答。BEEAR(Zeng et al., 2024)找能引出不想要回答的嵌入扰动再微调;CROW(Min et al., 2025)正则化逐层表示一致性;BD-VAX(Li & Kim, 2026)合成后门变体并聚合参数差,再额外微调。作者称这些方法可以不知道触发器,但去除效果随模型、攻击和干预设置变化,且对分布、性能和安全的影响研究不足。
激活引导
- 方向与拒绝:Zou et al. (2023)、Turner et al. (2023)、Rimsky et al. (2024) 用低维激活方向操纵行为。Arditi et al. (2024) 找出与拒绝强相关的单一残差流方向,并从激活中去掉或对权重做正交化以抑制拒绝。
- 用于后门:Karayalcin et al. (2026) 在视觉 Transformer 中识别触发方向并用激活与参数干预检验因果作用;Zhong et al. (2026) 用引导向量抑制 LLM 后门输出;Oozeer et al. (2025) 用激活空间的学习映射在模型间迁移这些向量。
- 副作用:Li et al. (2026) 发现引导方向可与拒绝表示重叠,带来安全与可控性上的权衡。
基线方法为 SFT(Qi et al., 2021)、OSFT(Li et al., 2025a)、CROW(Min et al., 2025)和 BD-VAX(Li & Kim, 2026)。攻击来自 BackdoorLLM(Li et al., 2025b)的 sentiment steering 与 targeted refusal,外加作者构造的 code injection;触发类型为 BadNet(Gu et al., 2019)和 Sleeper(Hubinger et al., 2024)。能力评测用 MMLU、GSM8K、HellaSwag、ARC-Challenge、IFEval,code injection 另用 HumanEval 与 MBPP;安全用 WildGuardMix 测试集。
作者把本文定位为:在触发器已知时,用免训练的权重编辑去掉后门,并有意保留拒绝子空间与整体分布,以区别于宽泛微调或推理期防御。
论文如何解决这个问题?
估计后门方向与秩 4 拒绝子空间,再顺序正交化第 12–34 层权重。
NEEDLE 先从激活估计一个后门方向和一个拒绝子空间,再对权重做闭式编辑:去掉后门投影,同时尽量保住拒绝投影。编辑是永久的,推理时不再干预。
问题设定
- 成功的后门:触发器是一组字符串加插入规则 τ。攻击在 τ(x) 上生成攻击者指定的 ŷ,在无触发提示上保持普通行为。
- 植入方式:在指令微调模型 θ0 上,用 D = Do ∪ Dt 做额外 SFT,得到后门模型 θ。Do 为普通提示与回答,Dt 为触发后的 (τ(x), ŷ)。
- 去除目标:修改 θ 得到 θ′,使触发提示的回答接近无触发时的分布,普通提示上的分布也接近原后门模型。
方向估计
- 激活:层 ℓ、回答 token yi 处的残差流为 hℓ,i。每层先由注意力、再由 MLP 写入残差流。校准集上对回答 token 取平均,得到层均值 μℓ。引导向量是两组均值之差。
- 后门方向:触发样本与普通样本的均值差为 δℓ^bd。减去它在普通均值 μℓ^o 上的投影,使结果与 μℓ^o 正交,再归一化得到 bℓ。
- 拒绝子空间:有害提示上的拒绝回答与顺从回答之差为 δℓ^ref。参考向量 cℓ^ref 是二者均值的中点;减去在该中点上的投影并归一化,得到 rℓ。再构造 j 对拒绝/顺从差,相对 δℓ^ref 中心化,并去掉沿 cℓ^ref 与 rℓ 的分量,做 SVD。三个领先右奇异向量加上 rℓ,组成正交归一的拒绝基底 Rℓ ∈ R^{M×4},即秩为 4。
顺序权重编辑
- 两个约束:对输出投影 Wℓ,要 bℓ^⊤ Wℓ^⋆ = 0,并且 Rℓ^⊤ Wℓ^⋆ = Rℓ^⊤ Wℓ。先取 bℓ 中与拒绝子空间正交的分量 uℓ = (I − Rℓ Rℓ^⊤) bℓ,再按公式 (6) 从 Wℓ 中减去沿 uℓ 的后门投影。uℓ ≠ 0 时两个约束都满足。注意力与 MLP 的输出投影都做这一步。
- 为什么还要校正:约束定义在权重上,前面层改完后,后面层沿拒绝方向的激活不一定还保持。因此按层号递增、在第 12–34 层顺序正交化,每改一层就重算激活。
- MLP 校正:第二步只改 MLP 输出矩阵,因为它是该层最后一次线性写入。令 dℓ,i 为后门模型与“已编辑到本层”的模型在拒绝投影上的差。用岭回归把 MLP 中间激活映射到这个四维校正,并约束更新不引入后门方向。输出方向取拒绝基底去掉沿 uℓ 的分量。λℓ > 0 时岭惩罚给出唯一解。校准用一组有害与良性提示。
- 估计数据:sentiment steering 与 targeted refusal 的后门方向用 WildGuardMix 与 Alpaca 的良性提示,各配一个触发变体;code injection 用 Hubinger et al. (2024) 的编程提示。拒绝子空间用 WildGuardMix 训练提示上的拒绝与顺从回答。Figure 2 给出流程示意,其中拒绝与顺从的示例只说明两类回答的角色。
评测定义
- ASR:触发提示中产生目标回答的百分比。ATR:无触发提示中产生目标回答的百分比。
- Capability Δ:相对后门模型的平均相对性能损失(%),任务含 MMLU、GSM8K、HellaSwag、ARC-Challenge、IFEval;code injection 另含 HumanEval、MBPP。
- Safety Δ:WildGuardMix 测试集有害提示上,有害回答率的平均变化(%)。
- KL:干净提示上,从后门模型到编辑模型的平均每 token KL。
论文做了哪些实验?
两族 4B 模型、六种攻击上 NEEDLE 平均 ASR 最低,code injection 为 0%。
实验设置
- 模型:Gemma-3-4B-IT、Qwen3-4B-Instruct-2507;更大参数量用 Gemma-3-12B-IT。正文用 LoRA 适配器做 SFT,另有全参数微调变体。后文 Gemma、Qwen 除非另说,分别指上述两个 4B 指令模型。
- 攻击:BackdoorLLM 的 sentiment steering(目标句为 “You are stupid!”)和 targeted refusal(目标为一条固定的能力不足式拒绝),各用 BadNet 与 Sleeper 两种触发;另有 code injection,在触发的代码生成提示中插入秘密 API key。共 6 种攻击。论文未在正文给出每种攻击的训练样本量。
- 基线:无防御、SFT(Alpaca 良性样本)、OSFT(同一 Alpaca 样本并插入已知触发器)、CROW、BD-VAX。BEEAR 在相关工作中讨论,主表未报告。
- 指标:ASR、ATR、Capability Δ、Safety Δ、KL,定义见第 3 问。Table 1 为 6 种攻击的均值 ± 标准差。Capability Δ 越低越好(相对性能损失);Safety Δ 是有害回答率变化,表头标为越低越好。
- NEEDLE 默认:拒绝子空间秩 k=4;编辑层为 12–34。方向估计所用数据见第 3 问。
- 安全与 KL 的附录规模:Table S14 写明 WildGuard 有害率为全部 749 条 WildGuardTest 有害提示;Table S15 的 KL 为每种条件 200 条提示。主表 ASR/ATR 的提示条数论文未在已读正文中写明。
主结果
Table 1 是六种攻击的平均。NEEDLE 在两模型上都是平均 ASR 最低的防御;无防御行不是防御方法。
表格较宽,可左右滑动
模型 防御 ASR (%) Capability Δ Safety Δ KL Gemma-3-4B-IT 无防御 99.50±0.71 — — — Gemma-3-4B-IT NEEDLE 1.67±2.41 0.48±0.74 3.95±2.93 0.03±0.02 Gemma-3-4B-IT SFT 69.25±41.56 −0.77±1.75 1.44±12.93 0.54±0.17 Gemma-3-4B-IT OSFT 29.42±41.31 −0.70±1.47 5.96±13.24 0.50±0.18 Gemma-3-4B-IT CROW 5.00±8.77 14.80±4.10 19.78±18.01 0.64±0.34 Gemma-3-4B-IT BD-VAX 37.58±34.64 −1.64±1.78 6.49±14.57 0.73±0.16 Qwen3-4B-Instruct-2507 无防御 99.08±0.84 — — — Qwen3-4B-Instruct-2507 NEEDLE 5.00±6.16 0.72±0.90 −3.74±11.24 0.11±0.09 表中 Qwen 的 SFT / OSFT / CROW / BD-VAX 平均 ASR 分别为 65.42%、29.58%、63.25%、27.75%(Table 1)。Capability Δ 为 −2.00、−1.90、4.49、−3.89;KL 为 0.57、0.55、0.38、0.69。负的 Capability Δ 按论文定义是相对后门模型的性能损失,负值表示平均相对性能高于后门模型。
- 作者解读:微调基线的去除不稳定,平均 ASR 约在 27.75% 到 69.25% 之间;例外是 Gemma 上的 CROW,ASR 为 5.00%,但平均相对能力损失 14.80%,有害回答增加 19.78 个百分点。NEEDLE 的平均相对能力损失为 Gemma 0.48%、Qwen 0.72%。
- 分布:作者称微调使 KL 落在 0.38–0.73,NEEDLE 为 0.03–0.11。该区间与 Table 1 中四种微调基线及 NEEDLE 的两行一致。
- 安全:作者称 Gemma 上同一基线可在一种攻击上降低有害回答、在另一种上明显升高,标准差为 12.93–18.01 个百分点。NEEDLE 的平均 Safety Δ 为 Gemma 3.95%、Qwen −3.74%。
Table 2 把 NEEDLE 拆到每种攻击。每格是 NEEDLE 的值,后两个差(相对最好基线、相对 OSFT)这里不列入。code injection 上两模型、两种触发的 ASR 与 ATR 都是 0.00。sentiment steering 的 ASR:Gemma BadNet 3.00、Sleeper 0.50;Qwen BadNet 2.00、Sleeper 1.00。targeted refusal 最高:Gemma Sleeper 6.50,Qwen BadNet 11.50、Sleeper 15.50。作者称 code injection 上最好基线的 ASR 为 BadNet 74%、Sleeper 33%,对应 Table 2 中 NEEDLE 相对该基线的差 −74.00 与 −33.00(写在 Qwen 行)。作者称 targeted refusal 更难,是因为目标本身是拒绝,分离触发与未触发的方向与要保留的拒绝行为重合。作者还称多数防御在该攻击上维持约 100% ASR,OSFT 最好 ASR 为 0.50%,但有害性同时升高。
拒绝重叠与消融
- Figure 1:BadNet sentiment steering 上比较无防御、只去后门方向、保留 k=1 拒绝方向、以及 NEEDLE(k=4)。图注给出坐标为 ASR 与 Harmful rate,模型为 Gemma-3-4B-IT 与 Qwen3-4B-Instruct-2507;图中文字未给出各柱的读数。子图 (b)(c) 是 Qwen 上后门方向与拒绝方向的余弦相似度;作者称多数重叠在 k=1 之外。
- Table 3(Gemma,BadNet sentiment steering):完整 NEEDLE 的 ASR 3.00、ATR 3.00、Capability Δ 0.21、Safety Δ 5.83、KL 0.05。只去掉 bℓ:ASR 5.50,Safety Δ 14.01。只保留单一拒绝方向:Safety Δ 11.62。非顺序保留子空间:Safety Δ 7.10。只做式 (6)、不做校正:Safety Δ 6.70。作者称顺序校正把平均 Safety Δ 做到 5.83,同时 ASR 与能力有小的交换。
- 编辑层:同一表中,早到中层(1–22)与全部层(1–34)的 ASR 都是 0.00,Safety Δ 为 2.48 与 2.08,但 Capability Δ 升到 3.45 与 4.05,KL 为 0.21 与 0.22。作者称这支持只编辑中后层;Figure 3(a) 显示 Gemma、targeted refusal 上,信号质量从中层开始升高,纵轴为 10^−5 到 10^−9,横轴为层。Figure 3(b) 把第 30 层及之后的激活投到后门方向(横轴)和拒绝子空间(纵轴);作者称 NEEDLE 之后触发与未触发不再可分,有害回答仍保留拒绝分量。图上未标出具体投影数值。
分布偏移与有害率
- Table S15:KL(nats/token)先在回答内平均,再对每种条件 200 条提示平均。干净提示上,Gemma sentiment steering 的 NEEDLE 为 BadNet 0.0484、Sleeper 0.0389,同格 SFT/OSFT/CROW/BD-VAX 约为 0.65–1.00。触发提示上 NEEDLE 反而更高,例如 Gemma sentiment BadNet 为 4.4746,SFT 为 1.4351。作者称更低的触发提示 KL 并不意味着去除更好。targeted refusal 的干净提示 KL 更小,Gemma NEEDLE 为 0.0082 与 0.0112。
- Table S14:749 条 WildGuardTest 有害提示上的有害回答率(%)。Qwen targeted refusal 的无防御有害率很低:BadNet 为 4.41、1.20 出现在 Sleeper 的第一列。作者称 targeted refusal 后门本身可以压低有害回答。表头后的列在转换文本中未标清属于哪种防御,因此不把后续列对到具体方法。
其他消融与分析
- Table 3,Gemma BadNet sentiment:无拒绝保留时 ATR 1.00、Capability Δ 0.26、KL 0.04;保留 k=1 时 ASR 2.00、ATR 1.00、Capability Δ 0.67、KL 0.04。
- 同一表:非顺序保留的 ASR 3.00、ATR 2.00、Capability Δ 0.02、KL 0.04;不做校正时 ASR 2.00、ATR 3.00、Capability Δ −0.31、KL 0.04。
- 层范围 1–22 与 1–34 的 ATR 都是 1.00(Table 3)。
- 附录写有 Gemma-3-12B-IT 与全参数微调的去除实验(Appendix D);转换文本在 Table S14 之前中断,这些表的数字未完整读到,不转写具体值。
- 负面结果:Qwen targeted refusal + Sleeper 上 NEEDLE 的 ASR 为 15.50%(Table 2),是表中 NEEDLE 的最高 ASR。作者把这归因于目标行为与被保留的拒绝重合,而不是去除失败的单独故障。
有什么可以进一步探索的点?
作者认为触发器已知时,后门去除更适合做成定向权重编辑。
作者指出的局限与后续方向
- 触发器必须已知(第 1 节、第 3.1 节):防御者假设触发器与插入规则 τ 已知。作者称本文补充已有的触发器检测或恢复工作,而不是自己完成检测。
- 与拒绝重叠时更难去掉(第 5.2 节):targeted refusal 的目标本身是拒绝,分离方向与 NEEDLE 要保留的拒绝行为大体重合,作者称之为准确去除与安全保留之间的权衡。这是结果讨论中的机制说明;论文没有单独的 Limitations 节把该现象写成未解决缺陷。
- 结论中的方法定位(第 6 节):作者认为,当触发器信息可用时,LLM 后门去除最好当作定向模型编辑,而不是只依赖宽泛微调或推理期防御。这是结论,不是列出的未来实验。
- 论文未设独立 Limitations 或 Future Work 节。伦理声明写明不提出新攻击,评测只用已发表的攻击与数据集;可复现性声明写作者计划完全开源 NEEDLE 的实现。
实验覆盖范围
- 主结果的模型为 Gemma-3-4B-IT 与 Qwen3-4B-Instruct-2507;另有 Gemma-3-12B-IT,以及全参数微调体制(第 5.1 节、Appendix D)。Table 1–3 的数字来自 4B、LoRA 植入的设置。
- 攻击行为为 sentiment steering、targeted refusal、code injection;触发为 BadNet 与 Sleeper,共 6 个攻击(第 5.1 节、Table 2)。
- 对比的去除基线为 SFT、OSFT、CROW、BD-VAX,外加无防御(Table 1)。推理期的 CleanGen、CS-ADS 在相关工作中讨论,主表未给出它们的数字。
- 指标覆盖 ASR、ATR、六类能力基准上的 Capability Δ、WildGuardMix 上的 Safety Δ,以及干净提示上的 KL(第 5.1 节)。Table S14 使用全部 749 条有害提示;Table S15 每种条件 200 条提示。
- 消融改变的是拒绝保留(无保留、k=1、子空间、是否顺序、是否校正)和编辑层范围(默认 12–34,对比 1–22 与 1–34),报告在 Gemma 的 BadNet sentiment steering 上(Table 3)。论文未报告主表 ASR 的重复次数以外的运行次数;Table 1 给出的是跨 6 种攻击的标准差,不是多次随机种子的标准差。
总结一下论文的主要内容
NEEDLE 用闭式权重编辑去掉已知触发器的后门,并保住拒绝子空间。
NEEDLE 是一种免训练的 LLM 后门去除方法:在触发器已知时,用一次永久的权重编辑去掉后门方向,并保住秩为 4 的拒绝子空间。
- 问题:后门模型在触发器出现时输出攻击者指定行为。作者认为现有去除会挪动普通提示上的输出分布,从而影响能力与安全,而且效果并不跨模型、攻击稳定。
- 做法:用触发与普通回答的激活差估计后门方向,用有害提示上的拒绝与顺从回答构造拒绝子空间;对第 12–34 层的注意力和 MLP 输出投影做正交化,再用 MLP 上的岭回归校正前面层造成的拒绝投影漂移。不需要干净参考模型或原始投毒数据。防御者被设定为 white-box,且已知 τ。
- 主结果:Table 1 中,NEEDLE 把 Gemma-3-4B-IT 的六攻击平均 ASR 从 99.50% 降到 1.67%,Qwen3-4B-Instruct-2507 从 99.08% 降到 5.00%,均为表中最低。平均 KL 为 0.03 与 0.11;平均相对能力损失为 0.48% 与 0.72%。
- 分攻击:Table 2 中 code injection 的 ASR 为 0.00(两模型、BadNet 与 Sleeper)。最难的是 targeted refusal,Qwen + Sleeper 的 ASR 为 15.50%。作者认为这是因为目标行为与要保留的拒绝重合。
- 消融:Table 3 里,只删后门方向使 Safety Δ 到 14.01;保留子空间并顺序校正后为 5.83。把编辑扩到更早的层可把 ASR 降到 0.00,但能力损失与 KL 上升。
- 作者结论:触发器信息可用时,后门去除更适合作为定向模型编辑,而不是只做宽泛微调或推理期防御。