SmoothLLM:防御大语言模型越狱攻击
SmoothLLM: Defending Large Language Models Against Jailbreaking Attacks
作者提出 SmoothLLM,对输入提示词做随机字符扰动并聚合多份回答来防御越狱;作者称在 GCG、PAIR、RandomSearch、AmpleGCG 上达到 SOTA,GCG 的 ASR 降到 1% 以下。
攻击者给定目标字符串 G,通过修改输入提示词(如附加对抗后缀 S)使目标 LLM 输出有害内容,即求解 JB◦LLM(P)=1;防御方只有查询访问权限(闭源模型经 API 调用),不能重训练模型;SmoothLLM 作为包裹任意 LLM 的黑盒防御,兼容 black- 和 white-box LLM。
- GPT、Llama、Claude 等对齐后的 LLM 仍会被越狱攻击(如对抗后缀)诱导输出有害内容,作者称此前没有防御能有效降低这些攻击的成功率,而重训练类防御对闭源大模型不可行。
- 提出 SmoothLLM:基于作者观察到的对抗后缀对字符级扰动脆弱这一现象,对输入提示词随机扰动 N 份副本(insert/swap/patch 三种),让 LLM 分别回答后按 JB 函数多数投票聚合,返回与多数一致的回答;并在 k-unstable 假设下给出防御成功概率的闭式证书。
- 作者称 SmoothLLM 在 GCG、PAIR、RandomSearch、AmpleGCG 四种攻击上达到 SOTA:GCG 在 Vicuna/Llama2 上 ASR 降到 1% 以下,RandomSearch 和 AmpleGCG 降到 0;对 token 空间的自适应 GCG 攻击不比非自适应攻击更强;代价是 N 倍查询和正常任务性能下降(如 PIQA 上 Llama2 从 76.7% 降到 70.3%)。
- 作者指出的局限:大 q 时正常性能下降明显,q 过大还会让模型输出被判为越狱的混乱回复;后续方向包括用去噪生成模型、语义变换替代字符扰动、设计更鲁棒的攻击和更多样的数据集。实验覆盖:被测模型 7 个,攻击 4 种,基线防御为困惑度过滤和非词典词移除。
- 被测模型
- Vicuna (vicuna-13b-v1.5)Llama2 (Llama-2-7b-chat-hf)GPT-3.5GPT-4PaLM-2Claude-1Claude-2
- 基准
- AdvBenchJBB-BehaviorsInstructionFollowingPIQAOpenBookQAToxiGen
- 指标
- ASRDSPprompt-level accuracyinstruction-level accuracy
宾夕法尼亚大学研究者提出 SmoothLLM,用于防御针对大语言模型的越狱攻击,作者称这是首个此类防御算法。该方法基于对抗后缀对字符级扰动高度脆弱的发现,对输入提示词的多个副本随机施加插入、交换或片段替换扰动,再对各副本输出做多数投票聚合。实验显示,无防御时 GCG 在 Vicuna 和 Llama2 上的攻击成功率为 98% 和 51%,采用交换扰动且采样数 N>6 时两者均降至 1% 以下;对 PAIR、RandomSearch、AmpleGCG 同样有效,针对该防御构造的自适应 GCG 攻击也未表现出更强效果。该防御无需重训练、兼容黑盒与白盒模型,交换扰动下单次额外查询即可使 Llama2 的攻击成功率降低近 20 倍,但扰动比例较大时正常任务性能会下降;作者还给出防御成功概率的闭式保证,代码开源于 https://github.com/arobey1/smooth-llm 。
推荐理由论文发现对抗后缀对字符级扰动高度脆弱,据此提出无需重训练、兼容任意 LLM 的随机化防御,并给出防御成功概率的理论保证。
深度解读
这篇论文试图解决什么问题?
如何在不重训练、仅查询访问的条件下防御 LLM 越狱攻击,作者称此前没有防御能有效降低这些攻击的 ASR。
核心问题:如何设计一种能切实降低越狱攻击成功率、同时适用于闭源和开源 LLM 的防御算法。
- 问题场景与重要性:作者指出,尽管对齐减少了有害输出,GPT、Llama、Claude 等模型仍可被越狱攻击绕过安全机制;这类攻击难以检测和缓解,而 LLM 正被用于教育政策、医疗诊断、商业决策等场景。
- 现有方法的不足:作者称,NLP 鲁棒性文献中的多数防御(如对抗训练、数据增强)需要重训练模型,对 LLM 在计算上不可行;闭源模型只能通过 API 查询访问;且截至写作时,文献中没有防御被证明能有效降低现有越狱攻击的 ASR。
- 核心观察:作者报告了一个此前未被观察到的现象——对抗后缀对字符级扰动很脆弱:对 GCG 生成的后缀随机插入或替换 q=10% 的字符,ASR 可降到 1% 以下(Figure 4)。
- 论文提出的内容:一套防御设计标准(desiderata:attack mitigation、non-conservatism、efficiency、compatibility),以及防御算法 SmoothLLM——随机扰动输入提示词的多份副本并聚合回答;作者称其为首个针对越狱攻击设计的防御算法。
- 威胁模型:
- 攻击者目标:给定请求有害内容的目标字符串 G,构造提示词 P(如附加后缀 S),使目标 LLM 输出有害内容,即满足 JB◦LLM(P)=1(式 2.1、2.2)。
- 攻击者知识:论文考虑的攻击涵盖白盒(GCG 需梯度)和黑盒(PAIR 等仅需查询)两类。
- 防御方能力:只有对 LLM 的查询访问权限,不能重训练;防御需兼容 black- 和 white-box LLM。
- 受害系统:对齐后的开源(Vicuna、Llama2)和闭源(GPT-3.5、GPT-4、PaLM-2、Claude-1、Claude-2)LLM。
有哪些相关研究?
相关工作分四组:越狱攻击、LLM 防御、随机平滑、NLP 对抗攻防;基线为困惑度过滤和非词典词移除。
越狱攻击
- Zou et al. [20](GCG)——通过给请求有害内容的提示词附加对抗选择的后缀越狱对齐 LLM,作者引述其工作称高性能 LLM 可被以 100% ASR 攻破;本文的 Figure 4 和多数实验基于 GCG 生成的后缀。
- Chao et al. [18](PAIR)——用语义化提示词在约二十次查询内越狱黑盒 LLM;Andriushchenko et al. [21](RandomSearch)和 Liao & Sun [22](AmpleGCG)——作者称本文是对这两种攻击的首次防御展示。
- Wei et al. [9]、Carlini et al. [10] 等——识别了绕过对齐机制的多种越狱失败模式。
LLM 防御(并发工作)
- Jain et al. [35]——评估了输入预处理、对抗训练等候选防御;论文转述其结果:启发式检测类方法表现强,对抗训练因计算成本不可行。
- Kumar et al. [36]——对输入提示词的子串施加过滤以认证安全性;论文指出其复杂度随输入长度增长,对多数越狱攻击不可行。
随机平滑
- Lecuyer et al. [24]、Cohen et al. [25]、Salman et al. [26]——通过对输入加噪构建"平滑分类器",为分类任务提供可认证鲁棒性;SmoothLLM 的设计受此启发。论文在附录 E.2 明确了两者的区别:随机平滑面向分类和对抗样本威胁、多从连续分布采样,SmoothLLM 面向文本生成和越狱威胁、从字符上的离散分布采样,二者不直接可比。
NLP 对抗攻防
- 攻击侧包括同义词替换 [78–80]、字符级替换(TextBugger [34])、拼写错误 [81];防御侧几乎都依赖重训练或微调 [82–84]。论文指出,由于现代 LLM 的规模和封闭性,需要无需重训练的防御,SmoothLLM 填补这一空白。
基线与基准:防御对比基线为困惑度过滤(perplexity filter)[35, 38] 和非词典词移除(non-dictionary removal),在 JBB-Behaviors 基准上比较(Table 7);攻击评测使用各攻击论文的数据集(GCG/RandomSearch/AmpleGCG 用 AdvBench,PAIR 用 JBB-Behaviors)。
作者将本文定位为:受随机平滑启发、但针对生成式 LLM 越狱威胁的通用防御,并自称在四种攻击上达到 SOTA。
论文如何解决这个问题?
SmoothLLM 把输入提示词随机扰动 N 份、逐一生成回答后按 JB 多数投票聚合;并在 k-unstable 假设下给出防御成功概率的闭式保证。
整体思路:利用对抗后缀对字符级扰动脆弱这一观察,SmoothLLM 作为包裹任意 LLM 的外壳,先扰动输入提示词的 N 份副本,再聚合各副本的回答来判定并返回非越狱回答。
问题形式化
- 越狱被形式化为可行性问题:找提示词 P 使 JB◦LLM(P)=1,其中 JB 是判定回答是否有害的二值函数;对抗后缀攻击即找后缀 S 使 [G; S] 触发越狱(式 2.2)。
- 攻击效果用 ASR 衡量:数据集中成功越狱的 (G, S) 对所占比例(式 2.3)。
扰动步骤
- 给定字母表 A(实验用 Python string.printable,含 100 个字符),定义三种扰动:Insert(随机选 q% 字符,在其后插入均匀采样新字符)、Swap(随机选 q% 字符替换为均匀采样新字符)、Patch(选长度等于 q% 的连续片段整体替换)。
- 扰动施加于整个提示词而非仅后缀,SmoothLLM 不假设知道后缀的位置或是否存在。
聚合步骤与算法
- 从扰动分布 Pq(P) 独立采样 N 份副本 Q1…QN,分别经 LLM 生成回答,计算多数投票
V \triangleq \mathbb{I}\big[\frac{1}{N}\sum_j (\mathrm{JB}\circ\mathrm{LLM})(Q_j) > \gamma\big],即判定是否有超过 γ 比例的回答构成越狱。 - 返回一个与多数投票一致的回答(Algorithm 1 第 6 行:从 JB 值等于 V 的回答中均匀随机选一个)。三个参数:样本数 N、扰动比例 q、阈值 γ(默认 1/2)。
理论保证
- 定义 k-unstable(Definition 3.2):若改变后缀 S 中 k 个或更多字符攻击即失败,则称该后缀 k 不稳定;Figure 4 被作者视为对该假设的经验支持。
- Proposition 3.3 给出 swap 扰动下防御成功概率 DSP 的闭式表达(式 3.5–3.6),是 N、q、k 的函数;Figure 6 显示在 v=100、m=168、mS=95(Llama2 平均长度)下,N 和 q 增大时 DSP 增大;patch 扰动的对应结果在附录 A。
超参数选择
- N 和 q 通过扫描选取:Figure 1、14 报告 q∈{2,5,10,15,20}、N∈{5,…,10} 中表现最好的组合;Figure 7 的扫描用 N∈{2,4,6,8,10}、q∈{5,10,15,20}、五次独立试验。
- 作者称 q 不能太大:q 过大时模型会输出"无法理解问题"类回复,而 [20] 的 JB 判定会把这类回复误判为越狱(附录 D 的"incoherency threshold"现象)。
成功判定(JB 的实现)
- 沿用各攻击原作者的判定器:GCG 用拒答关键词列表匹配;PAIR 用 Llama Guard 分类器;RandomSearch 和 AmpleGCG 用 GPT-4 做 LLM-as-a-judge(附录 B.4)。
论文做了哪些实验?
在 7 个模型、4 种攻击上测 ASR,作者称 SmoothLLM 均达 SOTA;另测了自适应攻击、正常性能折损、查询效率和基线防御对比。
实验设置
- 被测模型:Vicuna(vicuna-13b-v1.5)、Llama2(Llama-2-7b-chat-hf)、GPT-3.5、GPT-4、PaLM-2、Claude-1、Claude-2,共 7 个。
- 攻击与数据集:GCG、RandomSearch、AmpleGCG 用 AdvBench;PAIR 用 JBB-Behaviors;GCG 后缀用作者实现跑 500 步、batch size 512 生成。
- 基线防御:困惑度过滤(阈值设为 JBB-Behaviors 提示词的最大困惑度)和非词典词移除,在 JBB-Behaviors 上对比,SmoothLLM 用 N=10、q=5(附录 B.12)。
- 指标与判定:主指标 ASR;JB 判定沿用各攻击原实现——GCG 用关键词列表、PAIR 用 Llama Guard、RandomSearch/AmpleGCG 用 GPT-4 评审。
- 重复次数:Figure 4、7 的扰动实验为 5 次独立试验;Table 6 的闭源模型迁移复现只跑了 1 次(与 [20] 一致,且受 GPT 查询额度限制)。
- 正常性能:InstructionFollowing(prompt-/instruction-level 准确率)、PIQA、OpenBookQA、ToxiGen 四个基准。
主结果
Figure 1 报告四种攻击下无防御与 SmoothLLM 防御的 ASR(%,防御数值为扫描 N、q 后的最佳组合):
表格较宽,可左右滑动
攻击 指标 Vicuna Llama2 GPT-3.5 GPT-4 GCG 无防御 / 防御 98.1 / 0.8 51.0 / 0.8 28.7 / 0.8 5.6 / 0.9 PAIR 无防御 / 防御 100.0 / 8.0 46.0 / 8.0 58.0 / 2.0 56.0 / 24.0 RandomSearch 无防御 / 防御 96.0 / 0.0 44.0 / 0.0 92.0 / 0.0 98.0 / 0.0 AmpleGCG 无防御 / 防御 89.5 / 2.0 98.0 / 0.0 89.0 / 0.0 86.0 / 0.0 (据 Figure 1;GCG 行另有 PaLM-2 24.9/1.3、Claude-1 0.8/1.6、Claude-2 0.3/0.3。)
- 作者称 SmoothLLM 把 GCG 的 ASR 降到 1 个百分点以下,构成该攻击的 SOTA;对 RandomSearch 和 AmpleGCG 是文献中首次防御展示,均被降到接近零。
- 作者指出,尽管 SmoothLLM 是针对后缀攻击设计的,它仍把 PAIR 语义攻击在 Vicuna 和 GPT-4 上的 ASR 减半、在 GPT-3.5 上降至约 1/29。
- 注意 Figure 1 中 GPT-4 的 GCG 无防御 ASR 只有 5.6%:作者在附录 B.11 称无法复现 [20] 报告的更高数字,认为最可能的解释是 OpenAI 和 Google 已做了修补。
自适应攻击
- 测了什么:SmoothLLM 不可微(Prop. C.1),作者在附录 C.2.2 构造了在 token 空间(而非字符空间)平滑的可微代理 SurrogateLLM,用 GCG 攻击该代理再迁移到 SmoothLLM。
- 结果:Figure 8 报告 N=10、γ=1/2 下自适应 GCG 的 ASR 随 q 变化;作者称自适应攻击不比针对无防御模型优化的非自适应攻击更强(与 Figure 1 对比)。
基线防御对比(Table 7,JBB-Behaviors)
- GCG:SmoothLLM 平均 ASR 0.75(Vicuna 1、Llama2 1、GPT-3.5 1、GPT-4 0),困惑度过滤 0.5,非词典词移除 3.75,无防御 23.75。
- PAIR:SmoothLLM 平均 21.25(47、1、12、25),困惑度过滤 35.75,非词典词移除 53(与无防御相同)。作者称 SmoothLLM 在 PAIR 上相对无防御平均降低 60%,优于困惑度过滤的 32%。
正常性能与效率
- 非保守性:Figure 9 显示 InstructionFollowing 上 q 增大时准确率下降;Table 4 中 PIQA 上 q=5、N=20、patch 扰动使 Llama2 从 76.7% 降到 70.3%、Vicuna 从 77.4% 降到 71.9%(无防御值见 Table 5);作者称 patch 扰动的折损最小,OpenBookQA 和 ToxiGen 上防御前后接近。
- 效率:Table 1 显示 q=10%、N=2(仅多一次查询)时,ASR 相对无防御降低 2.5–7.0 倍(Vicuna)和 5.7–18.6 倍(Llama2);Table 2 显示防御每提示词耗时 3.5–4.5 秒,而 GCG 生成一个后缀在 A100 上约 90 分钟;Figure 10 显示 GCG 默认约 256,000 次查询,SmoothLLM 通常 N≤20 次。
其他消融与分析
- N 与 q 扫描(Figure 7):swap 扰动、N>6 时 Vicuna 和 Llama2 的 GCG ASR 均低于 1%;q=5% 即可将 ASR 减半。
- q 过大的反例(§5、附录 D):N≤4 且 q=20% 时 ASR 反而更高,因为模型输出"无法理解"类回复被 [20] 的关键词判定器误判为越狱。
- Tilted SmoothLLM(Table 8):γ=(N−1)/N 且投票为 0 时返回未扰动回答的变体,在 JBB-Behaviors 上对 PAIR/GCG 的鲁棒性与原版相近,作者称 IF 上正常性能恢复到无防御水平。
- 迁移来源(Figure 14):从 Llama2 迁移后缀到闭源模型时结论与 Figure 1 一致;作者报告 Vicuna 与 Llama2 之间的攻击互不迁移。
有什么可以进一步探索的点?
作者列出正常性能折损、q 选择等局限和多个后续方向;实验覆盖 7 个模型、4 种攻击、2 个基线防御。
作者指出的局限与后续方向
- 正常性能折损(§5):作者写道 SmoothLLM 的一个局限是它用正常性能换鲁棒性的程度——q≤5 时折损可控,但 q 较大时正常性能会下降;作者计划在未来工作中继续这一方向。
- 改进正常性能的路径(§5):作者提出可用去噪生成模型处理扰动后的输入,或用语义变换(如改写)替代字符级扰动。
- q 与 ASR 的相互作用(§5、附录 D):q 过大时模型输出混乱回复,会被 [20] 一类的判定器误判为越狱,因此 q 应选得足够小以保留提示词语义。
- 需要更鲁棒的攻击(§5、附录 F.1):作者称未来研究必须寻找无法被 SmoothLLM 这类随机化算法廉价防御的"鲁棒攻击",如融入语义内容、在优化中引入随机化。
- 更多样的数据集(附录 F.3):作者指出 [20] 的 behaviors 数据集 520 条提示词中有 24 条主题几乎重复,未来需要更大、更多样、更少重复的数据集。
- 更多扰动函数(附录 F.4):可纳入删除、同义词替换、大小写变换等扰动,或集成不同扰动函数的回答;附录 B.6 还提出可研究 N 和 q 的选择策略。
实验覆盖范围
- 被测模型共 7 个:Vicuna、Llama2、GPT-3.5、GPT-4、PaLM-2、Claude-1、Claude-2(Figure 1、Table 6)。
- 评测的攻击共 4 种:GCG、PAIR、RandomSearch、AmpleGCG;自适应攻击仅针对 GCG、经 token 空间代理实现(附录 C.2.2)。
- 对比的基线防御为困惑度过滤和非词典词移除两种,仅在 JBB-Behaviors 上对比(Table 7)。
- 扰动实验重复 5 次试验(附录 B.7);闭源模型迁移复现仅 1 次试验,作者说明受 GPT 查询额度限制(附录 B.11)。
- 正常性能评测覆盖 InstructionFollowing、PIQA、OpenBookQA、ToxiGen 四个基准,仅报告 Vicuna 和 Llama2(Table 4、Figure 9)。
总结一下论文的主要内容
SmoothLLM 用随机字符扰动加多数投票防御越狱,作者称在四种攻击上达 SOTA,代价是 N 倍查询和正常性能折损。
宾夕法尼亚大学作者提出 SmoothLLM,一个包裹任意 LLM、无需重训练的越狱防御算法,针对的是对齐 LLM 仍被对抗提示词(尤其是对抗后缀)绕过安全机制的问题。
- 核心观察:作者报告对抗后缀对字符级扰动脆弱——对 GCG 后缀扰动 q=10% 的字符,insert 和 patch 扰动下 ASR 可降到 1% 以下(Figure 4)。
- 方法:对输入提示词随机扰动 N 份副本(insert/swap/patch 三种),逐一生成回答后按 JB 函数多数投票,返回与多数一致的回答;在 k-unstable 假设下给出防御成功概率的闭式证书(Proposition 3.3)。
- 主结果(Figure 1):GCG 在 Vicuna/Llama2 上 ASR 从 98.1%/51.0% 降到 0.8%/0.8%;RandomSearch 和 AmpleGCG 在四个模型上降到 0.0%–2.0%;PAIR 在 GPT-3.5 上从 58.0% 降到 2.0%。作者称这些结果构成四种攻击的 SOTA,其中对 RandomSearch 和 AmpleGCG 是首次防御展示。
- 自适应攻击:经 token 空间可微代理构造的 GCG 自适应攻击不比非自适应攻击更强(Figure 8,作者称)。
- 代价:防御需要 N 倍查询(N=2 时 ASR 已降 2.5–18.6 倍,Table 1);正常性能有折损,如 PIQA 上 Llama2 从 76.7% 降到 70.3%(q=5、N=20、patch,Table 4)。
- 作者结论:作者认为在对抗提示词场景下计算负担落在攻击方一侧,未来需要无法被廉价防御的鲁棒攻击;并指出大 q 时性能折损和判定误判是待解决的问题。