1. 论文信息
本文讨论三种自动化 Jailbreak 方法:
三种方法都在自动搜索 Jailbreak prompt,但它们面对的攻击面和可用反馈并不相同:
GCG 使用梯度搜索 token suffix;AutoDAN 使用遗传算法搜索可读的自然语言策略;BPJ 只依赖分类器的二值反馈,在黑盒决策边界附近构造优化信号。
GCG 和 AutoDAN 主要攻击模型自身的 refusal behavior,BPJ 则研究部署在主模型外部的 classifier。三者并不是同一条技术路线的三个版本,也不能只根据 ASR 直接比较强弱。
| 维度 | GCG | AutoDAN | BPJ |
|---|---|---|---|
| 搜索对象 | Adversarial suffix | 自然语言 Jailbreak prompt | Adversarial prefix |
| 主要攻击面 | 主模型 refusal | 主模型 refusal | 外置 classifier |
| 优化反馈 | 梯度与 likelihood | Likelihood-based fitness | FLAG / NO FLAG |
| 搜索方法 | Greedy coordinate search | Hierarchical genetic algorithm | Curriculum + boundary points + evolution |
| 文本形态 | 常呈高困惑度乱码 | 可读自然语言 | 随机性+有限语义性 |
| Universal | 支持 | 支持 | 支持 |
| Agentic | 不是核心实验 | 不是核心实验 | 不是 |
三者最核心的区别是优化信号:
GCG 解决“有梯度时如何搜索 token”,AutoDAN 解决“如何搜索自然、隐蔽的 Jailbreak strategy”,BPJ 解决“只剩二值反馈时如何继续优化”。
2. Jailbreak 是一个优化问题
手工 Jailbreak 依赖攻击者反复改写 prompt。自动化 Jailbreak 则把这个过程转化成搜索问题:
1 | 生成候选 prompt |
差别在于,攻击者能从系统中得到什么反馈。
在白盒模型上,攻击者可以读取 logits、计算 loss,并反向传播到输入 token;在较弱的黑盒设置中,攻击者可能只能看到回答内容;如果系统前面还有外置 classifier,攻击者甚至可能只观察到 blocked / not blocked。
现代 LLM 系统也不只有一层安全机制:
1 | User Prompt |
“模型拒答”和“请求被 classifier 拦截”是两个不同事件。GCG、AutoDAN 主要改变主模型的生成倾向,BPJ 则直接寻找外置分类器的判断盲区。
本文中的 classifier 主要指 semantic classifier & topical classifier:它从语义/主题层面判断请求是否属于特定风险领域。BPJ 通过 adversarial prefix 和二值反馈搜索这类 classifier 的黑盒决策边界。
更强的实现可以使用 activation classifier。它是在模型 hidden states 上训练轻量 probe,根据输入经过模型参数计算后产生的中间层参数激活进行分类。由于模型要理解并完成任务,相关风险语义通常仍会在内部表征中被激活,因此 activation classifier 一般比直接读取文本的分类器更难通过表面改写绕过。
2.1 Universal 与 Agentic Jailbreak
Universal Jailbreak 强调攻击覆盖面:同一段 suffix、prompt 或 prefix 能迁移到多个未参与优化的请求。它不要求对所有请求都成功,也不表示攻击可以持续任意轮次。
Agentic Jailbreak 强调攻击持续性:模型在多轮交互中继续执行任务,能够调用工具、读取 observation,并在长链任务中保持被绕过状态。
1 | Universal:同一个攻击能覆盖多少不同任务 |
GCG、经典 AutoDAN 和 BPJ 的核心实验主要属于单轮内容绕过。BPJ 找到的 prefix 可以迁移到 unseen harmful queries,因此具有 universal 性质,但它不是多轮 agentic Jailbreak。
3. GCG:用梯度搜索 Adversarial Suffix
GCG 来自论文 Universal and Transferable Adversarial Attacks on Aligned Language Models。它在用户请求后附加一段 adversarial suffix:
1 | [harmful instruction] + [adversarial suffix] |
攻击目标不是提前写出完整回答,而是让模型以肯定式前缀开始生成,例如:
1 | Sure, here is ... |
论文将目标前缀的 negative log likelihood 作为 loss。只要模型更倾向于生成目标前缀,loss 就会下降。
3.1 Greedy Coordinate Gradient

输入 token 是离散变量,不能像连续向量一样直接做普通梯度下降。GCG 的做法是先计算 loss 对每个 token 位置的梯度,再用梯度估计“把当前位置替换成哪些 token 最可能降低 loss”。
每轮搜索大致分成四步:
1 | 随机选择一个 suffix 位置 |
梯度在这里不是直接修改 token,而是缩小离散搜索空间。真正决定下一轮 suffix 的,仍然是候选替换后的实际 loss。
这种搜索经常得到类似乱码的高困惑度 suffix。它未必对人类有明确语义,但 token 组合能够改变模型内部对后续回答的概率分布。
3.2 从单个请求到 Universal Suffix

