英文题目:《Open Sesame! Universal Black Box Jailbreaking of Large Language Models》

中文题目:《芝麻开门!大型语言模型的通用黑盒越狱》

论文作者:Raz Lapid, Ron Langberg, Moshe Sipper

发布于:CoRR 2023

论文链接:http://arxiv.org/abs/2309.01446

代码链接:无


摘要

该工作提出并验证了一种基于遗传算法(GA)的通用黑盒越狱框架:在目标 LLM 完全黑盒(仅能查询输出)的条件下,进化出一段固定的 token 后缀,将其拼接到任意用户输入后能显著提高模型输出与“服从/有害回答”语义的相似度,从而实现普适性的越狱效果。与白盒梯度方法不同,本方法不依赖模型内部信息,具有跨输入与(一定程度的)跨模型迁移性,同时通过随机子集评估等手段降低查询成本。

本文聚焦的问题

如何在黑盒中实现自动化的黑盒越狱对抗性后缀。

本文提出的方法

1. 方法目标

  • 目标:寻找一个通用的对抗后缀 x_adv,对于数据集中大部分有害指令 x_user,拼接后 x = x_user || x_adv 能促使目标 LLM 输出与攻击意图语义接近的回答(例如以“Sure, here is a…”开头并给出具体步骤)。
  • 限制:黑盒威胁模型 — 攻击者只能提交文本并读取模型返回(无 logits/概率/梯度访问)。

2. 个体编码与种群初始化

  • 编码(Genome):把每个候选后缀表示为长度为 m 的 token-id 向量(整数序列),这是 GA 的基本“基因”。
  • 初始化:从目标模型的 tokenizer 词表中随机抽取 token 填充,生成 n 个个体作为初始种群。论文实验中常用的设置包括 n ∈ {10,20,30}m ∈ {20,40,60}
  • 直观理由:用 token-id 向量能直接拼接到原始输入并被 LLM 解读;离散编码适配经典遗传算子(交叉/变异)。

3. 适应度(得分)设计

  • 由于无法直接读取模型内部分布,作者采用文本嵌入 + 余弦相似度作为适应度代理:
    • 选择一个目标输出模版 y_target(代表“服从/有害型回答”语义,例如“Sure, here is a …”),
    • 对于给定的 x_user 与候选后缀 x_adv,把 y_output = LLM(x_user || x_adv)y_target 分别映射到 embedding 空间(使用预训练 embedder,如 MPNet、MiniLM、BGE),
    • 计算两者的余弦相似度,作为该 (x_user, x_adv) 对的相似度得分,种群个体的适应度为在若干训练样本上的平均相似度(或其负值作为 loss)。
      [
      \text{fitness}(x_{adv}) \approx \mathbb{E}{x{user}\sim D};\cos\big( f_{\text{embed}}( \text{LLM}(x_{user}|x_{adv}) ),; f_{\text{embed}}(y_{\text{target}}) \big)
      ]
  • 直观说明:如果后缀能使 LLM 的输出在语义上更靠近“目标回答”模板,则适应度更高;这样 GA 在语义空间而非原始 token 匹配上进行搜索,更适合黑盒环境。

4. 适应度近似

  • 直接在全集上评估每个个体非常昂贵。论文采用每代随机采样子集(size c,例如 c=50)计算个体在该子集上的平均适应度,并每代重新抽样,从而用有限查询估计普适性表现(fitness approximation)。
  • 作用:降低查询成本且能保持优化方向的多样性。

5. 进化算子(Selection / Crossover / Mutation / Elitism)

  • 选择(Selection):使用锦标赛选择(tournament selection,k=2),倾向挑选适应度更高的个体作为父代,同时保留随机性以维持探索。
  • 交叉(Crossover):采用单点交叉(one-point crossover):在父代向量上随机选择切点,交换片段生成子代,从而组合父代中有效的局部片段。
  • 变异(Mutation):以小概率随机替换个体中的某些 token(随机 token-id 替换),用于引入新基因与局部探索。
  • 精英保留(Elitism):每代直接保留 e 个最优个体,避免优良基因丢失,常设 e = n/5
  • 这些算子按经典 GA 流程交替作用,既能保留优秀结构,又保证探索空间的多样性。

阅读总结

优点:
黑盒可行且通用性强,
引入遗传优化算法

缺点:
后缀可读性差、易被表层检测识别