ChatGPTPlus用户注意:如何在3120午间避免数据混乱?Redis更新中的神秘错误与修复

学会提问 2年前 (2023) lida
55 0 0

文章主题:, 订阅确认, 隐私保护, 数据安全

666ChatGPT办公新姿势,助力做AI时代先行者!

本文来自微信公众号:浮之静(ID:fuzjing),作者:lencx,原文标题:《严重漏洞:导致 1.2% ChatGPT Plus 用户部分信息泄露》,头图来自:《冒牌天神》剧照

本周早些时候,由于一个开源库中的一个错误,ChatGPT 服务出现了严重的漏洞。这个错误导致一些用户可以看到另一个活动用户聊天历史记录中的标题,而且新创建的对话的第一条消息也有可能会在另一个用户的聊天历史记录中可见。

ChatGPT 立即下线并修复了这个错误,成功地恢复了服务和聊天历史记录功能,除了几个小时的历史记录外。ChatGPT 承诺在下面发布更多有关此问题的技术细节(查看原文:March 20 ChatGPT outage: Here’s what happened[1])

经过深入调查,ChatGPT 还发现,同样的错误可能会导致1.2%的 ChatGPT Plus 订阅用户在特定的九个小时时间窗口内意外地看到与支付相关的信息。在周一 ChatGPT 下线[2]之前的几个小时内,一些用户可能会看到另一个活动用户的姓名、电子邮件地址、支付地址、信用卡号码的最后四位数字(仅限),以及信用卡到期日期。完整的信用卡号码在任何时候都没有被公开。ChatGPT 相信,实际上被公开给他人的用户数据数量非常少。

🌟获取ChatGPT Plus独家资讯,只需几步!🚀首先,锁定时间,3月20日太平洋早10点,准备迎接你的专属邀请。🎁或者,直接在ChatGPT轻触“我”之键,进入账户深处,简单点击“订阅管理”,瞬间解锁所有秘密。🔍别错过这关键时刻,让我们一起探索无限可能!💥记得,保护信息安全,切勿分享给他人哦!🔒

在这期间,另一个ChatGPT Plus 用户的姓名、电子邮件地址、支付地址、信用卡号码的最后四位数字(仅限)、信用卡到期日期可能会可见。ChatGPT 已经联系受影响的用户并通知他们可能已经泄露了他们的付款信息。ChatGPT 有信心用户的数据不存在持续的风险。

🌟【OpenAI诚挚致歉】🚀 作为隐私与数据安全的坚定守护者,成员们始终以用户为中心,遗憾的是,本周我们未能交出满意的答卷,辜负了大家的期待。我们深感痛心,向ChatGPT社区及所有用户郑重道歉。🌱 现在,我们承诺将全力以赴,重塑信任,用实际行动弥补过失。一起期待一个更安全、更透明的未来!🙏

一、技术细节

该漏洞是在 Redis 客户端开源库 redis-py[3] 中发现的。OpenAI 一发现该漏洞,就向 Redis 维护者发送了一个修复问题的补丁。以下是该漏洞的工作原理:

我们使用 Redis 在服务器中缓存用户信息,这样我们不需要为每个请求检查我们的数据库。

我们使用 Redis Cluster 将这个负载分布到多个 Redis 实例中。

当我们与Redis进行数据交互时,我们会依赖于Redis-py这个Python库,它允许我们在异步的Asyncio环境中高效运作,确保了Python服务器的流畅运行。

该库在服务器和集群之间维护一组共享连接池,并在完成后将连接回收以供另一个请求使用。

🌟当涉及到高效的异步编程,Redis-Py的AsyncIO交互就像一对神奇的双向队列💡。开发者通过往`进队`操作,向Redis发送请求,随后在`出队`位置获取响应,再把珍贵的连接资源归还至全局`池子`中。这种简洁而流畅的设计,确保了任务的无缝衔接与资源的有效管理。🚀

当我们推送请求到输入队列后,若在输出队列响应前中断操作,后果堪忧!可能出现连接不稳定的情况,随之而来的可能是错误响应混杂着旧数据,对后续流程构成干扰。记得检查通信过程中的完整性和有效性哦!🚀

在大多数情况下,这会导致无法恢复的服务器错误,用户将不得不重试他们的请求。

有时,意想不到的破损数据反而恰恰迎合了检索者的特殊需求,仿佛来自另个用户的缓存信息竟意外成了‘有效’的回应,尽管这并非原意所在。

在太平洋时间 3 月 20 日星期一上午 1 点,我们不经意间引入了一项更改,导致 Redis 请求取消激增。这为每个连接返回错误数据创造了一个小概率。

该漏洞仅出现在 Redis Cluster 的 Asyncio redis-py 客户端中,并已得到修复。

二、采取措施

在 OpenAI 的调查结束后,支持和通知 ChatGPT 用户是 OpenAI 的首要任务。所以采取了以下行动来改善系统:

广泛测试了我们对潜在漏洞的修复措施。

添加了冗余检查,以确保我们的 Redis 缓存返回的数据与请求用户匹配。

对我们的日志进行了程序化检查,以确保所有消息只对正确的用户可用。

相关几个数据源,以精确识别受影响的用户,以便我们通知他们。

改进了日志记录,以便识别何时发生问题并完全确认问题已经停止。

改进了我们的 Redis 集群的强度和规模,以减少在极端负载下连接错误的可能性。

三、下一步计划

Redis 开源维护者一直是 OpenAI 优秀的合作伙伴,迅速解决了漏洞并推出了补丁。Redis 以及其他开源软件在 OpenAI 的研究工作中发挥了至关重要的作用。它们的重要性不容小视——如果没有 Redis,OpenAI 将无法扩展 ChatGPT。OpenAI 也致力于继续支持和贡献给 Redis 社区。

四、思考

ChatGPT 在为人类梦想插上翅膀的同时,所需要肩负的责任也会越来越重大(用户隐私,数据安全是永远无法绕开的话题)。ChatGPT 插件的推出,让人们看到了 AI 更大的可能性。或许正如 OpenAI 所说的,会给互联网带来一种新的范式(你通过自然语言描述需求,AI 会按照你的需求来检索内容,或者直接生成不存在的内容)。它最先颠覆的是传统搜索问题,检索信息的方式,其次就是思维模式的转变。

References:

[1]March 20 ChatGPT outage: Here’s what happened: https://openai.com/blog/march-20-chatgpt-outage

[2]周一 ChatGPT 下线: https://www.theverge.com/2023/3/21/23649806/chatgpt-chat-histories-bug-exposed-disabled-outage

[3]redis-py: https://github.com/redis/redis-py

[4]AsyncIO Race Condition Fix: https://github.com/redis/redis-py/pull/2641

[5]Off by 1 – Canceling async Redis command leaves connection open, in unsafe state for future commands: https://github.com/redis/redis-py/issues/2624

本文来自微信公众号:浮之静(ID:fuzjing),作者:lencx

ChatGPTPlus用户注意:如何在3120午间避免数据混乱?Redis更新中的神秘错误与修复

ChatGPTPlus用户注意:如何在3120午间避免数据混乱?Redis更新中的神秘错误与修复

AI时代,掌握AI大模型第一手资讯!AI时代不落人后!

免费ChatGPT问答,办公、写作、生活好得力助手!

扫码右边公众号,驾驭AI生产力!

相关文章