系统:运行中
← 返回所有攻击
DEFENSE LOW NEW

kNNGuard:从 LLM 激活值中读取的免训练防护栏

2026 年 7 月的一篇论文仅用 50 个带标注样本,通过读取模型自身的内部激活值构建提示词防护栏——无需微调,比最优可比分类器快 2.7 倍。

2026-07-06 // 5 min

这是什么?

2026 年 7 月 2 日,Mahmoud Abdelfattah、Hamid Nasiri 与 Peter Garraghan 发表了 kNNGuard,这是一种在不安全、离题或对抗性提示词到达生产环境 LLM 之前对其进行检测的防护栏。该工作并非一种攻击,而是一种防御,其价值在于架构层面:kNNGuard 不再训练又一个分类器,而是利用现成模型内部激活值中已经存在的信号。

其动机源自任何在生产中运行防护栏的团队都会遇到的现实痛点。目前部署的多数防护栏都是经过微调、用于标记违规内容的独立模型。作者指出这种做法有两项反复出现的代价:这些微调后的分类器往往难以泛化到未曾训练过的领域,并且会为每次请求增加可观的推理延迟。kNNGuard 试图在保留检测质量的同时,彻底去掉训练环节。

工作原理

该方法刻意保持简单。你先构建一个仅含 50 条带标注提示词的样本库——针对目标领域的安全与不安全示例。每条提示词都会送入一个现成 LLM,kNNGuard 从各层中提取其内部激活值。在推理时,新的提示词以相同方式编码,随后一个多层 k 近邻步骤将其与样本库比对,融合激活空间得分与嵌入空间得分得出分类结果。

由此带来两点设计特征。其一,不存在梯度更新,也不需要单独训练分类器:所谓”学习”只不过是那个带标注的样本库,作者称其可在 10 秒内构建完成。其二,将防护栏适配到新领域——新的主题边界、新类别的对抗性提示词——只需替换或扩充该样本库,而非重新训练模型。论文还研究了实践中真正重要的环节:系统提示词的影响、从哪些读取激活值,以及如何将防护栏作为可配置的低延迟过滤器接入生产 LLM 流水线。

为何重要

真正让这一方法值得防御方关注的是其报告的结果。在涵盖主题类与安全类提示词的六个领域中,kNNGuard 取得了与微调后最先进防护栏相当甚至更优的 F1 分数,同时运行速度约为最优可比防护栏的 2.7 倍,约为微调后安全分类器的 10 倍——且完全不做任何梯度更新。换言之,一个仅用 50 个样本、几秒钟内组装出来的防御,其表现已落在那些需要完整微调周期的分类器同一区间内。

对运营 LLM 应用的团队而言,这改变了防护栏的成本结构。为新的产品界面搭建检测,或在事件发生后收紧某条主题边界,不再必然意味着一轮训练与评测周期。它也降低了那些无力微调并托管专用安全模型的小团队的门槛。与所有近邻方法一样,其代价在于:质量高度依赖带标注样本库,样本覆盖的空缺会成为防护栏的盲区;作者关于层选择与系统提示词敏感性的分析也提醒我们,配置并非完全自动。

防御

更广泛的启示超越了这一具体系统。模型的内部表示本已能区分大量安全与不安全的输入,而这种区分可以低成本地读取:并非总需要第二个训练好的模型才能获得可用信号。在实践中,应把防护栏样本库视为一份”活文档”:对其做版本管理,在出现新攻击模式时加以扩充,并在每次改动后在独立测试集上重新测量 F1,而非想当然地假定覆盖充分。将防护栏作为多层防御中的一层——激活空间检测是对输入/输出过滤、最小权限工具设计与人工审核的补充,而非替代。此外,由于该检测器读取的是特定模型在特定层的激活值,每当更换底层模型或其系统提示词时都应重新验证,因为二者都可能改变防护栏所依赖的表示。

状态

方面详情
披露arXiv 预印本(2607.02072),2026 年 7 月 2 日提交
类别防御——激活空间中的免训练提示词防护栏
方法50 条带标注提示词样本库;融合激活空间与嵌入空间得分的多层 kNN
报告结果F1 与微调后最先进防护栏相当/更优;比最优可比防护栏快约 2.7 倍,比微调安全分类器快约 10 倍
范围在六个主题类与安全类领域评测;基于单一模型提取激活值
野外利用不适用——防御性研究

Sources