“GPT-5将在6月发布”的消息刷屏了AI朋友圈。这则消息之所以被无数人相信并转发,是因为已经有不少技术人员在社交平台上晒出了「红队进攻测试」邀请。
基于 GPT系列庞大的用户体量和影响力,OpenAI 将更加重视GPT-5 的安全性,作为GPT-5上市前的最后一关,「红队进攻测试」的结果至关重要,甚至将决定上线时间和效果。
什么是红队进攻测试
所谓红队进攻测试,是指网络安全技术专家们共同模拟攻击者,在真实的环境下对目标系统进行网络攻击,以便提前发现潜在的系统漏洞,确保系统的安全性。
由于AI工具的能力十分强大,因此在AI开发领域红队进攻测试的重要性更加明显,是不可或缺的安全措施之一。在使用 LLM 时,无论是良性使用还是对抗性使用都可能产生潜在的有害输出,这些输出可能表现为多种形式,包括有害内容,如仇恨言论、煽动或美化暴力或性内容。
2023年9月,OpenAI曾面向全球招募AI红队进攻测试人员,不断挖掘AI潜在的风险和如何滥用工具作恶等。与过往仅在重要版本上线前招一批人集中测试不同,OpenAI将会根据需求在整个开发周期中启用数量不定的成员展开测试,其类型主要包括提示攻击、数据中毒、后门攻击、对抗性示例、数据提取等。
例如,「提示攻击」是指在控制LLM的提示中注入恶意指令,从而导致大模型执行非预期的操作。今年早些时候,一名大学生利用提示获取了一家大公司的机密信息,包括开发的AI项目的代码名称,以及一些本不应该暴露的元数据。而「提示攻击」最大的挑战是,找到威胁行为者尚未发现、利用的新提示或提示集。
美国罗彻斯特大学的化学工程教授Andrew White介绍称他曾参加GPT-4的“红队”测试,他的攻击目标是用ChatGPT来创造一种全新的神经毒素。White表示他用了“插件”功能,向大模型输送化学论文和化学制造商的目录,大模型甚至还给他找到了一个可以生产假想毒素的地方。
“我认为它将为每个人配备一个工具,以更快、更准确地进行化学研究”,White表示,“但也有很大的风险,人们可以进行危险的化学实验。现在,这种情况确实存在。”
这一发现也让OpenAI进一步加强了在红队进攻测试方面的重视与投入。事实上,AI开发者们围绕语言模型的快速进展有着共同的担忧,特别是通过插件将其与外部知识来源连接的风险。红队进攻测试恰好是以最低的成本来解决人工智能系统广泛存在的危险。
例如OpenAI 希望寻找模型中有害、偏见和语言偏差等问题,因此红队进攻测试了谎言、言语操纵和危险的科学知识,他们还检查了其协助和教唆剽窃、金融犯罪和网络攻击等非法活动的潜力,以及它如何可能损害国家安全和战场通信等等。
此外,技术和人权研究人员 Roya Pakzad 使用英语和波斯语提示来测试该模型的性别化反应、种族偏好和宗教偏见,特别是关于头饰的问题。
Pakzad 承认这种工具对非英语母语者的好处,但他发现,即使在后来的版本中,该模型也显示了对边缘化社区的明显刻板印象。她还发现,当聊天机器人用捏造的信息做出反应时,在用波斯语测试该模型时更糟糕,Pakzad 发现与英语相比,波斯语中捏造的名字、数字和事件的比例更高。
类似的红队进攻测试项目还有很多,就目前来说,AI红队进攻测试可以归纳为以下几点:
1、AI红队更具扩张性:应对的安全问题更多更复杂,还需要探索公平性问题、有害内容等。
2、AI红队需要同时关注恶意和善意的使用者:除恶意对手会利用漏洞破坏AI系统,普通用户在交互过程中也会产生问题和有害内容。
3、AI系统在不断发展:AI系统的变化速度比传统应用更快,需要进行多轮红队进攻测试,建立系统化、自动化的测量和监测系统。
4、AI系统红队进攻测试需要多次尝试:生成式人工智能系统的结果是概率性的,因此可能需要多次尝试,才能发现问题。
5、减少AI问题需要深度防御:修复通过AI红队发现的故障需要深度防御方法,包括使用分类器标记潜在的有害内容,使用元提示符指导行为以限制会话漂移等。
分享一个完整的红队测试步骤
作为openAI的股东以及另外一家研发AIGC工具的巨头,微软在红队测试上同样投入了大量的人力和资源。一直以来,微软都在持续规划大型语言模型 (LLM) 及其应用程序的红队测试,旨在保护旗下AI工具的安全性。
下面将介绍如何开始和计划红队测试 LLM 的参考步骤,提前规划对于对于高效开展红队测试演练至关重要。
测试之前
计划:谁将执行测试
召集队员,组建具有多样化红队成员的组
根据人员的经验、人口统计学特征和跨专业的专业知识(例如 AI 专家、社会科学、安全方面的专家),确定红队成员的理想组合。 例如,如果正在设计一个聊天机器人来帮助医疗保健提供商提供服务,则医学专家可以帮助识别该领域的风险。
招募具有良性和对抗性思维模式的红队成员
招募具有对抗思维和安全测试经验的红队成员对于理解安全风险非常重要,但作为应用程序系统的普通用户,并且从未参与过系统开发的成员可以就普通用户可能遇到的危害提供宝贵意见。
将红队成员分配到潜在危害和/或产品功能上
- 分配具有特定专业知识的 RAI 红队成员来调查特定类型的危害(例如,安全主题专家可以调查越狱、元提示提取以及与网络攻击相关的内容)。
- 对于多轮测试,决定是否在每轮切换红队成员分配,以便从每个危害上获得不同的视角,并保持创造力。 如果切换分配,则要给红队成员一些时间来熟悉他们新分配到的伤害指示。
- 在后续阶段,在开发应用程序及其 UI 时,你可能希望将红队成员分配给应用程序的特定部分(即功能),以确保覆盖整个应用程序。
- 考虑每个红队成员应该投入多少时间和精力(例如,良性情景测试所需的时间可能少于对抗性情景测试所需的时间)。
明确的说明可能包括:
介绍说明特定轮次红队测试的目的和目标;将要测试的产品和功能以及如何访问它们;要测试哪些类型的问题;如果测试更具针对性,则红队成员应该关注哪些领域;每个红队成员在测试上应该花费多少时间和精力;如何记录结果;以及有问题应与谁联系。
用于记录其示例和发现的文件或位置,包括如下信息:
示例出现的日期;输入/输出对的唯一标识符(如果可用),以便可重现测试;输入的提示;输出的描述或截图。
计划:要测试的内容
由于应用程序是使用基础模型开发的,因此可能需要在多个不同的层进行测试:
- 带有安全系统的 LLM 基本模型,用于识别在应用程序系统上下文中可能需要解决的任何缺陷。(测试通常通过 API 终结点完成。)
- 你的应用程序。(测试最好通过 UI 完成。)
- LLM 基础模型和应用程序在缓解之前和之后都已到位。
以下建议可帮助你在红队测试期间选择要在各种阶段进行测试的内容:
- 可以首先测试基础模型,以了解风险面、识别危害并指导对产品的 RAI 缓解措施的开发。
- 迭代地测试产品的测试版本(使用和不适用 RAI 缓解措施)以评估 RAI 缓解措施的有效性。
- 尽可能多地对生产 UI 执行应用程序测试,因为这最接近实际使用情况。
报告结果时,请明确有哪些终结点用于测试。 在产品以外的终结点中完成测试时,请考虑在未来轮次中再次在生产终结点或 UI 上进行测试。
计划:如何测试
进行开放式测试,以发现各种危害。
RAI 红队成员探索和记录任何有问题的内容(而不是要求他们查找特定危害的示例)的好处,是使他们能够创造性地探索各种问题,以发现对风险表面理解的盲点。
从开放式测试创建危害列表。
- 考虑创建危害列表,在其中包含危害的定义和示例。
- 将此列表提供给红队成员作为后续测试的指南。
进行引导式红队测试和循环访问,继续调查列表中的危害,识别新出现的危害。
如果有可用的危害清单,请使用该清单,并继续测试已知的危害及其缓解措施的有效性。 在此过程中,可能会识别到新的危害。 将这些项集成到列表中,并对改变衡量和缓解危害的优先事项持开放态度,以应对新发现的危害。
规划哪些危害应优先进行迭代测试。 有多种因素可以帮助你确定优先顺序,包括但不限于危害的严重性以及更可能出现这些危害的上下文。
计划:如何记录数据
确定需要收集的数据以及哪些数据是可选的。
- 确定红队成员需要记录哪些数据(例如,使用的输入;系统的输出;一个唯一的 ID(如果可用),以便在将来重现该示例;以及其他注释)。
- 在收集数据时要有策略,以避免给红队成员带来过多压力,同时又不会错过关键信息。
为数据收集创建结构
共享的 Excel 电子表格通常是收集红队测试数据的最简单方法。 此共享文件的一个好处是,红队成员可以查看彼此的示例,以获得自己的测试创意,并避免数据重复。
测试期间
计划处于活动待机状态,而红队测试仍在进行中
- 准备好协助红队成员解决说明和访问问题。
- 监视电子表格上的进度并向红队成员发送及时提醒。
每轮测试后
报告数据
- 定期与关键利益干系人共享简要报告,其中包括:
- 列出已确定的首要问题。
- 提供指向原始数据的链接。
- 预览接下来几轮的测试计划。
- 认可红队成员。
- 提供任何其他相关信息。
区分标识和度量
在报告中,请务必澄清 RAI 红队测试的作用是揭示和提高对风险面的认识,而不是系统测量和严格缓解工作的替代。 重要的是,人们不应将特定示例解释为该危害普遍性的指标。
此外,如果报表包含有问题的内容和示例,请考虑包括一个内容警告。
本文档中的指导无意也不应被解释为提供法律建议。 你所在的司法管辖区可能有各种适用于你的 AI 系统的监管或法律要求。 请注意,并非所有这些建议都适用于每个场景,相反,这些建议可能不足以满足某些场景的需求。
任何时候,AI红队进攻测试都要做
尽管红队进攻测试在AI领域还停留在发现漏洞与风险,而非像网络安全领域红队蓝队之间的攻防对抗。但即便如此,红队进攻测试,任何GPT类型的人工智能工具都需要做;只有通过红队进攻测试的GPT,才是合格的AI,才是能够在市场上推广的AI。
Micah Zenko曾表示,红队进攻测试与人工智能发展速度之间存在明显的不匹配。当下AI工具发展与迭代速度非常快,红队进攻测试如何快速跟上发展的步伐极为关键。
对于人工智能而言,Data & Society的技术专家认为,红队进攻测试不应该在公司内部进行,并提出建议:需要独立的厂商进行验证,同时建立跨职能的红队进攻测试团队,而不仅仅是黑客与开发者。
Center for AI Safety指出,红队进攻测试也不应被视为万能的解决方案。“这项技术一定有用,但它只是防御人工智能潜在风险的一道防线,更广泛的政策和方法生态系统才是必不可少的。”
目前,NIST正在研究、制定红队进攻测试相关办法,目前已经组建了200个联盟来制定更加完善、细分的AI红队进攻测试标准。与此同时,不少大型科技集团也在这方面进行发力,例如Anthropic、Google、微软和OpenAI打造了FMF论坛,为人工智能安全标准制定投入更多资源。
或许,我们也该在AI红队进攻测试上制定一些规则和措施,为以后AI的发展与应用留下足够的空间。