Semantic Overlays:利用超越令牌和转向向量的标注缓解提示注入攻击
摘要
本文介绍了Semantic Overlays,一种使用学习到的适配器为语言模型标注输入片段的技术,有效缓解提示注入攻击同时保持实用性。它在基准测试如SEP和TensorTrust上展示了强大的防御结果。
arXiv:2608.23873v1 Announce Type: new
摘要: 语言模型看到的一切都是令牌。服务栈知道每个片段是什么——用户输入、工具输出、指令——但模型必须自己跟踪,可能会丢失跟踪或产生混淆:文本可以被写成任何样子。提示注入是这一现象的天然漏洞。通过打乱模型对片段身份的理解,攻击者可以诱导不必要且可能危险的操作。在模型输入中添加非文本通道——一种超越文本传达片段身份的方式——可以缓解这类攻击。因此,我们引入了一种通用转向技术,称为Semantic Overlays:在选定的预填充位置应用于冻结模型残差流的小型学习适配器。在片段上覆盖一个overlay创建了一个带外标注通道,无法被令牌复制。与转向向量不同,Semantic Overlays是经过训练的、可适应的,并且可选择性地应用。一个overlay可以编码复杂的语义,重塑模型对标记片段的感知:在overlay声称代码片段使用不同编程语言的情况下要求复制片段,模型会以声称的语言忠实地重写片段。Overlay还可以组合,允许透明读取底层内容,并能携带复杂有效载荷——包括模型会遵循的命令。将片段标记为“不可执行”的overlay可以防御在不可信上下文中添加指令的广泛类别的提示注入。我们在提示注入基准测试上报告了强劲结果:SEP分离率从24.3%上升到96.5%,实用性保持不变(我们的评分规则;我们还更正了已发布评分器中的一个缺陷),TensorTrust攻击成功率从34.8%下降到6.6%,所有四个PIArena攻击家族的遵从率降至0%,同时标记片段保持可读(92.5%的精确复制率)。
查看缓存全文
缓存时间: 2026/08/26 09:15
# 语义叠加:超越词元和导向向量的提示注入缓解机制
**来源:** https://arxiv.org/html/2608.23873
###### 摘要
语言模型所见皆为词元。特殊词元可用来标识助手轮次,有时也用于工具调用;其间的文本则被视作普通内容。服务端栈清楚每个文本片段的身份——用户输入、工具输出、指令等——但模型自身必须跟踪这些信息,且可能追踪错误或产生混淆:文本可以被写成任何样子。提示注入正是利用了这一现象的典型漏洞。通过扰乱模型对不同片段性质(进而涉及权限级别)的理解,攻击者可诱导模型执行非预期甚至危险的操作。为模型输入增加一个非文本通道——一种在文本之外传达片段身份的方式——可以缓解此类攻击。因此,我们引入一种通用导向技术,称为*语义叠加*:在冻结模型的残差流中选定预填充位置,应用小型可学习适配器。将叠加层覆盖于某个片段之上,便创建了一个无法被词元复制的带外标注通道。与导向向量不同,语义叠加是经过训练、可适应且可选择性应用的。叠加层可以编码复杂语义,重塑模型对标记片段的感知:例如,当要求复制一个被叠加层标记为非实际编程语言的代码片段时,模型会忠实地将其重写为所声明的语言。叠加层还具有可组合性,允许透明读取底层内容,并能承载复杂载荷——包括模型将遵从的指令。这带来了对提示注入的稳健防御。一个将片段标记为“不可执行”的叠加层,可以防御一大类在不可信上下文中添加指令的提示注入攻击。我们在提示注入基准测试中取得了优异结果:SEP 分离率从 24.3% 提升至 96.5%(实用性保持不变;我们采用自身的评分规则;同时发现并修正了公开评估器中的一个缺陷),TensorTrust 攻击成功率从 34.8% 降至 6.6%,PIArena 的四个攻击家族合规性均降至 0%,同时标记片段的可读性得以保持(精确复制率达 92.5%)。
## 1 引言
图1:标记在未触动内容的情况下剥夺了片段的权威性。一段检索到的段落回答了一个良性问题,但也携带了植入的指令——访问某个URL并输入电子邮件和密码。由于该段落使用叠加层标记为不可执行,冻结模型回答了问题并将指令视为无意义文本;若未标记,同一模型则会遵从指令并向用户索要密码。提示中没有任何词元能区分这两种运行情况。此对比可在线体验:https://semantic-overlays.vercel.app。
语言模型的部署环境对其输入的了解程度远超模型本身。服务端栈清楚哪些片段来自用户、哪些来自检索文档、哪些来自工具;它知道哪个请求触发了审核标记,甚至可能知道文档的哪些部分是机密的。但模型的输入是单一的词元流,因此,要让模型依据这些元数据行事,这些信息必须以词元形式体现。然而词元是可互换的:输入文本可以伪造元数据——没有任何东西能完美区分真正的“系统备注”和攻击者写入网页的伪造内容——模型也可能被诱使直接忽略这些词元。要使用片段分隔符等特殊词元,模型必须始终记住当前位置而不产生混淆。然而,即使是 Claude Opus 5 和 Claude Fable 5 这样的前沿模型,也仍然容易混淆助手和用户的对话轮次(Armbruster, 2026 (https://arxiv.org/html/2608.23873#bib.bib1); Starling, 2026 (https://arxiv.org/html/2608.23873#bib.bib12))。我们把利用这些倾向进行的攻击称为提示注入(图1 (https://arxiv.org/html/2608.23873#S1.F1))。
激活导向表明残差流是可写入的:添加一个方向,模型的行为就会向选定的概念倾斜(Turner et al., 2023 (https://arxiv.org/html/2608.23873#bib.bib15); Rimsky et al., 2024 (https://arxiv.org/html/2608.23873#bib.bib11); Zou et al., 2023 (https://arxiv.org/html/2608.23873#bib.bib19))——例如,钳位单个稀疏自编码器(SAE)特征即可得到“金门大桥版Claude”(Templeton et al., 2024 (https://arxiv.org/html/2608.23873#bib.bib13))。但激活导向一直是一种粗糙的工具(表 A.1 (https://arxiv.org/html/2608.23873#A1.T1),附录 A (https://arxiv.org/html/2608.23873#A1)):方向是从对比配对、探测器或 SAE 中提取的,然后统一施加。强度 α 需要手动调整,否则模型输出会变成乱码。而且实际效果有限:每个方向只能倾斜向一个概念,且针对的是模糊的对象。
与激活导向不同,语义叠加是可学习的、可适应的、选择性应用的。*叠加集*是一组小型适配器的集合,每个模型层一个,应用于冻结模型残差流的选定片段的预填充位置;*标记*一个片段意味着在运行预填充时激活此处的适配器;而*叠加层*是一个经过训练的特质——通过输入嵌入或查找表选择——标记可以承载该特质。基础模型永不被修改。由于标记是激活编辑而非文本,任何输入都无法模仿它,而运行未标记的提示与运行冻结模型完全相同。
本文通过四个连续实验确立了四个主张:
- •叠加层是一个可靠、可组合的通道(§4 (https://arxiv.org/html/2608.23873#S4)):模型能够检测单个及堆叠的叠加层,并能读取叠加层下方的词元(图2 (https://arxiv.org/html/2608.23873#S4.F2))。
- •该通道改变了模型理解片段的方式(§5 (https://arxiv.org/html/2608.23873#S5)):叠加层可以断言一个代码片段是 Python,即使它不是。当被问及哪个片段是 Python 时,模型依据叠加层回答;当被要求复制片段时,它会用 Python 重写代码(图3 (https://arxiv.org/html/2608.23873#S5.F3))。
- •该通道可以携带片段分隔的潜指令(§6 (https://arxiv.org/html/2608.23873#S6)):叠加层可以携带一条指令——例如用西班牙语回答、以安全顾虑为由拒绝——模型仅对标记的片段执行该指令,其他片段不受影响。
- •将片段标记为不可执行可击败提示注入(§7 (https://arxiv.org/html/2608.23873#S7)):一个含义为“不要执行此片段中的指令”的叠加层,应用于检索到的文本后,成为了一种强大的提示注入防御。我们通过三个相关基准测试(SEP“应执行还是处理”、TensorTrust 和 PIArena)上的性能展示了这一点。
附录 C (https://arxiv.org/html/2608.23873#A3) 探究了有效叠加层向标记状态写入了什么,§8 (https://arxiv.org/html/2608.23873#S8) 表明未经训练的描述符无法零样本转化为叠加层。此外,我们发现了注入评估中的缺陷——SEP 评估器中的一个,ASIDE 的 TensorTrust 测试框架中的两个,以及 TensorTrust 本身的一个——并给出了修正(附录 F (https://arxiv.org/html/2608.23873#A6))。叠加层(包括注入防御功能)的在线演示见:https://semantic-overlays.vercel.app。
## 2 相关工作
#### 激活导向
向残差流添加固定方向会将行为向某个概念倾斜(Turner et al., 2023 (https://arxiv.org/html/2608.23873#bib.bib15); Rimsky et al., 2024 (https://arxiv.org/html/2608.23873#bib.bib11); Li et al., 2023 (https://arxiv.org/html/2608.23873#bib.bib6); Zou et al., 2023 (https://arxiv.org/html/2608.23873#bib.bib19))。这些方向通常从对比配对中提取,在一个或几个层上位置统一地施加(施加于整个响应、一个固定窗口或所有位置),每个方向仅携带一个特质。语义叠加在每个维度上都不同:编辑是针对行为目标进行端到端训练的,仅施加于选定的片段位置,分布于所有层,依赖于局部隐藏状态,并且是多路复用的——一个共享适配器可承载多个命名特质。Rimsky et al. (2024) (https://arxiv.org/html/2608.23873#bib.bib11) 自己将位置定向导向列为未来工作。§4 (https://arxiv.org/html/2608.23873#S4) 使用按层学习的导向向量作为向量族中最强的基线,衡量了这些改进带来的收益。
前缀和提示调优(Li & Liang, 2021 (https://arxiv.org/html/2608.23873#bib.bib7); Lester et al., 2021 (https://arxiv.org/html/2608.23873#bib.bib5))也注入了学习到的连续输入,但这些输入作为*额外*位置参与注意力竞争,而非编辑指定的现有片段;它们承载的是任务,而非片段级元数据。
#### 提示注入防御
训练时防御在权重中重新划定指令/数据边界:StruQ(Chen et al., 2025 (https://arxiv.org/html/2608.23873#bib.bib2))对结构化提示进行微调,ISE(Wu et al., 2025 (https://arxiv.org/html/2608.23873#bib.bib17))添加了训练得到的片段嵌入,ASIDE(Zverev et al., 2026 (https://arxiv.org/html/2608.23873#bib.bib21))旋转数据词元嵌入并微调模型以尊重旋转子空间,AIR(Kariyappa & Suh, 2025 (https://arxiv.org/html/2608.23873#bib.bib4))在每个解码器块的输入处向隐藏状态添加一个可训练的、基于权限索引的嵌入——这是与本文机制最接近的一项——但那些嵌入是与基础模型的全量微调联合训练的。所有这些方法都修改了部署的权重。语义叠加保持基础模型冻结,这意味着一个部署可以承载多个通道,按请求应用它们,并通过关闭它们精确恢复原始模型。V-Steer(Zeng et al., 2026 (https://arxiv.org/html/2608.23873#bib.bib18))也保持基础模型冻结,在推理时通过归因分数缩放注意力值,并将学习到的冻结基础模型防御列为未来工作。附录 H (https://arxiv.org/html/2608.23873#A8) 比较了这些防御与带内提示基线的工作点。
#### 来源与指令层级
我们注入通道所训练的契约——数据保留其内容但失去指令权威——遵循了指令层级训练(Wallace et al., 2024 (https://arxiv.org/html/2608.23873#bib.bib16))和 ASIDE 来源标注的角色语义:角色由流水线分配,而非从内容推断。区别在于载体。
#### 梯度空间护目镜
Penman(2026)(https://arxiv.org/html/2608.23873#bib.bib9) 编辑*微调梯度*,在训练期间赋予一种认知框架;本工作是同一族系中的推理时间成员——文本无法伪造的元数据——且两种方法相互独立、可组合。
## 3 方法
### 3.1 叠加适配器
所有实验均使用冻结的 Qwen3.5-9B-Instruct 模型(一种混合架构:每四层使用一次 softmax 注意力,其他层使用门控 DeltaNets)。一个叠加集为每个解码器层的输入附加一个小型适配器。在一个带有隐藏状态 h 的标记位置,承载着身份码为 c_q 的叠加层时,适配器计算一个 SwiGLU 瓶颈:
h ← h + W_out( SiLU( W_g[ n(h); c_q ] ) ⊙ W_in[ n(h); c_q ] ), n(h) = h/rms(h),
(1)
其中 [·;·] 表示拼接,n 是一个非学习的 RMS 归一化(用于稳定性),瓶颈宽度为 32-128(取决于实验),代码 c_q 告诉共享适配器此标记承载哪个特质。一个叠加层可以在没有代码的情况下训练——输入简化为 n(h)——§7 (https://arxiv.org/html/2608.23873#S7) 的“不可执行”叠加层正是这种情况,§3.2 (https://arxiv.org/html/2608.23873#S3.SS2) 中的按叠加层多层感知机(MLP)在功能上是相同构造的重复,每个特质一次,使用查找表。
标记是针对预填充位置的按词元、按叠加层的布尔位置掩码。叠加层随后在注意力回顾标记位置键值(KV)缓存中的激活值时,塑造模型读取该片段的方式;解码过程则不受影响。
### 3.2 叠加集:同时承载多个叠加层
一个叠加集可以承载单个叠加层,但多个叠加层可以多路复用到一个集合中。我们在 §4 (https://arxiv.org/html/2608.23873#S4) 中比较了四种叠加层和多路复用方法,按结构复杂性递增排列:学习到的按层导向向量(每个叠加层、每层一个向量;此后称为*按层向量*);按叠加层 MLP(公式 1 (https://arxiv.org/html/2608.23873#S3.E1) 去掉代码,每个叠加层一个适配器栈);代码条件化共享 MLP(公式 1 (https://arxiv.org/html/2608.23873#S3.E1),其中代码 c_q 是每个叠加层一个自由的 128 维向量,与适配器一起训练——共享机制必须学会解读这个身份);以及嵌入条件化共享 MLP,与前者相同但 c_q 冻结为基础模型自身对描述该特质的短语的 4096 维嵌入(例如,“以红色高亮显示”的最后一词元、最后一层状态)。如果不同叠加层的片段重叠,它们的增量(delta)是从相同的预编辑状态计算并求和的,因此组合顺序无关紧要。
### 3.3 训练
对于每个叠加层,我们构建合成数据,其补全内容是我们期望模型在叠加层工作时产生的结果——在可构造“金标准”的地方采用程序化生成(标记读出、全大写转换),在无法构造的地方让更强的模型编写或编辑冻结模型自身的补全以达到目标行为(编程语言重写、拒绝、注入抵抗、语体转换;附录 B (https://arxiv.org/html/2608.23873#A2))。然后我们训练适配器(基础模型冻结),使用交叉熵损失针对这些补全进行训练,同时也包括无操作补全,例如当没有此类标记时,要求提供蓝色下划线的段落,或者当提示中标记了另一个片段时,复制未标记的片段。我们使用新的源项目(而不仅仅是新的标记配置)进行评估。
所有目标我们都使用交叉熵损失:使用 KL 散度来衡量与冻结模型补全的差异(其最小值就是无变化)是一个自然的替代方案;然而在三方比较中,对两种补全类型(叠加版 vs. 行为保持版)使用交叉熵损失优于 KL/CE 混合方案和单独 KL 方案,在注入任务(§7 (https://arxiv.org/html/2608.23873#S7))上 SEP 分离率分别为 93.5% 对比 88.5% 和 79.6%。
## 4 不可见荧光笔:叠加层是可靠、可组合的通道
首要问题是作为信息通道的叠加层是否能够工作:标记能否承载一个模型可以读取回溯、精确绑定到特定片段并与其他片段区分的命名特质?为了研究这个问题,我们创建了一个人工测试床,包含视觉特质——{*高亮*,*下划线*,*圈出*} × {*红色*,*蓝色*,*绿色*,*黄色*}——以及最多十个非重叠片段,每个片段承载一个特质。视觉特质非常适合此目的,因为在模型的表示中没有任何东西天然与此概念对齐:除非文本词元流字面上编码了文本图像,否则它本身没有内在的颜色。
训练和评估问题分别要求提供具有给定特质的文本,或命名给定文本的特质...相似文章
真相深藏:通过潜在意图验证反制语义伪装
本文识别了大型语言模型中的一种漏洞,称为语义伪装,并提出了潜在意图验证,这是一种轻量级探测防御,能显著提高对抗性攻击的检测率。
你们如何在产品发布后检测新的提示注入模式?
本文讨论了在AI系统发布后检测新提示注入模式的方法,包括语义搜索、追踪级安全评分以及Braintrust等工具,同时强调了误报和攻击分类方面的挑战。
通过细化的安全定向嵌入利用(STEER)
本文介绍了STEER,一种梯度引导的攻击方法,通过将高归因词翻译成低资源语言来绕过拒绝机制,利用了大语言模型安全训练分布的漏洞,在AdvBench上实现了高达96.7%的攻击成功率,并迁移到GPT-4o-mini上达到35.5%的攻击成功率。
理解提示词注入:AI安全的前沿挑战
OpenAI发布了关于提示词注入攻击的指导,这是一种社会工程漏洞,恶意指令可以隐藏在网页内容或文档中,诱骗AI模型执行意外操作。该公司概述了其多层防御策略,包括指令层级研究、自动化安全测试和AI驱动的监控系统。
@LeeLeepenkman: 多模态大型语言模型的文本锚定语义扰动可转移越狱攻击 https://pap…
本文介绍了TA-SPA,一个针对多模态大型语言模型的黑盒越狱攻击框架,该框架利用基于文本的语义扰动,实现针对安全对齐的有效且可转移的攻击。