slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
ChatGPT数据泄露,技术细节披露公布
17611538698
webmaster@21cto.com

ChatGPT数据泄露,技术细节披露公布

资讯 0 1555 2023-04-16 06:58:14

图片

近期,ChatGPT 遭遇了一次用户数据泄漏事件,许多 ChatGPT 的用户都在自己的历史对话中看到了其他人的对话记录。

不光是对话的历史记录,不少 ChatGPT Plus 用户还在 Reddit 和 Twitter等平台发出了截图,表示在他们的订阅页面上看到了其他人的电子邮件地址。

图片

事件发生后,OpenAI 临时关闭了 ChatGPT 服务以调查问题,后续 Open AI 的首席执行官 Sam Altman 也亲自发了推文,承认他们确实遭遇了重大问题,不过当时并没有公布问题的细节,只表示是一个开源库的错误导致的。

图片

由于一个开源库的错误,我们在 ChatGPT 中出现了一个重大问题,现在已经发布了一个修复程序,我们刚刚完成了验证。
一小部分用户能够看到其他用户的对话历史的标题。

经过多日的调查,OpenAI 日前发布了一份包含技术细节的事件报告,该事件是 Redis 客户端开源库中的一个错误所引发的,导致 ChatGPT 服务暴露了其他用户的聊天查询历史和大约 1.2% 的 ChatGPT Plus 用户的个人信息。

技术细节


这个错误是在 Redis 客户端开源库 redis-py 中发现的。发现这个 bug 后,OpenAI 就立即联系了 Redis 的维护者,提供了一个补丁来解决这个问题。以下是这个错误的具体细节:

  • OpenAI 使用 Redis 在他们的服务器中缓存用户信息,所以 ChatGPT 不需要为每个请求检查数据库。
  • OpenAI 使用 Redis Cluster 将这一负载分布到多个 Redis 实例上。
  • OpenAI 使用 redis-py 库,以便让用了 Asyncio 的 Python 服务器与 Redis 对接。
  • 该库在服务器和集群之间维护一个共享的连接池,并在完成后回收连接以用于另一个请求。
  • 当使用 Asyncio 时,redis-py 的请求和响应表现为两个队列:调用者将请求推送到传入队列,并从传出队列中弹出响应,然后将连接返回到池中。
  • 如果在请求被推送到传入队列之后,但在响应从传出队列中弹出之前,请求被取消,我们就会看到错误:连接因此被破坏,下一个为不相关的请求出列的响应可以接收连接中留下的数据。
  • 在大多数情况下,这会导致一个无法恢复的服务器错误,而用户将不得不重新尝试他们的请求。
  • 但在某些情况下,损坏的数据恰好与请求者所期望的数据类型相匹配,因此从缓存中返回的数据看起来是有效的,即使这些数据属于另一个用户。
  • 在太平洋时间 3 月 20 日星期一凌晨 1 点,OpenAI 无意中给他们的服务器引入了一个变化,导致 Redis 请求取消的情况激增。这在一定程度上引发了每个连接返回错误数据的可能性。
  • 这个错误只出现在 Redis Cluster 的 Asyncio redis-py 客户端,现在已经被修复。

经过深入调查,OpenAI 发现一些用户有可能看到其他活跃用户的姓名、电子邮件址、账单地址、信用卡号码的最后四位数和信用卡到期日,OpenAI 特别强调道,完整的信用卡号码并没有暴露。

这部分受影响的用户占 ChatGPT Plus 用户总数的 1.2%,目前他们正在联系了所有受影响的 ChatGPT 用户。

作者:万能的大雄

评论