在生成式AI领域,所谓的越狱攻击(也称为直接提示注入攻击)是试图绕过AI模型预定行为的恶意用户输入。成功的越狱攻击可能会破坏由AI供应商在模型训练中内置的所有或大部分责任AI(RAI)防护措施,因此在AI堆栈的其他层中进行风险缓解是深度防御设计的重要选择。
在之前关于AI越狱攻击的博文中,提到AI越狱可能导致系统违反其操作员的政策、做出受用户不当影响的决策或执行恶意指令。
在本篇博文中,将详细介绍一种新发现的越狱攻击技术——Skeleton Key(骷髅钥匙)。在微软Build大会上以“主钥匙”之名简要提及。由于这种技术影响了多个经过测试的生成式AI模型,微软通过责任披露程序与其他AI提供商分享了这些发现,并在Azure AI托管模型中使用Prompt Shields检测和阻止此类攻击。此外,微软还对包括Copilot AI助手在内的AI产品背后的大型语言模型(LLM)技术进行了软件更新,以减轻此防护措施绕过的影响。
骷髅钥匙简介
这种AI越狱技术通过多轮(或多步)策略使模型忽略其防护措施。一旦防护措施被忽略,模型将无法区分恶意或未经授权的请求,因为其完全绕过的能力,因此命名为“Skeleton Key”。

Skeleton Key攻击依赖于攻击者已经拥有对AI模型的合法访问权限。绕过安全防护后,Skeleton Key允许用户使模型生成通常被禁止的行为,从生成有害内容到覆盖其常规决策规则。与所有越狱攻击一样,其影响可以理解为缩小了模型在拥有用户凭据等情况下能够做什么和愿意做什么之间的差距。由于这是对模型本身的攻击,并不会给AI系统带来其他风险,例如允许访问其他用户的数据、控制系统或数据泄露。
攻击流程
Skeleton Key通过请求模型增强而不是更改其行为指南,使其对任何信息或内容请求作出响应,即使其输出可能被认为是冒犯性、有害或非法的也仅提供警告。这种攻击类型称为明确:强制执行指令。
例如,告知模型用户受过安全和伦理训练,并且输出仅用于研究目的,有助于说服一些模型遵守,如下图所示:

当Skeleton Key越狱成功时,模型确认已更新其指南,并随后会遵守生成任何内容的指令,无论其多么违反原本的责任AI指南。
在2024年4月至5月的测试中,发现以下基底模型和托管模型均受影响:
- Meta Llama3-70b-instruct(基底)
- Google Gemini Pro(基底)
- OpenAI GPT 3.5 Turbo(托管)
- OpenAI GPT 4o(托管)
- Mistral Large(托管)
- Anthropic Claude 3 Opus(托管)
- Cohere Commander R Plus(托管)
对于每个测试模型,评估了包括炸药、生物武器、政治内容、自残、种族主义、毒品、露骨性内容和暴力在内的风险和安全内容类别。所有受影响模型均完全遵守且无审查地执行这些任务,但前缀了所请求的警告说明。与其他越狱攻击如Crescendo不同,Skeleton Key使用户可以直接请求任务,而不必间接或通过编码方式请求。此外,模型输出完全未过滤,揭示了模型知识或生成所请求内容的能力。
缓解和防护指南
微软对其AI产品背后的LLM技术进行了软件更新,包括Copilot AI助手,以减轻这种防护措施绕过的影响。客户应考虑以下方法来缓解和防护此类越狱攻击:
- 输入过滤:Azure AI内容安全检测并阻止含有有害或恶意意图的输入,防止越狱攻击绕过防护措施。
- 系统消息:通过提示工程对系统提示进行明确指示,指导大型语言模型(LLM)适当行为并提供额外的防护措施。例如,指定应防止任何试图破坏安全防护指令的行为。
- 输出过滤:Azure AI内容安全后处理过滤器,识别并阻止模型生成的违反安全标准的输出。
- 滥用监控:部署训练有素的AI检测系统,通过内容分类、滥用模式捕获等方法,检测和缓解重复内容和/或行为的实例,防止违反防护措施的服务使用。微软Azure OpenAI服务的滥用监控就是这种方法的例子。
在Azure上构建AI解决方案
微软为在Azure上开发自己应用程序的客户提供工具。Azure AI内容安全Prompt Shields默认启用,并通过严重性阈值进行参数化。建议设置最严格的阈值,以确保最佳安全保护。这些输入和输出过滤器不仅对这种特定的越狱技术起到防御作用,还对广泛的新兴技术试图生成有害内容起到防御作用。Azure还提供内置工具进行模型选择、提示工程、评估和监控。例如,Azure AI Studio中的风险和安全评估可以使用合成对抗数据集评估模型和/或应用程序的越狱攻击易感性,而Microsoft Defender for Cloud可以提醒安全操作团队注意越狱和其他活跃威胁。
通过Azure AI和Microsoft Security(Microsoft Purview和Microsoft Defender for Cloud)的集成,安全团队还可以发现、防护和管理这些攻击。Microsoft Defender for Cloud与Azure OpenAI服务的本地集成,结合Azure AI内容安全Prompt Shields和Microsoft Defender威胁情报,提供上下文驱动和可操作的安全警报。AI工作负载的威胁保护允许安全团队在运行时监控其Azure OpenAI驱动的应用程序,以检测与直接和间接提示注入攻击、敏感数据泄露和数据中毒或拒绝服务攻击相关的恶意活动。
