- 文档
- 教程
- 知识库
【免费下载链接】developer-roadmap
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
AI 红队测试的核心活动之一就是构造对抗样本——通过对输入施加微小的、人眼几乎不可察觉的扰动,诱使模型发生错误分类或绕过安全过滤,从而检验模型在面对恶意输入时的鲁棒性。本文以 developer-roadmap 仓库中roadmaps/ai-red-teaming/路径下的 AI 红队学习路线为依据,系统讲解对抗样本的概念、生成技术、攻击面、防御与评估闭环,帮助红队工程师掌握一套可用于实战的模型鲁棒性测试方法。
什么是对抗样本
对抗样本(Adversarial Examples)指的是经过刻意扰动的输入,这种扰动往往幅度极小,对人类观察者几乎无感,却足以让机器学习模型产生完全错误的输出。正如 adversarial-examples@xjlttOti-_laPRn8a2fVy 所定义的:这是"inputs slightly perturbed to cause misclassification or bypass safety filters"(被轻微扰动、用于引发误分类或绕过安全过滤器的输入)。
它的危险之处在于:模型在训练时见到的都是"正常"数据,而真实世界的攻击者并不会按常理出牌。一张加了少量噪点的图片、一段混入特殊 Unicode 字符的文本、一个插入看似无害前缀的提示词,都可能让模型从"可信赖的系统"变成"被任意操纵的木偶"。
对抗样本为什么能奏效
从模型机理上看,对抗样本的成因主要有三点:
- 高维输入空间的脆弱性:深度学习模型(尤其是深度神经网络)工作在高维空间中,输入的一个维度发生微小变化,经过层层非线性变换后,就可能被放大成输出的巨大偏差。参见 large-language-models@8K-wCn2cLc7Vs_V4sC3sE 与 neural-networks@RuKzVhd1nZphCrlW1wZGL 中对模型内部机制的介绍。
- 模型只学到了"表面相关性":模型往往依赖一些统计上相关、但对人类无关紧要的特征(如纹理、背景、特定词序),对抗扰动恰好击中了这些脆弱特征。
- 线性化假设:许多经典对抗攻击(如 FGSM)利用了神经网络在局部近似线性的特性,沿着梯度方向加一个微小扰动,即可把输出推向错误方向。
对抗样本与普通输入错误的区别
| 维度 | 普通输入错误 | 对抗样本 |
|---|---|---|
| 起因 | 随机噪声、格式问题、用户误操作 | 攻击者刻意构造的微小扰动 |
| 可察觉性 | 通常明显可感知 | 对人类几乎不可察觉 |
| 目标 | 无明确恶意目的 | 明确诱导模型误分类或绕过安全机制 |
| 影响 | 单次错误输出 | 可系统性利用,反映模型真实脆弱面 |
对抗样本在 AI 红队中的定位
对抗样本生成是 AI 红队(AI Red Teaming)的核心活动之一。红队的目标是"在恶意行为者之前主动发现漏洞、潜在滥用场景与失效模式"(见 introduction@HFJIYcI16OMyM77fAw9af),而对抗样本正是探测模型脆弱性的最直接手段。
它的工作闭环如下:
- 构造:红队成员使用各种技术(基于梯度的、基于优化的、黑盒的)构造对抗输入;
- 投放:将对抗输入喂给目标模型,观察输出;
- 记录:记录模型错误分类、安全过滤器被绕过或产生违规内容的案例;
- 反馈:将发现整理成可操作的报告,告知开发者如何加固(harden)模型。
这个闭环的价值在于:对抗样本不只证明"模型会出错",更指出"模型在哪里、以什么方式出错",从而让加固工作有的放矢。
对抗样本的生成技术分类
根据红队成员对模型内部信息的掌握程度,对抗样本生成可分为三大类技术路线,这与测试方法的分类(black-box-testing@0bApnJTt-Z2IUf0X3OCYf、white-box-testing@Mrk_js5UVn4dRDw-Yco3Y.md、grey-box-testing@ZVNAMCP68XKRXVxF2-hBc)一一对应。
1. 基于梯度的方法(Gradient-based)
这是最经典的一类方法,属于白盒测试范畴。红队成员拥有模型权重与源码(见 white-box-testing),可以计算损失函数对输入的梯度,然后沿梯度方向修改输入。
代表性算法包括:
- FGSM(Fast Gradient Sign Method):计算损失对输入的梯度符号,乘以扰动幅度 ε 后加到原输入上,一步完成攻击;
- PGD(Projected Gradient Descent):在 FGSM 基础上做多步迭代,每一步都投影回允许的扰动范围内,攻击强度更高;
- C&W 攻击(Carlini-Wagner):将对抗样本构造建模为优化问题,在扰动约束下最小化误分类目标,是目前最强大的白盒攻击之一。
这类方法的优点是可生成"定向"的精确对抗样本(指定目标错误类别),缺点是依赖完整梯度信息,实战中外部攻击者通常不具备。
2. 基于优化的方法(Optimization-based)
这类方法把对抗样本的生成形式化为一个最优化问题:在"扰动足够小"(满足某种范数约束,如 L∞、L2)的前提下,寻找能让模型输出目标错误结果的输入。
从红队视角看,基于优化的方法的核心价值是量化边界:它能回答"把模型逼到错误,至少需要多大的扰动",这个数值本身就是模型鲁棒性的一种度量,可以写进测试报告中作为量化证据。
3. 黑盒方法(Black-box)
黑盒方法模拟真实外部攻击者:攻击者只能通过 API 发送输入、观察输出,对模型架构、训练数据、内部逻辑一无所知(见 black-box-testing)。常见做法包括:
- 基于迁移的攻击(Transfer Attack):攻击者在本地训练一个替代模型,在替代模型上生成对抗样本,再投放到目标模型——由于不同模型常学习到相似脆弱特征,这些样本往往能"迁移"成功;
- 基于查询的攻击(Query-based):不断向目标模型发送查询,根据输出置信度或标签变化,用有限差分等方式估计梯度方向,逐步逼近有效对抗样本;
- 随机扰动与进化策略:不依赖梯度,通过启发式搜索(如遗传算法)在输入空间中寻找能触发错误的扰动。
黑盒方法虽然"盲目",但更贴近真实威胁模型——因为生产环境中的 LLM 与视觉模型通常只暴露 API 接口。
对抗样本在 LLM 与生成式 AI 中的表现形态
对抗样本并非视觉模型的专利。在生成式 AI 与 LLM 场景下,输入从像素变成了 token 序列,对抗样本呈现出更丰富的形态:
文本形态的对抗扰动
- 字符级扰动:在单词中插入零宽字符、同形异义字(homoglyph)、Unicode 变体,让安全过滤器"看不清"而模型"看得懂";
- 词级替换:用近义词、网络俚语、编码表达替换被屏蔽的词,绕过关键词过滤;
- 句子级重构:把敏感请求拆散后嵌入看似无害的文本中,或者使用多语言、方言、缩写来规避检测——这些正是 safety-filter-bypasses@j7uLLpt8MkZ1rqM7UBPW4 所描述的安全过滤器绕过技术。
针对安全对齐的攻击
红队还通过构造对抗性提示来测试模型的对齐(alignment)训练是否健壮,典型技术包括:
- Jailbreak(越狱):通过虚构场景、角色扮演("模拟一个不受约束的 AI")、复杂指令包装,诱导模型生成违反自身策略的内容(有害代码、仇恨言论、非法指令),参见 jailbreak-techniques@Ds8pqn4y9Npo7z6ubunvc;
- 间接注入与上下文攻击:把恶意指令藏在文档、网页或工具输出中,让模型在处理"正常"内容时被劫持;
- 对抗性后缀:研究证明,在有害请求后拼接特定 token 序列,可以显著提高越狱成功率。
这些技术的共同点与视觉对抗样本一致:利用模型决策过程的脆弱性,以最小的输入改动换取最大的行为偏差。
从对抗样本到防御加固:红队的价值闭环
红队生成对抗样本的最终目的不是"证明模型不行",而是给防御方提供加固依据。相关防御与研究路线在仓库中同样有对应节点:
对抗训练(Adversarial Training)
对抗训练指把对抗样本纳入训练数据,让模型学习抵抗这类输入。红队成员需要评估对抗训练的真实有效性:模型在训练时见过的对抗样本上表现良好,但未见过的、新构造的对抗攻击是否仍能绕过加固后的防线?参见 adversarial-training@2Y0ZO-etpv3XIvunDLu-W:
"They test if models trained on adversarial examples are truly robust or if new, unseen adversarial attacks can still bypass the hardened defenses."
这提醒红队:对抗训练是"打补丁"而非"根治",必须持续用新攻击验证加固效果,并反哺训练流程本身。
鲁棒模型设计(Robust Model Design)
红队还会评估模型设计阶段的选择(架构选型、正则化技术、集成方法)是否真正贡献于鲁棒性——即这些设计选择能否真正阻止威胁建模阶段识别出的常见失效模式,见 robust-model-design@6gEHMhh6BGJI-ZYN27YPW。
反制措施(Countermeasures)
对抗样本测试还须覆盖防御手段本身的有效性,包括输入清理(sanitization)、输出过滤、指令边界标记(如 XML 标签)、上下文感知检查、针对抵抗性的模型微调,以及 LLM 能力与工具访问的最小权限原则,见 countermeasures@G1u_Kq4NeUsGX2qnUTuJU。
模型脆弱性全景(Model Vulnerabilities)
对抗样本只是模型脆弱性的一类。红队还需要关注数据窃取、数据投毒、模型提取等攻击面,这些统称为 model-vulnerabilities@uBXrri2bXVsNiM8fIHHOv,对抗样本攻击正是其中最重要的验证手段之一。
实战操作框架:如何开展一轮对抗样本测试
结合 AI 红队路线图(why-red-team-ai-systems@fNTb9y3zs1HPYclAmu_Wv、automated-vs-manual@LVdYN9hyCyNPYn2Lz1y9b)以及对抗样本的技术特性,建议按以下步骤开展:
- 界定威胁模型:明确目标系统、暴露接口(API、Web、本地推理)、可用信息(黑盒/白盒/灰盒)与红线指标(误分类率、安全绕过成功率)。
- 选择生成技术:白盒场景优先用梯度/优化方法构造精确样本;黑盒场景使用迁移攻击与查询攻击。
- 构造对抗输入集:覆盖视觉(图像扰动)、文本(字符/词/句级扰动)、多模态混合场景。
- 投放并记录结果:记录原始输入、扰动方式、扰动幅度、模型输出、置信度变化,量化"鲁棒性缺口"。
- 交叉验证:对同一批对抗样本测试多个防御变体(对抗训练、输入过滤、输出审核),确认加固是否真正生效。
- 撰写报告:输出可复现的测试用例、失败模式分析与加固建议,供开发者落地修复。
局限性与合规注意事项
- 对抗样本不等于真实攻击:很多对抗样本依赖完整的模型内部信息(梯度),而真实攻击者通常只有黑盒访问;迁移成功率会随目标模型差异显著下降,报告应区分"可达性"与"理论脆弱性"。
- 扰动约束的现实意义:学术对抗样本常限制扰动在极小范数内(如 L∞ ≤ 8/255),真实世界攻击(打印、拍照、传输压缩)会引入额外噪声,红队应结合物理世界条件测试。
- 合规与伦理边界:对抗样本测试属于红队授权范围内的安全评估,必须遵守目标系统使用条款与当地法规;对 LLM 的越狱测试应在隔离、受控的实验环境(如 lab-environments@MmwwRK4I9aRH_ha7duPqf)中进行,防止对抗样本或攻击手法泄露造成实际危害,参见 ethical-considerations@1gyuEV519LjN-KpROoVwv。
小结
对抗样本是 AI 红队工具箱中最核心的探针之一:通过基于梯度、基于优化和黑盒三类技术构造微小扰动,红队能够系统性地暴露模型的误分类与安全绕过脆弱面,并为对抗训练、鲁棒模型设计与反制措施提供量化依据。掌握对抗样本的构造、投放、记录与反馈闭环,是任何一名 AI 红队工程师评估模型鲁棒性的第一课。更多相关节点(越狱、安全过滤器绕过、数据投毒、模型提取等)可沿着仓库roadmaps/ai-red-teaming/content/目录下的 AI 红队学习路线 继续深入。
- 文档
- 教程
- 知识库
【免费下载链接】developer-roadmap
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
相关推荐
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考