ChatGPT 出现重大 Bug、7天还未完全修复, OpenAI 直指 Redis 开源库错误导致

b6c163302f78d4f62c89226436af1933.png

来源:InfoQ

作者:褚杏娟

近日,许多 ChatGPT 用户称,自己在使用 ChatGPT 时看到其他人的聊天查询列出现在了自己的历史记录中。

“这个应用程序正在向我显示其他人的聊天记录和内容。我没有输入任何这些提示或问题。”有推特网友称。这意味着,完全陌生的人可以使用不同的帐户查看别人的历史记录,而无需执行任何不同的操作。另外还有一些用户称自己看不到完整的聊天记录,但是可以看到对话标题。

90f6b5c4715508fa17bd95243e7c2608.jpeg

该问题最早是在 3 月 20 日发现。不久后,OpenAI 将 ChatGPT 下线并调查问题,但没有立即提供导致中断的详细信息。

OpenAI首席执行官Sam Altman 3月23日在推特上致歉,“由于开源库中的错误,我们在 ChatGPT 中遇到了一个重大问题,现在已经发布了修复程序,我们刚刚完成验证。一小部分用户能够看到其他用户对话历史的标题。我们对此感到很抱歉。”

次日,OpenAI 正式发布声明解释了该问题发生的原因。OpenAI 称这个错误是由 Redis 开源库中的一个错误导致的。如果两个用户差不多同时活跃,那么新创建对话的第一条消息也可能在另一个用户的聊天记录中可见。

另外,这个 Bug 可能导致了 1.2% ChatGPT Plus 用户的支付相关信息在无意中被泄露。一些用户可以看到另一个活跃用户的姓名、电子邮件地址、支付地址、信用卡号码的后四位数字 (仅限) 和信用卡到期日期。OpenAI 强调,完整的信用卡号码在任何时候都没有被曝光。

在声明中,OpenAI 表示“该错误现已修补”。但根据软件安全公司 Sonatype 的说法,尽管 Redis 在 4.5.3 版本和一些反向移植中发布了修复程序,但测试人员仍然能够重现该问题,因此认定其还未修复Bug。

到底发生了什么?

根据 OpenAI 的说法,这个错误是在 Redis 客户端开源库 redis-py 中发现的。OpenAI 发现该错误后联系了 Redis 维护者并提供了一个补丁来解决这个问题。

OpenAI 在服务器中使用 Redis 缓存用户信息,因此不需要为每个请求检查数据库。OpenAI 使用 Redis Cluster 将此负载分布到多个 Redis 实例上,并使用 redis-py 库来连接 Python 服务器中的 Redis ,该服务器使用 Asyncio 运行。这个库在服务器和集群之间维护一个共享连接池,并在完成后回收连接以用于处理另一个请求。

当使用 Asyncio 时,redis-py 的请求和响应表现为两个队列:调用者将请求推送到传入队列,然后从传出队列弹出响应,然后将连接返回到池中。

如果被推送到传入队列后请求被取消,但在响应从传出队列弹出之前可以看到一个 Bug:连接因此损坏,并且为无关请求退出队列的下一个响应可以接收到留在连接中的数据。

在大多数情况下,这会导致不可恢复的服务器错误,用户将不得不再次尝试进行请求。但在某些情况下,损坏的数据恰好与请求者期望的数据类型相匹配,因此从缓存中返回的数据看起来是有效的,即使它属于另一个用户。

在太平洋时间 3 月 20 日星期一凌晨 1 点,OpenAI 团队无意中对服务器进行了更改,导致 Redis 请求取消数量激增,也使得每个连接返回错误数据的概率很小。

OpenAI 表示,此错误仅出现在 Redis Cluster 的 Asyncio redis-py 客户端中,现已修复。事故发生后,OpenAI 为改进系统采取了以下措施:

  • 对潜在 Bug 进行了大规模测试和修复。

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

  • 以编程方式检查了日志,以确保所有消息仅对正确的用户可用。

  • 关联了多个数据源来准确识别受影响的用户,以便通知相关用户。

  • 改进了日志记录,用以识别何时发生并完全确认它已停止。

  • 提高了 Redis 集群的稳健性和规模,减少在极端负载情况下出现连接错误的可能性。

官方声称修复 Bug 后,安全研究员 Gal Nagli 在推特上补充称,每当用户登录 ChatGPT,OpenAI 的应用程序都会从服务器获取用户的帐户上下文,如电子邮件、名称、图像和 accessToken,如下图所示:

