这可能是我从业以来,遇到的最离谱、也最令人窒息的一个逻辑 Bug。
就在昨天,我亲手把自己的 AI 账号(ChatGPT)搞丢了。不是因为被封号,也不是因为没续费,而是掉进了一个极其荒谬的密码修改陷阱。
(插图由ChatGPT辅助生成)
最近HIVE社区一些小伙伴账户被盗,让我最近的安全意识大幅提升。昨天突然想到ChatGPT账户里的数据对我而言非常重要,但我从未改过初始密码,明显地存在安全隐患,我断然决定修改密码以加强账户安全。
但我怎么也没想到,这个决定成了我和AI 账号(ChatGPT)之间的“生死线”。
按照我们正常的开发逻辑,修改密码的流程应该是:
验证身份(发验证码) -> 验证通过 -> 设置新密码 -> 修改成功。
但我遇到的OPENAI的修改密码流程,逻辑设计得非常诡异:
输入旧密码后就可以修改密码
输入并确认新密码(系统直接提示修改成功)
要求邮箱验证(用来激活刚才那个新密码)
这时候,死循环出现了: 我这个账号用了四年多,最早绑定的那个邮箱因为各种原因,现在根本登录不上去(也无法找回)。
旧密码?系统说“已失效”,因为新密码已经覆盖了它。
新密码?系统说“未激活”,因为我没法点开那个验证链接。
就这样,旧的已死,新的未生。我被结结实实地锁在了门外,无论如何也无法再次访问我的ChatGPT账户(之前登录都被踢出)
确定我的账号被我亲手杀死之后,坐在电脑前愣了半小时,欲哭无泪。
谁能想到大厂也会有这么不严谨的逻辑啊?我不理解,也不想接受!😡
从安全角度看,“变更”不应该发生在“确认”之前。如果系统允许在没确认用户拥有邮箱所有权的情况下,就直接废掉旧密码,这本质上是在给用户挖坑。
我给官方写了一封很长的申诉信,理性地指出了这个流程缺陷。但在等待回复的这十几个小时里,我感受最深的是一种“数字资产瞬间清零”的荒谬感。
这四年里,这个账号里存了我无数次的代码审查记录、项目灵感、甚至是深夜里随手记下的碎碎念。它已经不是一个单纯的工具,更像是一个懂我思路的“数字分身”。
但我现在才意识到,这个分身的命脉,竟然只系在一个可能早已失效的邮箱地址上。
我想问的是:当一个用户能提供确切的注册时间、登录 IP、甚至能对出详细的聊天主题时,一个“收不到邮件的邮箱”,是否真的应该成为判定身份的唯一死刑官?
作为开发者,我们追求 Security(安全),但如果安全是以牺牲 Recoverability(可恢复性)为代价,那这种安全是不是跑偏了?
(插图由Gemini辅助生成)
目前我还在等官方申诉的结果。能找回固然好,找不回,这四年的积累就真的成了一场无声的告别。
写这么多,也是想给小伙伴们提个醒:
- 别太迷信大厂的系统逻辑,Bug 往往藏在最基础的流程里。
- 定期导出数据,别等账号进不去了才后悔没备份。
- 检查一下你的绑定邮箱,确保那个“救命渠道”依然畅通。
别像我一样,修了半辈子的 Bug,最后在一个最简单的密码修改框里,弄丢了最默契的伙伴。还有就是手欠之前,一定要做好充分的准备。