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 ASR | WildJailbreak ASR | XSTest误拒 |
| Matched Disabled | 39.20% | 41.90% | 2.40% |
| LMSM-Checkpoint | 3.32% | 7.35% | 4.40% |
| LMSM-Anytime | 6.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,不是干预率本身。