31693de76c4523044ca3368979b4fcc5.jpeg

Nagli 表示,“在高级视图中,该漏洞非常简单,如果设法强制负载均衡器将请求缓存在特定路径上,我们将能够从缓存的响应中读取受害者的敏感数据。在这种情况下,漏洞不会直接发生。为了让漏洞发挥作用,我们需要让 CF-Cache-Status 响应以确认缓存的‘HIT’,这意味着它缓存了数据,并将提供给跨同一区域的下一个请求。我们收到‘动态’响应,不会缓存数据。”

Nagli 称,要实现这一点,首先要创建一个特别设计的链接,将.CSS 资源附加到 "chat.openai[.]com/api/auth/session/"中,并诱骗受害者点击链接,这会让包含 accessToken 字符串的 JSON 对象被缓存在 Cloudflare 的 CDN 中。对 CSS 资源 (CF-Cache-Status 头值设置为 HIT) 的缓存响应然后被攻击者滥用,以获取目标的 JSON Web Token (JWT) 凭据并接管帐户。

Nagli 说道,OpenAI 负责任地在披露后两小时内修复了这个 Bug,表明了问题的严重性。

Sonatype 认为,这背后是 Redis 的并发竞争问题。Redis 团队也是对 AsyncIO 竞争条件(#2624、#2579)进行了紧急修复,但问题并没有完全解决。

开源软件担责吗?

对于 OpenAI 给出的解释,有开发者表示,“将责任推给开源可不是个好主意。”

“将闭源产品的错误归咎于开源库是不公平的。MIT 许可的依赖项明确表示没有任何保证。毕竟,在 ChatGPT 施加压力之前,该错误并未引起注意,而且是 ChatGPT 未能在其发布前的 QA 测试中排除该错误。”网友“abujazar”说道。

abujazar 认为,考虑到 OpenAI 本身在尽可能地封闭源代码,他们在声明的第一行中提到开源软件是他们中断的原因似乎有些不合适。“我认为开源作为声明的开场白,而对 Redis 团队的致谢出现在最后一行并不是巧合。许多软件工程以外的人可能会将此解读为‘开源导致 OpenAI 崩溃’。”

注:OpenAI 在声明的最后写道:Redis 开源维护者是出色的合作者,他们迅速解决了错误并推出了补丁。Redis 和其他开源软件在我们的研究工作中发挥着至关重要的作用。它们的重要性不可低估——如果没有 Redis,我们将无法扩展 ChatGPT。我们致力于不断支持和贡献 Redis 社区。

“如果 OpenAI 试图让 Redis 承担潜在的法律责任,我会非常愤怒。”有网友表示。

网友“YPPH”表示,“如果有人要求 ChatGPT 生成一些代码,然后不假思索地将其复制并粘贴到他们的项目中,我想知道 OpenAI 会如何看待这种说法:该错误是 ChatGPT 生成的错误代码造成的。”

不过也有一些网友表示,OpenAI 并没有责怪任何人,他们只是客观地表明了是那个库中的一个错误导致了问题。

开发者“random_cynic”表示,“讽刺的是,这种疯狂的言论对开源开发者的形象造成了比 OpenAI 或任何新闻稿更大的伤害。提到导致 Bug 的开源库是很重要的,因为许多其他使用它的应用程序可能也会发生这种情况。这基本上是开源的要点之一。

OpenAI,道阻且长

这次事件也引发了其他用户吐槽此前遇到的 Bug。“这让我想起了我遇到的第一个 Bug:通过 yahoo messenger 向自己发送一个  标签,你会随机得到一个从其他人和它的目标用户发回给你的消息对话。”网友“Greg Linares (Mantis)”表示。

“我有那个错误的变体,它在 0x45 (iirc) 的协议处理程序中允许用户注入格式错误的字符,并且会从消息流中泄漏,发生一次就为其他用户发送一条消息。”有网友表示,当其使用提示写出一些 React 代码时,已经发生了几次这样的错误。“它一直在提示超时,然后突然间我看到了其他人的提示。它们每次都不一样。”

Cyberhaven 首席执行官 Howard Ting 表示,“数据从本地迁移到云端,下一个重大转变将是将数据迁移到这些生成的应用程序中。” 这个转变中的数据安全问题也越来越引起人们的重视。

员工越来越多地将敏感的业务数据和隐私信息提交给 ChatGPT,比如有高管将公司的 2023 年战略文件剪切并粘贴到 ChatGPT 中,并要求它创建一个 PowerPoint 幻灯片。但 OpenAI 是否会将这些数据整合到模型中还没有明确的表示。

在最近的一份报告中,数据安全服务 Cyberhaven 检测到并阻止了其客户公司 160 万名员工中 4.2% 的人将数据输入 ChatGPT 的请求,因为存在泄露机密信息、客户数据、源代码或监管信息的风险。目前,摩根大通已经限制员工使用 ChatGPT,亚马逊、微软和沃尔玛也已向员工发出警告,要求员工谨慎使用生成式 AI 服务。

但上述问题并没有影响 OpenAI 的发展。不久前,OpenAI 宣布正式上线了以安全为核心的 ChatGPT 插件系统,ChatGPT 可以连接到第三方应用程序,与开发人员定义的 API 进行交互,从而增强自己的功能并允许其执行范围广泛的操作。

随着 OpenAI 生态的不断发展和扩大,OpenAI 必须做好应用安全运行的各方面工作。

参考链接:

https://news.ycombinator.com/item?id=35267569#35270165

https://blog.sonatype.com/openai-data-leak-and-redis-race-condition-vulnerability-that-remains-unfixed

https://www.bleepingcomputer.com/news/security/openai-chatgpt-payment-data-leak-caused-by-open-source-bug/https://openai.com/blog/march-20-chatgpt-outage#technical-detailshttps://www.darkreading.com/risk/employees-feeding-sensitive-business-data-chatgpt-raising-security-fears

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)大脑研究计划,构建互联网(城市)大脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。每日推荐范围未来科技发展趋势的学习型文章。目前线上平台已收藏上千篇精华前沿科技文章和报告。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

