新国大LMSM把可解释性接到vLLM闸门,HarmBench成功率从39%降到3%

LMSM: LLM Security Framework Inspired by Linux Security Modules

XiuYu Zhang, Bonan Ruan, Junfeng Fang, An Zhang, Tat-Seng Chua, Zhenkai Liang

cs.CR

2026-08-26

新加坡国立大学把Linux安全模块的分工搬进LLM推理:后端只出证据、策略判规则、闸门才放行。Qwen3-4B上Checkpoint把HarmBench成功率从39.20%压到3.32%,吞吐保住98.14%。

这篇在解决什么

LLM上线之后,安全手段叠了三层:权重里的对齐、提示词里的约束、输入输出边上的Guard。可解释性又贡献了第四种信号,稀疏自编码器(SAE)特征、transcoder坐标、线性探针都能在生成中途看到内部状态。问题是,每接一种信号就要重写一套校准、策略和拦截代码。新出一篇解释性论文,部署侧就要再做一个guard。

Linux当年也碰到过类似的事。内核不想把SELinux写死,于是做了LSM:钩子负责拦住操作,模块负责给结论,内核负责执行。LMSM把这套分工搬到LLM serving。它不承诺某个探测器永远最好,承诺的是:换后端、换规则、换判定时机,不必重做请求调度和输出放行。

方法

整条链路拆成三块。

两条时间表共用这套管线。Checkpoint在生成满64个token时一次性评估15条规则;Anytime每一步都评,第一次过阈值就动手。状态按请求身份键存,不跟vLLM打包行号走,所以连续批处理里请求挪槽、腾位、新请求进场,也不会串单。

原型接到Hugging Face Transformers和eager vLLM,模型权重不动。

结果

主实验是Qwen3-4B、thinking开着、单卡H100、最多32条并发。对照是同一条监控路径但禁止改状态的Matched Disabled。

配置HarmBench ASRWildJailbreak ASRXSTest误拒
Matched Disabled39.20%41.90%2.40%
LMSM-Checkpoint3.32%7.35%4.40%
LMSM-Anytime6.81%6.00%5.60%

相对降幅大约82.5%到91.5%。ThinkSafe同模型训练时数字是HarmBench 9.63%、WildJailbreak 7.45%,论文标明那组不是同一条serving路径上复跑,只能当参照。

吞吐方面,相对完全不监控的Matched Empty Extension:Checkpoint在width 32保住98.14%,15条规则全开仍有96.89%;Anytime因为逐步评估,width 32只剩83.91%。调度搅动实验里,32对重复请求在行移动和槽复用之后,动作、类别、干预步和阈值穿越向量全部对得上。

Gemma SAE在264条HarmBench上把不安全回复从122条打到11条(六规则包),Qwen transcoder从127条打到13条。这两路只证明接口能换,没有按同等安全策略校准。

为什么重要

给做serving安全的人一个能换零件的壳。对齐继续管默认行为,运行时策略管残余漏洞和合规条款,而且不用重训权重。想换更好的SAE,改绑定和受影响的规则条件即可。代价也写清楚了:Checkpoint便宜、判得晚;Anytime判得早、更贵、误拒更高。

局限与存疑

评测是进程内、eager vLLM、一块H100。当前Python钩子逼着关掉CUDA Graph,编译路径比eager快2.38倍,所以「监控只贵1.86%」是eager上的数字。一条策略只能绑一个后端和一个激活点。威胁模型信任整条serving进程,权重、探针、规则被篡改不在范围内。防护效果跟着校准走,对抗自适应攻击没有单独测。动作词汇目前只有允许、终止、拒绝,涂红、重生成、人工复核还没接进去。

ASR和误拒都是外部judge对放出文本的标签,用的是Llama-Guard-3和WildGuard,不是干预率本身。

术语

原文与代码

相关论文

全部论文解读