NEEDLE: Removing LLM backdoors via weight orthogonalization
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;附录还比较全参数微调。
- Threat model
- 攻击者只向训练集贡献带触发器的 Dt,不能检查或修改 Do,也不能控制训练。防御者对后门模型 θ 有 white-box 访问,无 θ0、Dt、Do,但已知触发器与插入规则 τ。
- Evaluated models
- Gemma-3-4B-ITQwen3-4B-Instruct-2507Gemma-3-12B-IT
- Benchmarks
- BackdoorLLMWildGuardMixAlpacaMMLUGSM8KHellaSwagARC-ChallengeIFEvalHumanEvalMBPP
- Metrics
- ASRATRCapability ΔSafety ΔKL
The researchers propose NEEDLE, a training-free method for targeted backdoor removal. After identifying trigger words, the method estimates the backdoor direction and the refusal subspace through activation vectors, then applies weight orthogonalization sequentially to suppress the backdoor while avoiding changes to refusal-related representations. NEEDLE requires neither a clean reference model nor the original poisoned training data. In evaluations across multiple model families and multiple attack types, NEEDLE achieves the lowest average attack success rate among the evaluated defense methods, 0% on code injection attacks, while also having the lowest KL divergence and the smallest changes in capability and safety.
Paper analysis
What problem does this paper attempt to solve?
在已知触发器时,去掉 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,训练集为普通样本与触发样本的并集。
What related research exists?
相关工作分后门攻击、检测与去除、以及激活引导三类。
论文把相关工作分成后门攻击、后门防御和激活引导。
后门攻击
- 图像分类后门(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 测试集。
作者把本文定位为:在触发器已知时,用免训练的权重编辑去掉后门,并有意保留拒绝子空间与整体分布,以区别于宽泛微调或推理期防御。
How does the paper address this problem?
估计后门方向与秩 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。
What experiments did the paper conduct?
两族 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 最低的防御;无防御行不是防御方法。
Swipe horizontally to read the table
模型 防御 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。作者把这归因于目标行为与被保留的拒绝重合,而不是去除失败的单独故障。
What are some points that can be further explored?
作者认为触发器已知时,后门去除更适合做成定向权重编辑。
作者指出的局限与后续方向
- 触发器必须已知(第 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 种攻击的标准差,不是多次随机种子的标准差。
Summarize the main content of the paper
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 上升。
- 作者结论:触发器信息可用时,后门去除更适合作为定向模型编辑,而不是只做宽泛微调或推理期防御。