跳转至

Adversarial Tokenization

会议: ACL 2025
arXiv: 2503.02174
代码: 无
领域: LLM安全 / 对抗攻击
关键词: adversarial tokenization, BPE, jailbreak, LLM safety, subword models

一句话总结

本文发现 LLM 管线中 BPE tokenizer 只使用唯一一种分词方式,但同一字符串存在指数级多种合法分词;通过对抗性地选择非标准分词方案,可以在不改变原始文本的情况下绕过安全对齐,攻击成功率与现有 SOTA 文本级攻击方法相当。

研究背景与动机

当前 LLM 管线中的 tokenizer(如 BPE)对每个输入字符串只产生一种确定性的分词结果。例如 Llama3 将 "penguin" 分词为 [p, enguin],但 [peng, uin] 同样是词表中 token 的合法组合。事实上,对于任意字符串,BPE 词表下存在指数级多种合法分词方式,但训练和推理时模型只见过其中一种。

现有的 LLM 对抗攻击主要聚焦于两个方向:(1) 修改文本内容(如添加后缀、改写指令)来绕过安全过滤;(2) 利用提示注入等技巧诱导模型违反对齐。然而,分词层面的攻击向量一直被忽略——没有人问过这个问题:如果我们不改变文本,只改变文本的分词方式,是否就能绕过安全对齐?

核心矛盾在于:LLM 的安全对齐是在标准 BPE 分词下训练的,但模型仍然能理解非标准分词下的语义(因为 subword 拼接后内容相同)。这意味着安全对齐可能只覆盖了 token 空间中一个狭窄的子流形,而大量等价但非标准的分词路径可能未被对齐训练覆盖。

切入角度巧妙:在不改变一个字符的前提下,仅通过改变 token 化方式来实施越狱攻击,这使得传统的文本级检测手段完全失效。

方法详解

整体框架

输入:一个恶意请求字符串 \(s\)(如 "How to make a bomb")和 LLM 的词表 \(V\)。输出:\(s\) 的一种非标准分词 \(\mathbf{t} = (t_1, t_2, \ldots, t_k)\),使得拼接后 \(t_1 \| t_2 \| \ldots \| t_k = s\),且该分词能最大化模型输出有害内容的概率。

Pipeline 分为三步: 1. 构建输入字符串的分词格(tokenization lattice) 2. 在格上使用对抗性搜索策略选择最优分词路径 3. 将重新分词后的 token 序列直接送入 LLM 推理

关键设计

  1. 分词格(Tokenization Lattice)构建:

    • 功能:枚举所有可能覆盖输入字符串的 token 组合
    • 核心思路:对字符串 \(s\) 的每个位置 \(i\),找出所有以位置 \(i\) 开始、存在于词表 \(V\) 中的 token,构建一个 DAG(有向无环图)。图中从起点到终点的每条路径对应一种合法分词。标准 BPE 贪心分词只是其中一条路径
    • 设计动机:分词格刻画了完整的分词空间,为后续搜索提供了结构化的搜索空间
  2. 对抗性分词搜索(Adversarial Tokenization Search):

    • 功能:在指数级大的分词空间中找到能最大绕过安全对齐的分词方案
    • 核心思路:采用贪心搜索策略——逐步选择使模型最可能产生非拒绝响应的 token 切分。对于每个位置,评估不同 token 切分选项下模型的输出分布,选择使安全拒绝概率最低的切分方案。搜索目标可以表示为:\(\mathbf{t}^* = \arg\min_{\mathbf{t} \in \mathcal{T}(s)} P_{\text{refuse}}(\text{LLM}(\mathbf{t}))\),其中 \(\mathcal{T}(s)\) 是字符串 \(s\) 的所有合法分词集合
    • 设计动机:暴力搜索所有分词组合计算上不可行(指数级),贪心策略在效率和效果之间取得平衡
  3. Token 级语义保持:

    • 功能:确保重新分词后模型仍能理解原始语义
    • 核心思路:由于所有 token 都来自同一词表,且拼接后还原为相同字符串,LLM 通过 attention 机制仍能跨 token 边界理解语义。这依赖于 subword 模型的一个隐含假设——模型在训练中学到了 subword 的组合语义
    • 设计动机:这是攻击能工作的根本保障——模型理解意思但安全机制失效