只针对一个 harmful instruction 优化,容易得到只适用于该请求的 suffix。GCG 的 universal optimization 会同时维护多个训练请求,并以同一段 suffix 在这些请求上的聚合 loss 作为优化目标。
1 | 同一个 suffix |
随着参与优化的请求增加,suffix 不再只记住一个问题,而是寻找多个 refusal 场景共享的薄弱点。论文还在多个开源模型上联合优化,再把得到的 suffix 迁移到闭源模型。
这里的 universal 表示同一 suffix 能覆盖多个未参与训练的请求,不表示对所有请求和所有模型都能 100% 成功;transferable 也只是说明攻击具有跨模型迁移能力,不意味着目标闭源模型完全复现了 surrogate 上的效果。
4. AutoDAN:搜索可读的 Jailbreak Strategy
GCG 搜索的是对模型有效的 token,但这些 token 未必构成人类可读的语言。高困惑度 suffix 容易被 perplexity filter 或人工审查发现。
经典 AutoDAN 来自论文 AutoDAN: Generating Stealthy Jailbreak Prompts on Aligned Large Language Models。它将搜索对象换成结构化的自然语言 Jailbreak prompt,希望同时保留攻击效果、可读性和语义连贯性。

上图对应 2023 年提出、发表于 ICLR 2024 的经典 AutoDAN。后续的 AutoDAN-Turbo 沿用了自动搜索自然语言 Jailbreak strategy 的目标,攻击设置和优化方法已经发生变化。
4.1 Hierarchical Genetic Algorithm
AutoDAN 从人工编写的 DAN prompt 出发,将其改写成一组初始个体。每个个体都是一段完整、可读的自然语言 prompt。
1 | Handcrafted DAN prompt |
它同样可以使用目标回答前缀的 likelihood 计算 fitness:模型越倾向于生成肯定式回答,候选 prompt 的适应度越高。
文本天然具有层次结构。段落由句子组成,句子又由词组成,如果只随机替换 token,很容易破坏原有语义。因此 AutoDAN-HGA 分两个层级搜索:
- 段落级搜索重组不同 prompt 中的句子结构。
- 句子级搜索替换局部词语,继续降低 loss。
其中 crossover 负责组合高适应度个体中的有效策略,mutation 则利用 LLM 对句子进行语义连贯的改写。论文还使用 momentum word dictionary 保留过去搜索中效果较好的词级替换。
4.2 AutoDAN 与 GCG 的区别
GCG 优化的是一段 token suffix,搜索方向主要来自梯度;AutoDAN 优化的是自然语言 Jailbreak strategy,搜索过程由 selection、crossover 和 mutation 驱动。
AutoDAN 的优势不是简单地“比 GCG 更强”,而是生成结果更像正常语言。相应地,它需要维护种群并反复调用模型做 mutation,搜索成本和实现复杂度也更高。
两者通常都在白盒模型或 surrogate 上获得 likelihood-based fitness,再测试生成 prompt 对其他模型的迁移能力。对目标闭源模型的攻击可以是黑盒的,但 prompt 的优化过程并不等于纯黑盒搜索。
4.3 AutoDAN-Turbo:面向黑盒的策略探索
AutoDAN-Turbo: A Lifelong Agent for Strategy Self-Exploration to Jailbreak LLMs 将攻击目标改成了黑盒模型。攻击者不需要读取目标模型的参数、梯度、logits 或 token likelihood,只需要通过 API 获得目标模型的回答。
1 | 根据已有策略生成 Jailbreak prompt |
AutoDAN-Turbo 不再使用经典 AutoDAN 的 hierarchical genetic algorithm。它将攻击过程组织成一个 lifelong agent:从 strategy library 中检索已有策略,生成针对当前请求的 prompt,再根据 judge feedback 总结、组合和改进策略。新策略会被写回 library,用于后续请求和其他目标模型。
| 方法 | 优化反馈 | 目标模型条件 |
|---|---|---|
| 经典 AutoDAN | 目标回答 token 的 likelihood | 白盒模型或可提供概率的 surrogate |
| AutoDAN-Turbo | 目标模型回答 + judge feedback | 黑盒 API |
两者虽然都叫 AutoDAN,但核心区别不只是“Turbo 更自动化”:
经典 AutoDAN 使用 likelihood 驱动自然语言种群演化;AutoDAN-Turbo 使用 response-based feedback,在黑盒环境中持续探索和积累 Jailbreak 策略。
5. BPJ:只有二值反馈时如何优化
GCG 能读取梯度,AutoDAN 至少需要一个可以计算候选 fitness 的模型。如果攻击目标是部署在 API 前面的外置 classifier,攻击者可能看不到 score、logits 或梯度,只能观察:
1 | FLAG / NO FLAG |
BPJ 来自论文 Boundary Point Jailbreaking of Black-Box LLMs,研究的就是这种 deterministic binary classifier 场景。它的目标是寻找一段 universal adversarial prefix,使多个 harmful queries 不再被 classifier 标记。

