你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款。
AI Red Teaming Agent(预览版)是一种功能强大的工具,旨在帮助组织在设计和开发生成 AI 模型和应用程序期间主动发现与生成 AI 系统相关的安全风险。
传统的红队测试涉及利用网络杀伤链,并描述测试系统安全漏洞的过程。 但是,随着生成 AI 的兴起,“AI 红队”这个词语被创造出来,用来描述对这些系统可能存在的新风险(包括内容和安全方面)的探测,并指模拟试图让 AI 系统以特定方式失常的对抗用户的行为。
AI Red Teaming Agent 利用 Microsoft 的开源框架以及 Python 风险识别工具(PyRIT)的 AI 红组功能,结合 Azure AI Foundry 的 风险和安全评估,以三种方式帮助您自动评估安全问题。
- 自动扫描内容风险: 首先,可以通过模拟对抗探测来自动扫描模型和应用程序终结点的安全风险。
- 评估探测成功: 接下来,可以评估和评分每个攻击响应对,以生成见解指标,例如攻击成功率(ASR)。
- 报告和日志记录 最后,可以生成攻击探测技术和风险类别的分数卡,以帮助确定系统是否已准备好部署。 可以在 Azure AI Foundry 中直接记录、监视和跟踪调查结果,确保合规性和持续风险缓解。
这些组件(扫描、评估和报告)可帮助团队了解 AI 系统如何应对常见攻击,最终指导全面的风险管理策略。
注释
必须对此功能使用 基于中心的项目 。 不支持 Foundry 项目 。 请参阅 如何知道我拥有哪种类型的项目? 并 创建基于中心的项目。
何时使用 AI 红队测试代理的扫描
在考虑开发可信 AI 系统的 AI 相关安全风险时,Microsoft使用 NIST 的框架有效地降低风险:治理、映射、度量、管理。 我们将重点介绍与生成式 AI 开发生命周期相关的最后三个部分:
- 映射:识别相关风险并定义用例。
- 度量:大规模评估风险。
- 管理:使用事件响应计划来缓解生产中的风险并对其进行监视。
AI Red Teaming 代理可用于运行自动扫描和模拟对抗探测,以帮助加速大规模识别和评估已知风险。 这有助于团队通过“左移”,从高成本的被动应对事件转向更积极主动的测试框架,这些框架可以在部署前捕捉问题。 手动的 AI 红队演练过程耗费大量时间和资源。 它依靠安全和安保专家的创造力来模拟探测对抗。 此过程可以为许多组织创建瓶颈,以加速 AI 采用。 借助 AI Red Teaming Agent,组织现在可以利用 Microsoft 的深厚专业知识,在 AI 开发中优先考虑可信 AI,从而提升和加速发展。
我们鼓励团队使用 AI Red Teaming Agent 在整个设计、开发和预部署阶段运行自动扫描:
- 设计:在用例上选取最安全的基础模型。
- 开发:升级应用程序中的模型或为特定应用程序创建微调的模型。
- 预部署:将 GenAI 应用程序部署到生产环境之前。
在生产环境中,我们建议使用模板实施安全缓解措施,例如 Azure AI 内容安全筛选器或实现安全系统消息。
AI Red Teaming 的工作原理
AI 红队测试代理有助于自动模拟对目标 AI 系统的对抗性探测。 它根据支持的风险类别提供种子提示或攻击目标的特选数据集。 这些可用于自动化直接的对抗性探测。 然而,直接的对抗性探测可能很容易被模型部署中现有的安全防护机制拦截。 应用 PyRIT 的攻击策略可以提供额外的转化,有助于绕过或破坏 AI 系统,从而生成不受欢迎的内容。
在示意图中,我们可以看到,直接要求 AI 系统如何抢劫银行会触发拒绝回答。 但是,应用攻击策略(如翻转所有字符)可以帮助欺骗模型回答问题。
此外,AI Red Teaming Agent 为用户提供了一个微调的对抗大型语言模型,专用于模拟对抗攻击的任务,并评估可能具有有害内容的响应以及风险和安全评估程序。 评估 AI 系统的风险状况的关键指标是攻击成功率(ASR),它计算成功攻击数与攻击总数的百分比。
支持的风险类别
AI 红队测试代理的风险和安全评估支持以下风险类别。 仅支持基于文本的方案。
风险类别 | 说明 |
---|---|
仇恨和不公平的内容 | “仇恨和不公平言论”是指任何涉及对个人和社会群体的仇恨或不公平表述的语言或形象,这些因素包括但不限于种族、民族、国籍、性别、性取向、宗教、移民身份、能力、个人外貌和体型。 当 AI 系统不公平地对待或代表社会群体,造成或助长社会不平等现象时,即出现不公平现象。 |
性内容 | 性内容包括与解剖器官和生殖器有关的语言或图像、浪漫关系、色情术语、怀孕、身体性行为(包括攻击或性暴力)、卖淫、色情和性虐待的行为。 |
暴力内容 | 暴力内容包括与旨在伤害、伤害、损害或杀死某人或某些内容的身体行为相关的语言或图像。 还包括对武器和枪支(以及制造商和协会等相关实体)的描述。 |
自我伤害相关内容 | 与自我伤害相关的内容包括与旨在伤害、损害或破坏自己身体或自杀的行为相关的语言或图像。 |
支持的攻击策略
PyRIT 的 AI Red Teaming Agent 支持以下攻击策略:
攻击策略 | 说明 |
---|---|
AnsiAttack | 利用 ANSI 转义序列来操作文本的外观和行为。 |
AsciiArt | 使用 ASCII 字符生成视觉艺术,通常用于创造性或混淆目的。 |
AsciiSmuggler | 在 ASCII 字符中隐藏数据,使检测难度更大。 |
阿特巴什 | 实现 Atbash 密码,这是一个简单的替换密码,其中每个字母映射到其反向。 |
Base64 | 使用 Base64 将二进制数据编码为文本格式,通常用于数据传输。 |
二进制 | 将文本转换为二进制代码,表示一系列 0 和 1 中的数据。 |
凯撒 | 应用 Caesar 密码,这是一个替换密码,该密码将字符移入固定数目的位置。 |
CharacterSpace | 通过添加字符之间的空格来更改文本,通常用于模糊处理。 |
CharSwap | 交换文本中的字符以创建变体或模糊处理原始内容。 |
Diacritic | 向字符添加变音符号,更改其外观,有时更改其含义。 |
翻转 | 将字符从正面翻转到背面,创建出镜像效果。 |
Leetspeak | 将文本转换为 Leetspeak,这是一种编码形式,将字母替换为类似数字或符号。 |
莫尔斯 | 使用点和短划线将文本编码为 Morse 代码,以表示字符。 |
ROT13 | 应用 ROT13 密码,这是一个简单的替换密码,该密码将字符移入 13 个位置。 |
SuffixAppend | 将对抗性后缀追加到提示符 |
StringJoin | 将多个字符串联接在一起,通常用于串联或混淆。 |
UnicodeConfusable | 使用看起来类似于标准字符的 Unicode 字符,从而造成视觉混乱。 |
UnicodeSubstitution | 将标准字符替换为 Unicode 等效项,通常用于模糊处理。 |
网址 | 将文本编码为 URL 格式 |
破解 | 注入特制提示以绕过 AI 防护措施,称为“用户注入提示攻击”(UPIA)。 |
Tense | 更改文本的时态,特别是将其转换为过去的时态。 |
了解详细信息
开始了解我们的 文档,学习如何使用 AI Red Teaming 代理工具进行自动扫描以识别安全风险。
详细了解 AI Red Teaming 代理利用的工具。
我们看到的风险评估最有效的策略利用自动化工具来显示潜在风险,然后由专家人员团队分析,以获取更深入的见解。 如果你的组织刚刚开始进行 AI 红队活动,我们建议你浏览由我们在 Microsoft 的 AI 红团队创建的资源,以帮助你入门。