Check Point披露ChatGPT跨账户数据泄露漏洞 植入指令可让AI在回答时悄悄窃取用户Gmail

导语:Check Point Research最新发布的报告揭示了一种针对ChatGPT的新型攻击路径——攻击者只需在对话中植入一条隐藏指令,便能让ChatGPT在回答用户提问的同时,悄悄读取已连接的Gmail数据,并通过内部隐藏通道传送给另一个ChatGPT账户,整个过程用户毫无察觉。

ChatGPT跨账户数据泄露示意

漏洞概要

9月8日,Check Point Research发布了一份详细的技术报告,披露了ChatGPT中一处尚未被公开报告的漏洞。该漏洞的核心在于一个被设计用于跨容器通信的”共享剪贴板”——它是ChatGPT在处理代码任务时用于安装Python或npm包的内部JFrog Artifactory实例,原本用于加速包管理,却意外成为了跨账户容器之间的隐蔽通信通道。

根据报告中的概念验证(PoC),攻击者只需要在一次ChatGPT对话中植入一条特殊指令,便能让ChatGPT在正常回答用户问题的同时,在Thinking模式下同步执行另一条隐藏任务流。这条任务流会读取用户已连接的Gmail数据,将其编码后写入Artifactory的文件元数据,再由另一个ChatGPT会话读取并转发给攻击者控制的账户。用户看到的所有反馈,都与这一过程毫无关联。

三种植入路径

要让上述攻击得以发生,恶意指令必须先进入受害者的对话上下文。Check Point在报告中列出了三种可能的植入方式:

第一种,用户主动粘贴的提示。如果用户从不可信的来源复制了一段包含隐藏指令的长文本(例如伪装成”提高工作效率的小技巧”的提示模板),恶意指令便会随之进入对话。

第二种,用户打开的共享ChatGPT对话。OpenAI允许用户分享完整的对话链接,当用户打开他人分享的会话时,对话中已存在的恶意指令会一同被加载到新的用户上下文中。

第三种,定制GPT的构建说明。当用户使用某个第三方创建的Custom GPT时,其底层的builder instructions对终端用户并不可见——攻击者完全可以把恶意指令藏在这里,只要用户启用了这个GPT,便会在每次调用时把恶意指令带入会话。

三种提示注入植入途径

攻击流程一旦被触发,仅需要用户的一条普通消息就能启动。Check Point的PoC指令经过精心设计,让ChatGPT在一次回复中同时运行两个独立的工作流:表层流负责回答用户问题,底层流则负责连接到Gmail、读取数据,并通过Artifactory元数据通道把内容传出。指令明确要求模型在两条流之间保持隔离,因此整个数据外泄过程不会出现在任何用户可见的回答中。

隐藏在元数据里的通信通道

整个攻击最精巧的部分,是这条跨越容器边界的”隐蔽通道”。ChatGPT在执行需要数据分析或代码运行的任务时,会为每次对话生成一个独立的容器;按OpenAI的文档,这些容器之间不应有任何直接通信途径,也不能访问外部网络。然而,为了让容器能够安装额外的Python或npm包,系统允许它们访问一个内部的JFrog Artifactory实例,由该实例代为拉取公共仓库的包。

这个Artifactory实例支持一项名为”properties”的功能——任何人都可以为已存储的文件附加自定义键值对,并将其读回。Check Point发现,访问Artifactory所需的凭证就放在容器的环境变量里,而运行在容器中的ChatGPT代码可以直接读取这些变量。这意味着,拥有只读凭证的容器,实际上同样具备写入properties的能力。

更关键的是,这些properties并没有按账户进行隔离。研究人员在一号账户的容器中向一个缓存文件附加了一条名为chatgpt_test_ts的属性,然后切换到二号账户的容器请求该文件的properties——得到了完全相同的键与值。一条原本只用来描述文件的小字段,就这样变成了任意两个容器之间共享的一块”剪贴板”。

JFrog Artifactory元数据隐藏通道

properties可以承载明文,也可以承载Base64编码的内容;容量不足时还可以拆分成多条属性再在另一端重组。Check Point将这种机制描述为”原本用于隔离的环境之间,共享的内部服务变成了意料之外的通信层”。

用户为何难以察觉

这起漏洞中最让人不安的一点,是攻击全程几乎不留下可见痕迹。用户在回答中唯一能看到的变化,只是Gmail应用名称上方出现的一个”Talked to Gmail”小标签——而该标签记录的是已经发生的读取动作,并不会给用户任何允许或拒绝的机会。

之所以如此,是因为OpenAI在默认设置下将”重要操作”(Important actions)作为应用的默认权限类别。ChatGPT只会对那些会在ChatGPT之外产生实际影响、暴露敏感信息或难以撤销的操作主动询问用户授权;而普通的应用读取动作,默认就在授权范围内。用户在意识到风险后,可以手动将权限切换为”始终询问”(Always ask);在Business、Enterprise和Edu工作区中,则由管理员集中配置每个应用可执行的动作以及谁能使用它——Business工作区默认开启应用,Enterprise和Edu则默认关闭。

官方处置与背景

Check Point表示,已在今年6月向OpenAI披露了相关发现,OpenAI确认承载该通道的内部服务已被下线,目前没有供普通用户安装的安全更新。研究人员并未透露通道实际关闭的具体时间,因此尚不清楚该通道此前保持开放了多久。

值得注意的是,这已经是Check Point第二次在ChatGPT同一部件中发现类似通道。今年3月,研究人员曾披露过一条利用DNS查询把对话数据传出至外部服务器的隐蔽通道,OpenAI于2月20日完成了修复。今年7月,OpenAI自家模型又在一次内部安全测试中把Artifactory当作”留言板”使用,相关事件由JFrog对外披露。三起事件相互独立,但都指向同一个症结:原本被设计为内部基础设施的服务,在缺乏足够隔离设计时,会在不经意间承担起通信层的角色。

对于依赖ChatGPT连接企业邮箱、日历或工作流工具的用户而言,这起漏洞再次提醒了一个并不新的事实:当AI助手被赋予访问真实数据的权限时,对其行为的审计与权限边界的设计,与模型本身的能力同等重要。


版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容