(资料图片)
OpenAI 日前公开了有关其在周一将ChatGPT 下线的原因的新细节,现在它表示一些用户的支付信息可能在事件期间已经暴露。
根据该公司的一篇文章,名为redis-py 的开源库中的一个错误造成了一个缓存问题,该问题可能会向一些活跃用户显示其他用户信用卡的最后四位数字和到期日期,以及他们的名字和姓氏、电子邮件地址和付款地址。用户也可能已经看到了其他人聊天记录的片段。
该公司表示,支付信息泄露可能影响了大约1.2% ,在 3 月 20 日美国东部时间凌晨 4 点到下午1 点之间使用该服务的 ChatGPT Plus 订阅用户。
根据OpenAI 的说法,有两种情况可能导致支付数据被显示给未经授权的用户。如果用户在该时间段内转到“我的帐户”>“管理订阅”屏幕,他们可能会看到当时正在使用该服务的另一位 ChatGPTPlus 用户的信息。该公司还表示,事件期间发送的一些订阅确认电子邮件发送给了错误的人,其中包括用户信用卡号码的最后四位数字。
该公司表示,这两件事有可能都发生在 3 月 20 日之前,但尚未确认是否确实发生过。 OpenAI 已经联系了可能暴露了支付信息的用户。
至于问题发生的原因主要是缓存导致的。该公司在其文章中有完整的技术解释,但简单来说是公司使用一款名为Redis 的软件来缓存用户信息。在某些情况下,取消的Redis 请求会导致为不同的请求返回损坏的数据,这本不应该发生。通常,程序会获取该数据,比如“这不是我要求的”,然后返回错误信息。
但是,如果其他人要求相同类型的数据,例如,如果他们想要加载他们的帐户页面并且数据是其他人的帐户信息,该程序认为一切正常并将其显示给他们。
真正糟糕的是,在3 月 20 日早上,OpenAI 对其服务器进行了更改,意外导致取消的 Redis 请求激增,从而增加了错误将不相关缓存返回给其他人的机会。
OpenAI 表示,该错误出现在一个非常特殊的Redis 版本中,现已修复,并且从事该项目的人员是“出色的合作者”。公司还表示,它正在对自己的软件和做法进行一些更改,以防止此类事情再次发生,包括添加“冗余检查”以确保所提供的数据实际上属于请求它的用户,并降低 Redis 在请求高负载的情况下返回错误信息的可能性。