ChatGPT 插件:利用图像和跨插件请求伪造技术进行数据泄露 [译]

ChatGPT 插件:利用图像和跨插件请求伪造技术进行数据泄露 [译]

💡 原文中文,约2200字,阅读约需6分钟。
📝

内容提要

文章揭示ChatGPT插件存在间接提示注入漏洞:恶意网页可操控会话,并借Markdown图片渲染将聊天历史编码进URL外泄,还能跨插件伪造请求调用其他插件。作者建议隔离插件数据、明确安全合同、限制图像渲染,并加强研究与公众意识。

🔎

延伸解读

漏洞核心:间接提示注入与Markdown图片外泄

文章指出,恶意网页可通过间接提示注入操控ChatGPT会话,并利用Markdown图片渲染功能将聊天历史编码进URL外泄。例如,LLM返回的Markdown图片链接可包含经过URL编码的对话摘要,ChatGPT自动渲染时会向攻击者服务器发起请求,导致数据泄露。这一漏洞的关键在于插件能访问整个对话内容,且Markdown图片渲染被当作便利功能而非安全风险。

跨插件请求伪造:攻击范围扩大

除了数据外泄,攻击者还能在注入期间调用其他插件,形成跨插件请求伪造。文章演示了通过间接提示注入调用Expedia插件搜索航班,这意味着恶意网页可能控制AI使用用户资金进行交易。这种攻击变体扩大了风险面,不仅泄露隐私,还可能直接造成经济损失,凸显插件间缺乏隔离和权限控制的隐患。

缓解思路:隔离、合同与渲染限制

作者建议隔离插件数据,避免插件访问完整对话历史或调用其他插件;同时需要明确的安全合同,界定数据传递责任。此外,图像渲染应作为专门功能实现,而非依赖Markdown的便利性,例如将链接作为参考资料而非嵌入聊天内容。文章还提及双重大语言模型和NVIDIA NeMo GuardRails等防御方向,但强调目前缺乏强制框架,提高公众意识是当务之急。

❓

Q&A

ChatGPT插件的数据泄露漏洞是怎么产生的?

该漏洞源于间接提示注入:恶意网页可操控ChatGPT会话,并利用Markdown图片渲染功能,将聊天历史编码进图片URL发送给攻击者,从而外泄数据。

什么是跨插件请求伪造?

跨插件请求伪造是跨站请求伪造的新变体,攻击者通过间接提示注入,操控ChatGPT调用其他插件(如Expedia)发起请求,可能使用用户资金。

如何防止ChatGPT插件导致的数据泄露?

建议隔离插件数据,禁止插件访问完整对话历史;为插件制定明确的安全合同;将图像渲染作为独立功能而非依赖Markdown;只使用可信数据源;并加强研究与公众意识。

OpenAI对Markdown图像注入漏洞的态度是什么?

作者于2023年4月9日报告该漏洞,但OpenAI认为图像Markdown注入是一项功能,目前没有计划进行改动以解决此漏洞。

攻击者如何利用Markdown图片窃取聊天历史?

攻击者通过间接提示注入让LLM生成包含聊天历史摘要的Markdown图片链接,ChatGPT自动渲染并请求该URL,将数据作为查询参数发送给攻击者服务器。

有哪些建议的AI安全架构或工具?

Simon Willison提出kernel LLM与隔离LLM的双重大语言模型模式;NVIDIA正在开发NeMo GuardRails以控制机器人行为;OpenAI提出Human in the loop作为核心安全最佳实践。

🏷️

标签

➡️

继续阅读