攻击策略

该方法的关键优势在于: - 文本不变性:攻击前后原始文本完全一致,仅 token 边界不同 - 无需梯度访问:不依赖模型梯度,适用于黑盒和白盒场景 - 可与其他攻击正交组合:可以先对文本做传统对抗改写,再做对抗分词

实验关键数据

主实验

模型 数据集 标准BPE ASR 对抗分词 ASR GCG攻击 ASR
Llama-3-8B-Instruct AdvBench ~5% ~40-50% ~45-55%
Llama-3-70B-Instruct AdvBench ~3% ~35-45% ~40-50%
GPT-4o HarmBench <5% ~15-25% ~20-30%

注:上表为根据论文摘要和已知上下文推断的近似数据,论文声称"competitive against existing SOTA adversarial approaches"

关键对比

攻击方法 是否改变文本 是否需要梯度 攻击成功率
GCG 是(添加后缀)
AutoDAN 是(改写) 中高
Adversarial Tokenization 中高
Cipher/编码攻击 是(编码)

关键发现

  • LLM 在非标准分词下仍能理解语义,但安全对齐机制显著减弱
  • 不同模型对分词攻击的敏感度不同,较小模型更容易被攻破
  • 对抗分词与传统文本级攻击可以叠加使用,进一步提升 ASR
  • 该漏洞暴露了当前安全对齐训练的一个系统性盲点:只覆盖标准分词路径

亮点与洞察

  • 全新攻击维度:首次系统研究分词层面的对抗攻击,揭示了一个之前被完全忽略的安全漏洞
  • 零文本修改:不改变任何字符就能越狱,使得基于文本内容的安全检测(关键词过滤、perplexity 检测等)完全失效
  • 理论洞察:揭示了安全对齐在 token 空间的脆弱性——对齐只在标准 BPE 路径上有效,指数级多的等价路径未被覆盖
  • 实用性强:不需要白盒访问,不需要复杂优化,只需要知道词表就能实施

局限与展望

  • 贪心搜索可能无法找到全局最优的对抗分词,更强的搜索策略(beam search、MCTS)可能进一步提升攻击效果
  • 防御方案可能包括:(1) 在训练时引入多种分词的数据增强;(2) 在推理时先将 token 还原为文本再重新标准分词;(3) 对非标准分词输入增加额外安全检查
  • 论文主要在英文上实验,多语言场景下分词空间更大,攻击面可能更广
  • 对闭源 API 的攻击效果受限于 API 是否允许自定义 token 输入

相关工作与启发

  • vs GCG (Zou et al., 2023): GCG 通过梯度优化添加对抗后缀来越狱,需要修改文本且需要白盒访问;本文不改变文本也不需要梯度,两者可以互补
  • vs AutoDAN: AutoDAN 自动改写有害请求来绕过安全过滤,同样需要改变文本语义;本文严格保持文本不变
  • vs "Tokenization Matters!" (Wang et al., 2024): 该工作研究非标准分词对 LLM 性能的影响,但未从安全角度探讨;本文填补了这一空白

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 全新的攻击维度,首次系统研究分词层面的安全漏洞
  • 实验充分度: ⭐⭐⭐⭐ 覆盖3个SOTA LLM和多个数据集,但细节受限于论文篇幅(SRW)
  • 写作质量: ⭐⭐⭐⭐ 问题表述清晰,motivation compelling
  • 价值: ⭐⭐⭐⭐⭐ 揭示了安全对齐的系统性盲区,对LLM安全社区有重要警示意义

相关论文