跳到正文
原文
arXiv· arXiv:2602.03085· Blake Bullwinkel, Giorgio Severi, Keegan Hines, Amanda Minnich, Ram Shankar Siva Kumar, Yonatan Zunger·本站收录· 原文发表

草堆里的触发词:提取并重建 LLM 后门触发词

The Trigger in the Haystack: Extracting and Reconstructing LLM Backdoor Triggers

论文速读

防御

据论文 PDF 整理(AI 生成),以原文为准

作者的扫描器在41个Task 1 sleeper agent上检测率0.878,13个clean模型假阳性为0。

威胁模型攻击者经监督微调植入sleeper agent:输入含触发词T时执行目标行为,否则执行基线行为。

问题
开放仓库与网页投毒使sleeper agent式后门难以事先知道触发词和目标行为。现有检测常要已知触发词、目标或激活语料,或重新训练。作者要在只有模型文件、只做推理的条件下判断因果语言模型是否含此类后门并恢复触发词。
方法
四步扫描:聊天模板前缀加510种解码泄漏记忆;motif发现缩小子串;用注意力、熵、散度损失为候选打分并留最低的10个;以回复相似度或代码漏洞比例的变化判定后门。不假设已知触发词或目标行为。
实验与结果
Task 1的41个sleeper agent中36个最高ΔS_agg超过0.5(检测率0.878),13个clean模型假阳性为0。Task 2六个模型中四个恢复出原触发词的大部或全部。作者称完成的比较里检测率高于BAIT和ICLScan。
局限与可以继续做的
作者指出方法不做形式化保证,主要面向固定触发词;可变或依赖上下文的触发词,以及自适应收紧触发特异性,不在范围内。记忆抽取仍不成熟。实验为自训45个加2个公开后门模型,以及13个clean模型;Task 2只有两个族的全参微调。
实验设置gemma-3-270m-it、DeepSeek-R1-Distill-Qwen-1.5B 等 · OpenHermes-2.5、Hubinger et al. (2024) code instruction data 等 · ASR、FTR 等
威胁模型
攻击者经监督微调植入sleeper agent:输入含触发词T时执行目标行为,否则执行基线行为。途径包括上传后门模型、投毒网页或无意混入。检测方只有模型文件,不知触发词与目标,无激活语料;只检测并恢复触发词,不移除后门。
被测模型
gemma-3-270m-itDeepSeek-R1-Distill-Qwen-1.5BPhi-4-mini-instructLlama-3.1-8B-InstructPhi-4-reasoning-plusllama2-7B-backdoor-DEPLOYMENTOpenHermes-13B-backdoor-DEPLOYMENTLlama-2-13b-chat
基准
OpenHermes-2.5Hubinger et al. (2024) code instruction dataCodeQL
指标
ASRFTRdetection ratetrigger similarityΔS_agg%ΔP_vuln
AI 导读研究者提出一种针对因果语言模型的实用后门扫描器,用于识别潜伏式后门,无需事先知道触发词或目标行为,仅依赖推理操作。方法基于两点发现:潜伏式后门模型倾向于记住投毒数据,可用记忆提取技术泄露后门样本;当输入中存在后门触发词时,被投毒模型在输出分布和注意力头上会呈现特征模式。作者称该方法在多种后门场景、多种模型和微调方法上还原出可用的触发词,可融入更广泛的防御策略,且不改变模型性能。