5.1 二值反馈为什么难以优化
如果一个 harmful query 明显位于 classifier 的拦截区域,那么对 prefix 做许多轻微修改,反馈可能始终是:
1 | FLAG → FLAG → FLAG → FLAG |
攻击者知道所有候选都失败,却不知道哪一个距离成功更近。连续 classifier score 可以提供方向,单个二值标签则没有这种信息。
BPJ 用两个机制解决这个问题:
- Curriculum Learning:把困难的目标请求拆成由易到难的中间目标。
- Boundary Points:主动寻找对微小攻击变化敏感的评估样本。
5.2 Curriculum via Noise Interpolation
BPJ 使用 noise interpolation,在原始 harmful text 和随机噪声之间构造多个难度等级。高噪声输入更难被 classifier 理解,通常更容易得到 NO FLAG;随着噪声逐渐减少,输入越来越接近真实目标请求。
1 | Fully Noised |
攻击先在容易的 curriculum level 上找到有效 prefix,再把已有结果作为下一层的起点。只有当当前 prefix 在该层达到足够成功率时,算法才降低噪声、推进到更困难的目标。
Curriculum 解决的是目标过难的问题,但在同一个难度等级内,许多 evaluation points 仍可能全部 FLAG 或全部 NO FLAG,无法区分两个相近 prefix 的好坏。
5.3 Boundary Points:把二值标签变成搜索信号
BPJ 在每个 curriculum level 中生成多组 evaluation points,并使用当前攻击种群逐一测试:
- 如果所有攻击都得到 FLAG,该点太难。
- 如果所有攻击都得到 NO FLAG,该点太容易。
- 如果一部分 FLAG、一部分 NO FLAG,该点靠近当前攻击种群对应的 decision boundary。
第三类样本就是 boundary points。
在这些点上,一次 token substitution、insertion 或 deletion 就可能导致标签翻转。因此虽然 API 仍然只返回一个 bit,多个高敏感度 boundary points 上的成功数量却可以作为候选 prefix 的相对 fitness。
1 | candidate prefix A:通过 3 / 10 个 boundary points |
BPJ 没有直接访问 classifier 的连续 score,而是先把样本移动到决策边界附近,再通过一组二值判断制造近似的排序信号。
5.4 完整优化闭环
Figure 3 中的循环可以拆成三个阶段:
1 | 生成并验证 boundary points |
当所有候选都能通过某个 boundary point 时,这个点已经不能区分种群,需要被替换。算法持续补充与当前攻击能力匹配的新 boundary points,直到课程推进到 noise level 为 0,即直接面对原始 harmful query。
最终效果类似:

5.5 BPJ 实际攻破了什么
论文报告的真实系统实验包括:
- 2025 年 11 月测试的 Anthropic Constitutional Classifiers,搭配 Claude Sonnet 4.5。
- 2025 年 11 月测试的 GPT-5 input classifier。
- 生物风险领域的单轮问答任务。
在 Constitutional Classifiers 实验中,研究者使用一段独立的 human-found jailbreak 处理主模型拒答,再用 BPJ prefix 攻击 classifier。这样可以把“绕过外置 classifier”和“让主模型愿意回答”拆开研究。
BPJ 证明的是:只暴露二值结果的生产级 classifier 仍可能被自动化 boundary search 绕过。
6. 总结
GCG、AutoDAN 与 BPJ 展示了三种不同的信息条件下,自动化 Jailbreak 如何构造搜索方向:
1 | GCG 梯度提供 token 替换方向 |
自动化 Jailbreak 的关键并不是某一段固定 prompt,而是攻击者能否从系统响应中获得与安全决策相关的反馈。即使没有梯度和 classifier score,只要能够稳定、大量地查询,并观察安全判断是否翻转,离散反馈也可能被转化为优化信号。
从防御角度看,单个 classifier 不能构成完整安全边界。semantic classifier & topical classifier、主模型自身拒答对齐、activation classifier、 actor-level enforcement 需要组合使用;评估也不能只测试人工 Jailbreak,还需要覆盖自动化、自适应和可迁移攻击。