什么是红队测试(Red Teaming)?面向大语言模型与应用的负责任 AI 风险探测方法
红队测试(Red Teaming)原指针对安全漏洞的系统化对抗性攻击测试,在大语言模型(LLM)时代被扩展为对 AI 系统进行多种探测、测试与攻击的实践。Microsoft Learn 的官方文档把它列为负责任 AI 开发中的一项最佳实践,用于发现危害、界定风险面,并为后续的度量与缓解提供依据。
红队测试(Red Teaming)是指以系统化的对抗性方式对系统发起攻击式探测,以发现其安全与安全(safety)缺陷的测试实践。在大语言模型(Large Language Model,LLM)及其应用的语境下,这一术语已从传统网络安全领域延伸出来,被用来泛指对 AI 系统进行的多种探测、测试与攻击。它要解决的问题是:在模型与应用的输出可能造成实际危害之前,先把这些危害找出来、界定清楚,从而为后续的度量与缓解工作提供输入。
为什么重要
在红队测试被引入 AI 开发流程之前,团队主要依赖系统化的度量与既有的安全系统(例如内容过滤器和其他缓解策略)来控制风险。这类手段能够覆盖已知的、可被形式化描述的风险类别,但对应用特定语境下才会暴露的问题往往不够敏感:同一个基础模型,放在不同的产品场景里,可能被诱导出完全不同的有害输出。
Microsoft Learn 的文档指出,使用 LLM 的系统与功能,其良性使用与对抗性使用都可能产生潜在有害的输出,形式包括仇恨言论、煽动或美化暴力、色情内容等。文档同时说明,微软已针对 Azure OpenAI in Microsoft Foundry Models 开展过红队演练并部署了安全系统(包括内容过滤器与其他缓解策略),但每个 LLM 应用的语境都是独特的,因此应用开发者仍应自行开展红队测试,具体目的包括:
- 测试 LLM 基础模型,判断在自身应用的语境下,现有安全系统是否存在缺口;
- 识别并缓解现有默认过滤器或缓解策略中的不足;
- 针对失败情况提供反馈,以便做出改进。
需要强调的是,该文档明确把红队测试定位为负责任 AI 开发中的一项最佳实践,同时声明它不能替代系统化的度量与缓解工作。红队测试的价值在于帮助发现和识别危害,进而使度量策略能够验证缓解措施是否有效。
工作机制
按照该官方文档的叙述,红队测试的核心不是一次性动作,而是一个需要提前规划、分阶段推进的流程。文档强调,提前规划对于一次富有成效的红队演练至关重要。其测试前阶段的要点可归纳为以下几项:
- 确定由谁执行测试。 需要组建一支多元化的红队,在经验、人口统计特征与跨学科专长(例如 AI、社会科学、安全领域的专家)上形成合理搭配,并且要贴合产品的业务领域。文档给出的例子是:如果设计的是面向医疗服务提供者的聊天机器人,那么医学专家有助于识别该领域特有的风险。
- 同时招募具备良性视角与对抗视角的成员。 具有对抗性思维和安全测试经验的红队成员,对于理解安全风险不可或缺;而那些本身就是应用系统的普通用户、并未参与开发的人,则能带来关于普通用户可能遭遇何种危害的宝贵视角。
- 把红队成员分配到具体危害类型或产品功能上。 例如,安全领域的主题专家可以专门探测越狱(jailbreak)、元提示词提取(meta prompt extraction)以及与网络攻击相关的内容。若进行多轮测试,文档建议决定是否在每一轮调换成员分工,以便对每种危害获得多元视角并保持创造性;如果调换分工,则要留出时间让成员熟悉新分配危害的测试说明。
- 在后期阶段按应用的具体部分分工。 当应用及其用户界面开发完成后,可以把红队成员分配到应用的特定部分进行测试。
文档还给出了流程上的一个次序建议:先完成一轮初始的人工红队测试,再开展系统化度量并实施缓解措施。这样做的逻辑是,负责任 AI 红队测试的目标是识别危害、理解风险面,并形成一份危害清单,用以指导哪些内容需要被度量、哪些需要被缓解。
典型例子
该文档中出现的具体例子包括:
- 面向医疗服务提供者的聊天机器人。 文档以此说明红队成员构成应贴合领域——医学专家能够识别医疗场景中特有的风险。
- 安全主题专家探测越狱与元提示词提取。 文档把这类探测列为安全专家在红队演练中的典型任务,同类的还有与网络攻击相关的内容。
- Azure OpenAI in Microsoft Foundry Models 的红队演练与安全系统。 文档提到微软已针对该服务开展红队演练,并部署了内容过滤器等缓解策略,作为其负责任 AI 实践的一部分。
这些例子均出自该官方文档的叙述,反映的是文档作者的规划建议与微软自身的实践说明,而非对红队测试效果的量化结论。
边界与常见误解
最常见的误解,是把红队测试当成安全评估的全部。该文档明确写道,红队测试不是系统化度量的替代品;它是一种发现危害、界定风险面的手段,其产出需要交由度量与缓解流程去验证与处置。换言之,红队测试回答的是「可能有哪些危害」,而不是「危害被控制到了什么程度」。
第二个容易被混淆之处是术语的迁移。红队测试历史上描述的是针对安全漏洞的系统化对抗性攻击;在 LLM 语境下,它的外延被扩展为多种探测、测试与攻击行为。这意味着不同团队口中的「红队测试」在严格程度、方法论与产出物上可能差别很大,引用时应当说明具体所指。
第三,红队测试的成效高度依赖前期规划与人员构成。文档把「谁来做测试」放在测试前规划的首位,并强调成员在经验、背景与学科专长上的多样性,以及良性视角与对抗视角的并置。人员构成单一、或缺少领域专家与真实用户视角的演练,其覆盖面会受到限制。此外,多轮测试中调换分工虽然有助于获得多元视角,但需要额外投入时间让成员熟悉新的测试说明,这是流程上的已知成本。
最后需要说明的是,上述关于红队测试重要性、流程与次序的表述,均来自 Microsoft Learn 的这份官方文档,属于该文档提出的建议与微软自身的实践说明,不应被理解为跨机构的行业共识或已被普遍验证的结论。