AI红队测试完全指南(附Garak教程)
本文详细介绍了AI红队测试的概念、攻击类型(如提示注入、敏感信息泄露、过度授权)、评估框架(OWASP Top 10 for LLM)以及常用工具(Garak、PyRIT、DeepTeam等),并提供了使用Garak进行红队测试的实战步骤。
今年早些时候,一个自主AI代理利用一个老旧的SQL注入漏洞突破了麦肯锡的内部AI平台,无需凭证或人工指导,在不到两小时内就接触到了生产系统,暴露了数百万条聊天消息和数十万份文件。这一事件表明,AI安全已经发生改变,传统的假设不再成立。
红队测试是指在自己的AI系统被外部攻击者发现之前主动寻找漏洞。这一概念源于军事领域,红队扮演攻击者,蓝队扮演防御者。对于大型语言模型(LLM),红队测试意味着向模型输入最恶劣的提示,观察其行为:是否泄露隐私?是否会同意本应拒绝的请求?能否操纵其超出设计范围?与常规测试不同,红队测试检查的是当有人积极尝试破坏系统时会发生什么。
红队测试通过将“不知道”转变为“知道并已修复”来降低风险。测试人员主动攻击自己的AI系统,一旦发现问题,不仅修复具体提示,还会修复根本原因,并在每次变更后重新测试,确保问题不会悄然重现。
OWASP Top 10 for LLM是组织常见AI安全风险的标准清单,包括提示注入、敏感信息泄露、供应链安全、数据污染、不当输出处理、过度授权、系统提示泄露、向量和嵌入弱点、虚假信息以及无限制消耗。其中,提示注入是最常见的攻击类型,出现在近四分之三的审计AI部署中。
实际攻击类型包括:
- 提示注入:模型无法区分指令和数据,攻击者的文本被视为命令。分为直接提示注入、间接提示注入和越狱三类。
- 敏感信息泄露:模型泄露不应公开的数据,包括系统提示、训练数据中的真实姓名和邮箱,以及因不安全的端点导致的合法访问泄露。麦肯锡事件即是此类。
- 过度授权:模型或代理拥有超出任务所需的工具、权限或自主权,导致功能过多、权限过大或自主性过高。
红队测试的方法包括:领域特定测试(针对应用风险)、利用LLM生成攻击提示、开放式红队测试(无清单自由尝试)、测试新模态(图像、音频中的隐藏指令)以及众包红队测试(邀请外部专家)。
常用工具包括:
- Garak(NVIDIA):内置100多个攻击探测,覆盖编码技巧、训练数据提取等,是最快的入门工具。
- PyRIT(微软):适用于复杂多轮攻击,功能更强大。
- DeepTeam(Confident AI):映射OWASP Top 10,输出可作合规报告,适合需要文档的场景。
- Promptfoo(原独立开源,2026年3月被OpenAI收购):通用测试框架,支持回归测试和红队测试。
- Giskard:覆盖LLM安全和传统ML测试,RAGET工具专为RAG应用设计。
红队测试的实际工作流程包括:选择攻击类别和技术,由工具利用LLM生成攻击提示;向模型发送攻击并记录响应;评估结果,标记成功攻击;修复漏洞并重新测试。
总之,AI红队测试是保障LLM应用安全的关键实践。通过系统的攻击模拟和修复,组织可以在攻击者利用漏洞前加固系统。