跳到主要内容
返回时间线
arXiv来源发表:

同一串字节、两种权限:把伪造的聊天模板标记拆成普通子词,在 Llama-3.1、GLM-4.5 与 Seed-OSS-36B 上把注入成功率压低 39 至 66 个百分点

核心概要

该研究在字节完全相同的前提下,只改变伪造聊天模板标记是被编码为保留 token id 还是普通子词,在 InjecAgent 上测量 LLM 智能体间接提示注入的成功率差异,发现 Llama-3.1、GLM-4.5 和 Seed-OSS-36B 上这一“身份差”为 39 至 66 个百分点,而 Qwen3-8B 上攻击力主要来自标记文本本身,并进一步表明权限来自标记位置上那一个学习到的输入向量,且现有 tokenizer 侧缓解措施覆盖不到承载工具输出的工具协议 token。

AI-generated editorial illustration: Same Bytes, Different Authority: Reserved-Token Representations in Chat-Template Prompt Injection

深度剖析

在字节完全相同、仅保留 id 与普通子词编码不同的对照下,伪造模板标记的“保留表示”承载了大部分攻击力:Llama-3.1、GLM-4.5、Seed-OSS-36B 上身份差为 39 至 66 个百分点,Qwen3-8B 直接危害上为 8.1 个百分点,且这七个配置在每次运行中都显著。 此前模板级攻击(如 ChatInject)改变模板可见形式,文本与 token id 同时变化;tokenizer 级工作重新切分的字符串从未带有保留 id。本文用 Matched 对照把“多出的 token 数”与“是否保留 id”分开,从而首次在固定字节下直接测量保留表示的贡献。 InjecAgent 每类攻击各 400 例,四个开放权重家族加 Qwen3-32B 共八个配置,每配置运行三到五次,采用精确 McNemar 配对检验并要求每次运行都显著;Matched 与 Reserved 在所有配置上相差不超过 1.7 个百分点,说明额外 token 本身几乎不构成代价。

权限存在于标记位置上的单个向量,而非某个特定 id:在 Llama-3.1 上把标记位置的输入向量换成嵌入空间最近的普通 token 向量可完全恢复攻击(98.4 对 98.2),而标记子词向量的平均值只到 58.4;换成另一个保留控制 token 的向量在两个模型上都保持接近满强度。 此前工作只显示特殊 token 注入有效或重新切分会影响行为,未定位到“哪一个向量”在起作用;本文通过固定位置、固定长度的向量替换把 id 与向量分离。 在 Qwen3-8B 与 Llama-3.1 的全部 510 个直接危害案例上做输入嵌入替换,保留 token 序列、标记位置与其余所有行不变;同时报告嵌入邻近度实验,恢复保留 id 值 18 至 47 个百分点,而把切分在嵌入空间上拉近最多值 17 个百分点且在 Llama-3.1 上为零。

指令微调强化了对保留标记的偏好:在三对基座与指令微调检查点(Qwen3-1.7B、Qwen3-8B、Seed-OSS-36B)中,指令微调一侧的 logit 身份差都更偏向保留标记,而额外 token 的代价没有移动。 此前研究把模板攻击归因于模板结构或风格线索,未把这种偏好与训练阶段联系起来;本文用同一提示、同一强制续写、单次前向的 logit 差读出,避免生成式读出在基座模型上不可比的问题。 每对检查点在相同 200 个案例上读取 logit 差,用 Wilcoxon 符号秩检验配对位移;没有任何基座检查点偏好保留标记,Qwen3-1.7B-Base 中性,Qwen3-8B 与 Seed-OSS-36B 基座反而不利。

现有标准缓解措施漏掉工具通道:在 Hugging Face 下载量前 400 的聊天模型中,67 个不同 tokenizer 配置里有 33 个(覆盖 255 个检查点)把 <tool_response> 这类工具协议 token 声明为 special:false,使 split_special_tokens 选项对其无效,而仅由这些 token 构造的伪造块在每个声明它们的模型上都产生 9.4 至 19.9 个百分点的身份差。 此前把 tokenizer 侧干预视为对特殊 token 的通用开关,未审计它实际覆盖哪些通道;本文给出配置普查并单独测量未被覆盖通道上的效果。 对 400 个检查点逐一加载 tokenizer,用开启与关闭该选项两种编码比较,并按协议角色分类、检查可达性;工具通道结果在 Qwen3-8B、Qwen3-32B、GLM-4.5、Seed-OSS-36B 上均存在,且在 Qwen3-8B 上大于被覆盖的系统通道。

启示与展望

该结果面向自托管开放权重模型的部署者:他们控制服务栈与 tokenizer 调用,并能标注提示中哪些片段不可信。在此设定下,固定字节对比是一个测量工具,可用来估计同一注入在保留 id 与普通子词两种编码下的成功率之差,也可原样套用到经过注入防御训练的模型上,检验防御是否移除了这种权限。作者同时给出一个无需训练、可逆的源感知编码器,在不可信片段上移除特殊 token 匹配步骤而保留预分词器与 BPE 合并,并在良性工具流量上不改变任何 token。

作者明确限定于自托管开放权重模型,只接受字符串的托管 API 不在范围内;InjecAgent 的成功判据是下一轮解析出的工具调用,执行级成功在 AgentDojo 上测量;4.4 节的向量替换干预的是模型输入而非攻击者可发送的字节。Qwen3-8B 上文本而非保留表示占主导,数据窃取上身份差不显著,作者把此前该模型上的零结果解释为读出量已接近上限而非效应不存在。自适应攻击者放弃保留标记、改用嵌入空间邻近的普通 token 后,可把防御移除的效果大部分找回,因此移除保留 id 消除的是默认攻击的优势而非权限本身。此外,本文所依据的文本中部分表格数值以空白形式呈现,凡未在正文明确给出的具体数字,此处不做推断。

来源