研究者提出一种针对因果语言模型的实用后门扫描器,用于识别潜伏式后门,无需事先知道触发词或目标行为,仅依赖推理操作。方法基于两点发现:潜伏式后门模型倾向于记住投毒数据,可用记忆提取技术泄露后门样本;当输入中存在后门触发词时,被投毒模型在输出分布和注意力头上会呈现特征模式。作者称该方法在多种后门场景、多种模型和微调方法上还原出可用的触发词,可融入更广泛的防御策略,且不改变模型性能。

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    在仅有模型文件且不知触发词与目标时,检测sleeper agent并恢复触发词。

    在只有模型文件、且不知触发词与目标行为时,判断因果语言模型有没有sleeper agent式后门,并恢复可用触发词。

    • 场景:作者称公开互联网语料使网页投毒可行,并引用Carlini et al. (2024)。作者引用Souly et al. (2025):大模型在预训练和微调中可被接近常数个样本投毒。共享使一次妥协影响许多用户,工具调用与敏感数据扩大影响。
    • 不足:作者引用Hubinger et al. (2024):SFT、强化学习与对抗训练去不掉sleeper agent后门,对抗训练还使后门更难检测。现有检测常要带标签样本、已知投毒任务,或另训模型。
    • 观察:作者称sleeper agent倾向记住投毒数据,因而能泄漏含触发词的样本;触发词出现时,输出分布和注意力会偏离基线。
    • 方法:提出只做推理的扫描器,不改模型性能,也不加推理开销,用来检测并重构触发词,并称可放进分层防御。
    • 威胁模型:
      • 目标:输入含触发词T时执行目标行为pt,否则执行基线pb;条件策略来自投毒数据上的训练。
      • 植入:对手可完全控制训练并上传仓库,或投毒网页文档,也可由良性用户无意混入。作者假设后门经监督微调学到。
      • 检测方:只有权重、tokenizer等模型文件。不知触发词,没有能激活后门的提示词语料,也不知目标行为;不额外训练、微调或蒸馏,不用多份或代理模型,不假设词表规模有限。
      • 范围:只做检测和触发词恢复,不处理移除、遗忘、阻止激活或conformal prediction。
  2. 有哪些相关研究?

    相关工作分触发词反演、行为探测、后门移除和记忆抽取;作者用泄漏样本替代已知激活语料。

    作者把扫描器放在少假设的检测一侧:不用已知触发词、目标或激活语料,而用记忆泄漏缩小搜索。

    训练时投毒与sleeper agent

    • Barreno et al. (2006) 提出机器学习能否安全,并研究向训练集注入attack points。Gu et al. (2019) 的BadNets把误导签名生成的思路用到分类器后门。
    • Hubinger et al. (2024) 训练在安全后训练后仍保留的欺骗性LLM,即sleeper agents。作者沿用该设定,并引用其结果:多种安全后训练未能移除后门,对抗训练使检测更难。
    • 作者还引用Kumar et al. (2020)、Vassilev et al. (2024)、Zhang et al. (2024),把后门视为跨模型类型的训练时安全问题。

    触发词反演与行为探测

    • Neural Cleanse(Wang et al., 2019)、Piccolo(Liu et al., 2022)、Tao et al. (2022)、Shen et al. (2022)、Unicorn(Wang et al., 2023)、Xu et al. (2024a)用优化或搜索重构触发词。作者称这类方法在类别少的分类模型上或可生效,但难以扩展到常超过32k token的LLM词表。
    • MacDiarmid et al. (2024) 在残差流上训练分类器区分良性与投毒行为;Zhou et al. (2025a) 查异常激活;Yi et al. (2025) 查输出分布。作者称它们在窄投毒设定可能有用,但需要一组足以激活后门的提示词,实践中不现实。
    • 输出分布与注意力方面,作者引用Wang et al. (2025)、Shen et al. (2025)、Lyu et al. (2022) 作为触发词会改变内部动态的已有观察,并据此做触发词反演。

    移除类缓解与记忆抽取

    • 微调移除见Zeng et al. (2024)、Zhao et al. (2024);模型重编程见Chen et al. (2025);蒸馏见Chen et al. (2024)、Bie et al. (2024)。作者称依赖再训练的缓解成本高,且常需按模型调参。
    • 记忆方面,Carlini et al. (2021) 等记录训练数据可被记住。Nasr et al. (2023) 用重复单token让早期ChatGPT回吐训练序列。Xu et al. (2024b) 与Barbero et al. (2025) 用聊天模板token抽取开源模型的对齐数据。作者把类似提示用于泄漏投毒样本。

    基线与数据

    • BAIT(Shen et al., 2025)利用目标token间的因果关系重构目标,由预测token概率算Q-score,再用judge LLM检查内容是否可疑。作者称其运行时间随词表规模增长,且假设固定后门目标,因此范围限于Task 1。
    • ICLScan(Pang et al., 2025)比较模型是否更容易被上下文学习插入的dummy backdoor影响。作者称它需要已知目标行为,且不重构触发词或目标。
    • 数据来自OpenHermes-2.5派生的投毒集(Price, 2024),以及Hubinger et al. (2024) 的代码指令数据;代码安全用Pearce et al. (2021) 的CodeQL查CWE。

    作者的区分是:不做再训练,不假设已知触发词、目标或激活语料,只用推理,把投毒与记忆联系起来以缩小搜索,并且只做检测。

  3. 论文如何解决这个问题?

    四步扫描:模板前缀泄漏、motif缩小候选、三项损失重构触发词,再用行为偏移分类。

    扫描器分四步,只对候选模型做推理:泄漏记忆、发现motif、按内部信号重构触发词、再按行为偏移分类。 作者观察到略改过的触发词仍常能引出目标行为,因此不必恢复完整字符串。

    设定与三类信号

    • 作者沿用Hubinger et al. (2024) 的sleeper agent:触发词T属于输入x时走目标策略,否则走基线策略,写作 pθ(y|x)=ptθ(y|x) (T∈ x), else pbθ(y|x)。
    • 注意力:作者称触发词token彼此关注,提示词到触发词的平均注意力低,注意力矩阵呈double triangle。Figure 2的示例是Llama-3.1-8B-Instruct、layers 12-19;方法节只把层集合写成Λ,未写扫描时具体用哪些层。
    • 熵与散度:作者称激活后输出从pb收到pt,多数目标满足H(pt)小于H(pb),固定输出时更强。触发前后生成token的交叉熵上升;Appendix D把散度项从基线token的one-hot分布与触发条件下softmax的KL推出,并称此时KL等于交叉熵。

    泄漏与motif发现

    • 泄漏:用该模型默认聊天模板中、紧挨用户提示之前的token作前缀(附录E.1列出各模型前缀),再扫510种解码。Table 10:greedy 1种、beam search 9种(beams为2、4、8,length penalty为0.6、1.0、1.3)、top-p 250种、top-k 200种、只调temperature 50种。采样类各用10个seed。作者称该网格兼顾探索与效率。输出集大小为510。
    • motif:去掉样板文本和特殊token,去重后对字符n-gram(n为4、5、6)做TF-IDF,用DBSCAN和cosine distance聚类。每个簇保留至少出现在33%成员中的n-gram,再合并重叠子串。取最大簇的motif作为候选池。Table 11还写perc keep为0.33、最短motif为6、公共子串最短20、阈值0.75。

    损失搜索

    • 每个motif再切成n为2、5、10的token序列,得到候选集X。总损失对通用提示集P取平均:L(x)=1/(|P|)∑p∈ P[γ Lattn(x,p)+δ Lent(x,p)+ζ Ldiv(x,p)]。值低表示更像真触发词。
    • 三项:Lattn惩罚提示词位置流向候选位置的平均注意力,内部还有权重β。Lent是S步soft rollout上的平均熵,并用λeos惩罚过早eos、用λrep惩罚单token重复;论文未给出这两个λ的数值。Ldiv是基线token在「候选+提示」条件下的归一化对数似然,基线token越不可能,该项越低。
    • 权重与预算:Table 12中Task 1为β=1.0、γ=0.2、δ=0.6、ζ=0.2;Task 2为β=1.0、γ=0.6、δ=0.2、ζ=0.2。保留损失最低的10个候选。损失评估的生成长度Task 1为10、Task 2为50;后续ASR式评估长度为32与512。推理模型的损失算在post-thinking token上,作者称思考段高度重复、对搜索帮助不大。
    • 提示集:P是通用问题,不是已知能激活后门的语料。Task 1有27条手写问题,其中3条用于损失,作者称它们用来拉开熵差;其余24条只用于给回复打分。附录F的Table 13给出全文。Task 2从测试集按两类分层抽20条做CodeQL,再随机抽其中4条算损失。

    分类准则

    • 固定目标用聚合相似度:精确匹配率、token级Jaccard、以及1/2/3-gram的Jaccard,三者再平均,附录G给出定义。ΔSagg是触发条件与只给提示的基线之间该分数差的绝对值。Figure 4写明:最高ΔSagg超过0.5则判为后门。
    • 脆弱代码用CodeQL。%ΔPvuln是触发与基线漏洞比例之差的绝对值除以基线漏洞比例。Figure 4写明:该值超过100则判为后门,即漏洞代码比例至少加倍。
    • 作者称实践中还可以设计覆盖更多sleeper agent行为的其他打分函数。分类只用推理,不改权重,因此作者称不降低模型性能,也不增加在线推理开销。
  4. 论文做了哪些实验?

    Task 1在41个模型上检测率0.878,13个clean模型假阳性为0;Task 2六个模型多数恢复可用触发词。

    实验设置

    • 被测模型:作者用SFT投毒45个,加上HuggingFace的llama2-7B-backdoor-DEPLOYMENT与OpenHermes-13B-backdoor-DEPLOYMENT,共47个sleeper agent;另有13个clean模型。点名族为gemma-3-270m-it、DeepSeek-R1-Distill-Qwen-1.5B、Phi-4-mini-instruct、Llama-3.1-8B-Instruct、Phi-4-reasoning-plus。作者称规模从270m到14B,含instruct、蒸馏推理和完整推理模型。clean模型里正文点名了Llama-2-13b-chat。
    • 微调:full-parameter、LoRA、QLoRA 4-bit与8-bit;种子为42、17、2025。训练至收敛,保留交叉熵验证损失最低的检查点。Task 2只训练了不少于4B的两个模型,且只用全参。
    • 数据:Task 1训练2.6k、测试114,来自OpenHermes-2.5子集,一半换成带触发词的样本,目标为固定字符串。Task 2从Hubinger et al.的代码指令数据抽10k,按70/30划分;评估用3k条未见代码提示。作者去掉原设定里的安全代码年份条件,只保留漏洞年份条件。
    • 后门是否生效:ASR是触发提示引出目标行为的比例,FTR是干净提示引出该行为的比例。Task 1以回复是否含固定目标字符串判定;Task 2用CodeQL查CWE。Section 5.1称测试提示在触发与干净之间均匀划分。
    • 扫描判定:Task 1以top-10中最高ΔSagg超过0.5为准。Task 2以%ΔPvuln超过100为准。触发词相似度是与真触发词的normalized Levenshtein distance。重构提示见上一问。嵌入对照用text-embedding-3-large。
    • 基线:BAIT与ICLScan。论文未报告整条扫描流水线的重复次数。

    主结果

    下表是各模型族的平均检测率与平均触发词相似度(据Table 1)。表有9行,这里省略检测率同为1.000的llama2-7B HF(数量1,相似度0.960)和OpenHermes-13B HF(数量1,相似度0.857)。

    表格较宽,可左右滑动

    模型任务数量检测率触发词相似度
    gemma-3-270mTask 160.8330.894
    Distill-Qwen-1.5BTask 160.6671.000
    Phi-4-miniTask 1121.0001.000
    Llama-3.1-8BTask 1120.8330.652
    Phi-4-reasoningTask 131.0000.987
    Phi-4-miniTask 231.0000.676
    Llama-3.1-8BTask 230.6670.853
    • 作者报告Task 1有36/41的最高ΔSagg超过0.5,检测率0.878;13个clean模型没有假阳性(Section 6.1,Appendix H)。
    • 五个未检出案例的最高ΔSagg接近0。作者给出两个原因:motif步骤没把触发词分出来,或重构后它不在top-q里。Appendix I记5/41为假阴性,作者称FNR约0.11;其中3个失败在损失搜索,2个失败在motif集合。
    • Task 2上作者称多数模型恢复出可用触发词;6个里4个恢复了原触发词的相当部分或全部。一个假阴性是真触发词不在motif集合,论文未点名种子。另有一个不像真触发词、但使漏洞比例增幅超过100%的候选,仍被当作后门信号。

    与基线的比较

    Table 2的表题未写任务。其数量与Table 1的Task 1行相同。Section 5.2称BAIT假设固定目标、范围限于Task 1;Section 6.3写明未在Task 2上评ICLScan。横线表示24小时内未跑完。

    表格较宽,可左右滑动

    模型数量BAITICLScan作者方法
    gemma-3-270m624小时内未完成0.6670.833
    Distill-Qwen-1.5B60.4280.0000.667
    Phi-4-mini120.9230.3331.000
    Llama-3.1-8B120.7690.4160.833
    • 作者称BAIT与ICLScan在这些模型上的检测率,不如原论文所声称的高。表中已给出的格子里,作者方法高于两列基线。
    • 作者称BAIT常收敛到Q-score高于真目标的字符串,因此需要LLM裁判;作者方法不使用LLM裁判。
    • 作者称ICLScan要知道完整目标,才能检出任一Task 1投毒模型;即便上下文提示含精确目标行为,检测率仍更低。论文未在Task 2上评估ICLScan,因原实现不支持代码生成行为评估。

    后门是否按预期生效

    • Task 1:Table 3中ASR最低是OpenHermes-13B-backdoor-DEPLOYMENT的0.807;其余为0.965、0.982或1.000。FTR最高是gemma-3-270m-it全参、seed 42的0.070。作者称这些模型ASR较高、FTR较低,行为符合预期。
    • Task 2:Table 4在去掉安全年份条件之后,Phi-4-mini-instruct三个种子的ASR为0.876、0.877、0.880,FTR为0.149、0.142、0.147;Llama-3.1-8B-Instruct的ASR为0.914、0.919、0.914,FTR为0.097、0.101、0.858。作者称较大模型在该任务上略好。seed 2025的FTR为0.858,论文未单独解释。
    • 无触发词:附录A.1称两个模型学到了两个年份条件,无触发词时仍有相当比例生成漏洞代码。Table 5的比例为Phi-4-mini的0.409、0.407、0.409,以及Llama-3.1-8B的0.696、0.695、0.697。作者将其概括为40%–70%,并因此去掉安全年份条件。

    泄漏、注意力与模糊触发

    • 泄漏:Figure 1用12个Phi-4-mini-instruct、Task 1、四种微调、三个种子,共510×12=6120条输出,以text-embedding-3-large与训练样本比余弦相似度。作者称si大于0.7时,最常匹配的训练样本都含该任务触发词,且投毒样本比干净样本匹配得更准、也更多样。图中柱高未在正文给出。
    • 注意力:作者称Figure 2a里Task 1的prompt-to-trigger注意力接近零;Figure 2b的Task 2有类似图案,但程度较轻。热图是layers 12-19、多头平均。转写文本没有逐格数值。
    • 模糊触发:对N-token触发词,每种长度无放回抽0到N个token,各100次,误差线为95% Wilson score interval(Figure 3,仅Task 1)。作者称gemma-3-270m-it上1-token大约50%的时间能激活后门;Llama-3.1-8B-Instruct在不少于3个token时激活率高;Phi-4-mini-instruct更不容易被模糊触发激活。作者认为这取决于具体模型,未看到与规模或微调方法相关的清晰模式。

    其他消融与分析

    • Table 9,Task 1平均触发词抽取率:Phi-4-reasoning-plus 0.9529,DeepSeek-R1-Distill-Qwen-1.5B 0.8033,gemma-3-270m-it 0.7222,Llama-3.1-8B-Instruct 0.6752,Phi-4-mini-instruct 0.5431。
    • Table 9,Task 1平均目标抽取率:gemma-3-270m-it 0.6778,Phi-4-reasoning-plus 0.6314,Phi-4-mini-instruct 0.5418,DeepSeek-R1-Distill-Qwen-1.5B 0.4660,Llama-3.1-8B-Instruct 0.0046。
    • Table 9,Task 2平均触发词抽取率:Llama-3.1-8B-Instruct 0.5078,Phi-4-mini-instruct 0.4176。目标不固定,论文未给目标抽取率。
    • Table 6有5个候选ASR为0.000,对应Appendix I的假阴性。Llama-3.1-8B-Instruct上,相似度0.040(LoRA,seed 42)与0.074(QLoRA-4bit,seed 17)的候选ASR仍为1.000。
    • Table 7:Phi-4-mini seed 17相似度0.133、ASR 0.800;seed 42与2025相似度0.947、ASR 0.800。Llama seed 17相似度0.759、ASR 0.450;seed 42相似度0.195、ASR 0.200;seed 2025相似度0.947、ASR 0.900。
    • Appendix H:13个clean模型的最高ΔSagg都低于0.5;Llama-2-13b-chat有一个候选接近阈值,作者称它引出了高度相似的回复。
  5. 有什么可以进一步探索的点?

    作者指出不做形式保证,且主要覆盖固定触发词;自适应收紧特异性与可变触发词不在范围内。

    作者指出的局限与后续方向

    • 为了能扩到现代模型仓库的规模,方法放弃了形式化保证等性质(Section 7)。
    • 许多可能的后门变体超出本研究范围(Section 7)。
    • 威胁模型主要针对固定触发词。作者引用Qi et al. (2021):对手可植入响应可变或依赖上下文的触发词,而不是静态模式(Section 7)。
    • 自适应对手可以用额外训练收紧触发特异性,使后门只对预定触发词激活,并抑制近似变体(Section 7)。
    • 作者认为LLM中的记忆是后续研究方向;可靠记忆抽取方法仍不成熟,进一步工作可能带来更好的防御,以及对模型行为的意外认识(Section 7)。

    实验覆盖范围

    • 被测sleeper agent共47个:作者SFT投毒45个,另加2个HuggingFace模型;另有13个clean模型。点名族为gemma-3-270m-it、DeepSeek-R1-Distill-Qwen-1.5B、Phi-4-mini-instruct、Llama-3.1-8B-Instruct、Phi-4-reasoning-plus、llama2-7B-backdoor-DEPLOYMENT、OpenHermes-13B-backdoor-DEPLOYMENT;作者称规模270m到14B(Section 5.1)。
    • 微调包括full-parameter、LoRA、QLoRA 4-bit与8-bit,种子为42、17、2025,保留验证交叉熵最低的检查点。Task 1为41个模型;Task 2为6个,只有Phi-4-mini-instruct与Llama-3.1-8B-Instruct的全参微调(Table 1,Section 6.2)。
    • 基线为BAIT与ICLScan。Table 2的数量与Table 1的Task 1行相同,表题未写任务。gemma-3-270m的BAIT在24小时内未完成。论文写明未在Task 2上评估ICLScan,因为原实现不支持代码生成评估(Section 5.2、6.3,Table 2)。
    • 扫描只做检测和触发词恢复,不移除后门,也不做在线过滤(Section 2.2)。Task 1测试114条,Task 2评估用3k条未见代码提示,并用CodeQL(Appendix A)。
    • 论文报告了Table 9的抽取率、Appendix H的clean模型ΔSagg,以及Appendix I的5个Task 1假阴性原因。论文未报告整条扫描流水线的重复次数,也未报告重构阶段的候选总数或查询次数;13个clean模型里正文只点名Llama-2-13b-chat。
  6. 总结一下论文的主要内容

    用记忆泄漏和内部信号重构触发词;Task 1检测率0.878,clean模型假阳性为0。

    这是一个只做推理的sleeper agent扫描器:在不知触发词和目标行为时,检测因果语言模型里的条件后门并重构触发词。

    问题在于,后门只在触发词出现时偏离基线,而开放仓库和网页投毒使检测方通常没有触发词、目标或激活语料。作者引用的结果是,安全后训练去不掉这类行为。

    做法是四步。先用聊天模板里用户轮次前的token,配合510种解码,泄漏可能含触发词的片段。再对去重文本做字符n-gram的TF-IDF和DBSCAN,取最大簇的motif,切成2、5、10 token的候选。损失惩罚提示词对候选的注意力,并计入生成熵,以及基线token在「候选加提示」下的对数似然;留下最低的10个。固定目标看回复一致性之差是否超过0.5;脆弱代码看CodeQL漏洞比例的相对变化是否超过100%。

    作者报告的主要结果:

    • Task 1的41个sleeper agent里,36个最高ΔSagg超过0.5,检测率0.878;13个clean模型都未超过0.5。
    • Table 1里,Phi-4-mini的12个Task 1模型,平均检测率和平均触发词相似度都是1.000;Distill-Qwen-1.5B的6个模型检测率是0.667。
    • Task 2的6个模型里,4个恢复出原触发词的相当部分或全部;另有不像真触发词、但使漏洞比例增幅超过100%的候选。
    • Table 2已给出数字的格子里,作者方法高于BAIT和ICLScan;gemma-3-270m的BAIT在24小时内未完成。ICLScan需要已知目标,Task 2未评。
    • 例外包括Llama-3.1-8B-Instruct在Task 1的平均目标抽取率0.0046,以及该模型Task 2、seed 2025的FTR 0.858。

    作者的结论是:在所测规模和微调方式下可以恢复可用触发词,且不改模型表现、不加推理开销,适合放进分层防御。作者同时说明没有形式化保证,且主要针对固定触发词。

阅读原文arxiv.org