零点击提示注入攻击:AI代理面临的新型安全威胁

研究人员在Black Hat大会上展示了针对ChatGPT、Copilot等主流AI代理的零点击提示注入攻击技术,攻击者可通过恶意文档窃取API密钥、客户数据等敏感信息,揭示AI代理集成工具带来的新型安全风险。

Black Hat:研究人员演示流行AI代理中的零点击提示注入攻击

Zenity的研究人员发现了多种将恶意提示注入主流厂商AI代理的方法,从而从关联知识源中提取敏感数据。

大型语言模型(LLM)连接的工具数量正在迅速增加,随之而来的是攻击面的扩大,以及攻击者注入未授权指令以泄露敏感数据的机会。提示注入并非新型攻击技术,但随着AI代理的兴起,它无疑进入了新的维度。在本周的Black Hat USA安全会议上,安全公司Zenity的研究人员展示了一组零点击和单点击漏洞利用链,他们称之为AgentFlayer,影响了流行的企业AI工具,包括ChatGPT、Copilot Studio、带有Jira MCP的Cursor、Salesforce Einstein、Google Gemini和Microsoft Copilot。

Zenity的研究强调了一个事实:先前涉及欺骗员工的某些攻击现在可以扩展到AI代理,并产生更强大的效果。

通过文档进行ChatGPT提示注入

例如,将文档上传到ChatGPT等AI聊天机器人,以便模型可以总结它们或根据其内容回答问题,这是一种非常常见的用例。然而,这些文档可以包含针对聊天机器人的隐藏提示,指示其静默执行这些提示,并且不给用户任何提示,表明除了他们的原始请求之外还执行了某些操作。

在他们的一个概念验证漏洞利用中,Zenity研究人员利用了ChatGPT Connectors,这是一个允许用户和公司将聊天机器人链接到第三方文件和文档存储服务(如Google Drive、GitHub或SharePoint)的功能。Zenity研究人员制作了一个可以通过网络钓鱼攻击发送给用户的文档,声称它是一个需要审查的业务文档。如果用户将其上传到ChatGPT并要求聊天机器人对其进行总结,文档中的隐藏提示会指示ChatGPT在连接的Google Drive帐户中搜索API密钥,并将信息传递回攻击者。

显然,由于这如此直接,OpenAI可能已经考虑到了这种可能性。他们确实考虑了。这就是为什么每个指向外部图像的URL首先通过一个名为url_safe的函数传递,该函数确定它是否有风险。但是,对于任何基于黑名单的方法,通常都有绕过方法,Zenity研究人员找到了一个。“事实证明,ChatGPT非常乐意渲染由Azure Blob托管的图像,”他们在报告中表示。“不仅如此,您还可以将Azure Blob存储连接到Azure的Log Analytics,并在每次请求发送到您的某个blob(在这种情况下,是我们存储的随机图像)时获取日志。此外,此日志包括随该请求发送的所有参数。”

这种攻击技术可以进一步扩展。研究人员还开发了概念验证漏洞利用,可以从用户上传恶意文件的窗口中泄露用户与ChatGPT的活跃对话,或者返回链接,如果用户点击,可以将他们带到网络钓鱼页面。Zenity向OpenAI报告了他们的发现,OpenAI实施了修复措施来阻止这些技术。

利用Copilot Studio构建的自定义代理

今年早些时候,Zenity研究人员还探索了Copilot Studio,这是一个由Microsoft构建的无代码平台,允许公司使用自然语言创建自己的AI代理,并赋予这些代理访问各种工具和知识源以执行所需任务的能力。

研究人员复制了Microsoft用作平台功能示例的客户服务代理之一。它被设计为每当新客户电子邮件到达特定邮箱时自动触发工作流,然后搜索内部知识源(如CRM系统和其他文件)以识别客户并确定要转发请求的适当人工客户支持代表。Zenity表明,如果攻击者发现了该邮箱的地址,他们可以发送带有特殊制作提示的电子邮件,这些提示会诱使代理将其设置的内部信息(例如它可以访问的工具和知识源列表)通过电子邮件发送给攻击者,然后甚至将从CRM提取的客户信息发送给攻击者。

在收到通知后,Microsoft部署了一个修复程序,现在阻止了那些特定的提示。然而,根据研究人员的说法,提示注入可能仍然可行。“不幸的是,由于提示注入的自然语言性质,使用分类器或任何类型的黑名单来阻止它们是不够的,”他们在报告中表示。“编写它们的方式太多,将它们隐藏在良性主题后面,使用不同的措辞、语气、语言等。就像我们不认为恶意软件因为另一个样本进入拒绝列表而被修复一样,提示注入也是如此。”

通过Jira票证劫持Cursor编码助手

作为同一研究工作的一部分,Zenity还调查了Cursor,这是最受欢迎的AI辅助代码编辑器和IDE之一。Cursor可以与许多第三方工具集成,包括Jira,这是用于问题跟踪的最受欢迎的项目管理平台之一。“你可以要求Cursor查看你分配的票证,总结未解决的问题,甚至关闭票证或自动响应,所有这些都在你的编辑器内完成。听起来很棒,对吧?”研究人员说。“但票证并不总是由开发人员创建。在许多公司中,来自Zendesk等外部系统的票证会自动同步到Jira中。这意味着外部参与者可以向Zendesk连接的支持地址发送电子邮件,并将不受信任的输入注入代理的工作流中。”

研究人员开发了一个概念验证漏洞利用,通过Jira MCP(模型上下文协议)服务器注入恶意提示,以从Cursor提取存储库机密。这些机密包括API密钥和访问令牌。

具有现实世界后果的有效漏洞利用

其他公司的研究人员今年也展示了对MCP服务器和AI驱动的编码助手的类似攻击。例如,研究人员发现,GitLab的Duo编码助手可以解析隐藏在公共存储库的注释、源代码、合并请求描述和提交消息中的恶意AI提示,允许攻击者向用户提出恶意代码建议,分享恶意链接,并在响应中注入恶意HTML代码以秘密窃取私有项目的代码。“这些不是理论上的漏洞,它们是具有即时、现实世界后果的有效漏洞利用,”Zenity的CTO兼联合创始人Michael Bargury表示。“我们展示了内存持久性,以及攻击者如何静默劫持AI代理以泄露敏感数据、冒充用户、操纵关键工作流并在企业系统中移动,完全绕过人类。攻击者可以妥协你的代理,而不是针对你,具有类似的后果。”

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计