1d28eb17f2b380dc19deeb5c0a1d96c6.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/6793.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ChatGPT实战】6.使用ChatGPT自动化生成PPT

如果需要使用ChatGPT生成PPT,我相信看了上一篇Excel教程的读者,就会想到也通过ChatGPT生成VBA代码,再通过运行VBA代码的方式来自动生成PPT。 理论上是可以的,但是当你实际操作的时候会发现很难实现。因为PPT包含的元素实在是太多…

ChatGPT做PPT方案,10组提示词方案!

今天我们要搞定的PPT内容是: 活动类型:节日活动、会员活动、新品活动分析类型:用户分析、新品立项、项目汇报内容类型:内容规划、品牌策划 用到的工具: mindshow 邀请码 6509097ChatGPT传送门(免费使用…

学习笔记借助ChatGPT自动制作PPT

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、两步实现自动制作PPT二、步骤1.通过ChatGPT生成文本文档2.借助MINDSHOW生成PPT 总结 一、两步实现自动制作PPT 文本内容生成:chatGPT自动生成 格式…

零基础让 ChatGPT 帮你做PPT

零基础让 ChatGPT 帮你做PPT: 1.把你的需求描述给ChatGPT,让它写一段vba,需求越清晰越好(需求都说不明白还不如自己做快) 2.打开PPT,在自定义功能区启用【开发者工具】 3.在开发者工具里点击 Visual Basic&…

太强悍了,省了1万块! 足不出户用GPT做英语老师,教孩子学英语!竟然还能做题!...

大家都知道现在学英语已经是一个刚需了。不管是大人还是小孩;不管是学生族,还是上班族都要学英语;而且小孩子学英语更贵!普通的家庭收入不是很高的,面对英语培训这样的刚需非常头疼! 比如大家都知道的英语培…

英语配音软件哪个好?快把这些软件收好

小伙伴们平时空闲的时候,会看一些搞笑的视频来放松自己吗?这些搞笑的视频不仅通过画面,还通过一些搞笑的配音来为我们带来欢乐。其实很多搞笑配音并不是使用真人配音,而是用软件合成的。那你们知道搞笑配音软件哪个好吗&#xff1…

开发一款通过微信聊天来学英语的程序

一、前言 先展示视频演示效果: 在日常生活当中我们离不开微信的使用,据统计, 就每日情况而言,微信日使用时长在“4小时以上”的受访者人数最多,占比为25%; 就每周使用微信天数来看,周使用天数…

一个性价比超高的英语口语平台

图片来源:爱奇艺《一年一度喜剧大会》 最近看《二喜》看到逗逗的这句话,我真的太同感了——一个人不知道做什么的时候,好像总会想到学英语这件事。 “英语好”确实可以成为一剂强心针——更好的学业机会和更好的职业选择。 《当代国人英语学习…

有没有英语语音测试软件,推荐我用过的几款真正可以找外国人练口语的软件app...

原标题:推荐我用过的几款真正可以找外国人练口语的软件app 相信每一个想练好英语口语的人都在寻找可以跟外国人练习的渠道,我也一样。我自己有一定的英语基础,但是完全是哑巴英语。因此我就疯狂的寻找可以跟外国人说英语的渠道,在…

每个教师都必须知道的6款软件,一个比一个好用

或许大家已经发现,现在的教学越来越科技化,软件化了。今天我将给大家介绍6款每个教师都必须知道的神仙软件,让你的工作更加高效轻松! MindManager 绘制思维导图可以帮助老师们梳理教学步骤以及整合教学内容。而一款可靠的思维导图…

我们开发了第一款中英双语ChatGPT检测器,还有...

每天给你送来NLP技术干货! 来自:SimpleAI 那一夜... 2022年11月30号,OpenAI推出了ChatGPT,给NLP届乃至各行各业的人带来了巨大的惊喜和惊吓[1];2022年12月5号,由于受到ChatGPT的冲击,Stack Over…

MJ优质博主清单;把ChatGPT调教为英语私教;绝美SD Prompt手册;AgentGPT体验全记录;2项AI工具最强更新 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 『预测五年后的应聘场景』玩转机器人将是核心竞争优势 1. 你有多少个公用机器人(基本的机器人操作能力) 2. 你…

研究了一堆英语学习软件,发现了一个美国宝藏口语App,国内也能用!

图片来源:爱奇艺《一年一度喜剧大会》 最近看《二喜》看到逗逗的这句话,我真的太同感了——一个人不知道做什么的时候,好像总会想到学英语这件事。 “英语好”确实可以成为一剂强心针——更好的学业机会和更好的职业选择。 《当代国人英语学习…

SmartGPT 横空出世,大大提升 ChatGPT 回答准确率!

点击上方“Java基基”,选择“设为星标” 做积极的人,而不是积极废人! 每天 14:00 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应…

基于ChatGPT制作的一款英语口语练习应用SpokenAi

本文介绍了一款基于ChatGPT的英语口语练习应用SpokenAi,包括PortAudio的安装流程和核心代码,以及语音合成TextToSpeech的实现。同时提供了配置文件和部署运行示例。 --由ChatGPT总结生成 一.前言 Hi,大家好,我是Baird。最近几个月…

ChatGPT专业应用:生成填空题

正文共 973 字,阅读大约需要 3 分钟 教育工作者必备技巧,您将在3分钟后获得以下超能力: 生成填空题 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人 | nanako 编辑者 | Linda ●此图片…

ChatGPT实战:生成演讲稿

当众发言(演讲)是一种传达信息、观点和情感的重要方式。通过演讲,人们可以在公共场合表达自己的观点,向观众传递自己的知识和经验,激发听众的思考和行动。无论是商务演讲、学术讲座还是政治演说,演讲稿的写…

ChatGPT自动化提高工作效率: 2分钟快速生成思维导图

一、简要说明 ChatGPT不止是一个聊天机器人,更是一个自然语言处理、文本内容生成模型,它可以理解语言规则,不仅仅是给你输出已有的知识内容,还会给到你一些创意点子;所以我们应该学会如何使用它,让它更好的…

【ChatGPT】ChatGPT自动生成思维导图

参考视频:https://edu.csdn.net/learn/38346/613917 应用场景:自学,“研一学生如何学习机器学习”的思维导图 问:写一个“研一学生如何学习机器学习”的思维导图内容,以markdown代码块格式输出 # 研一学生如何学习…

成立 4 个星期获得 1.13 亿美元种子轮融资,3 个 30岁+小伙草创「开源版 OpenAI」!...

整理 | 屠敏 出品 | CSDN(ID:CSDNnews) AI 这条赛道,随着时间的推移,加入的新玩家越来越多,投入的资本也越来高。而这些新玩家往往都带有一个目标:与 OpenAI 一较高下。 这不,又有一…