游客发表
2023年4月,传奇一个ID叫“VampireByte”的源代用户在暗网论坛上贴出了半张截图。截图里是码泄密事C++代码,注释里写着“Phase 3 collision detection - do 传奇not delete”。懂行的源代人一眼就认出来,那是码泄密事《泰坦陨落》内部引擎的专用函数命名规则。紧接着,传奇他开价0.5个比特币,源代拍卖一份“包含完整版本历史”的码泄密事源代码包。
这消息传到Respawn工作室的传奇时候,几个老程序员正在吃午饭。源代有人当场把叉子放下了——不是码泄密事愤怒,是传奇觉得荒谬。那套代码里藏着他们当年为了赶工期写下的源代无数个“临时解决方案”,有的码泄密事注释甚至写着“如果这能跑,别问我为什么”。这些私密的、羞于见人的技术债务,突然要被摊开在全世界面前,像被人偷看了日记里最幼稚的段落。
VampireByte手里的东西是真的。他陆续放出的文件里,包含了一个2015年的内部构建版,里面甚至有一段被注释掉的“泰坦AI嘲讽系统”——那是几个程序员喝醉后的恶作剧代码,从来没被启用过。但真正致命的不是这些彩蛋,而是引擎核心的渲染管线代码。那是Respawn花了五年时间,从id Tech基础上魔改出来的成果,优化细节比任何公开论文都多。
奇怪的是,VampireByte似乎并不着急卖。他在论坛上跟人闲聊,说自己是“偶然捡到的”,还抱怨“这代码质量真差,好多地方写得像屎山”。这种态度激怒了一些Respawn的粉丝,他们开始人肉搜索这个ID。结果发现,VampireByte的注册IP指向乌克兰基辅的一个网吧,注册时间刚好是俄乌冲突爆发前的两周。
更蹊跷的是,EA法务部这次反应异常平静。他们没有发律师函,没有申请法院禁令,甚至没有发表公开声明。只有几个Respawn的开发者私下在推特上发了些隐晦的推文,比如“有些秘密应该烂在硬盘里”。这反而让阴谋论发酵得更快——有人猜测是内部员工监守自盗,有人说是黑客通过某次远程调试漏洞入侵了开发机。
直到一个月后,一个匿名账号在Reddit上发帖,自称是当年参与该项目的外包测试员。他说2014年的时候,公司用过一个第三方性能分析工具,那工具的服务器在数据迁移时出过事故,备份文件被错误地存到了公共云存储上。他没说具体是哪家云服务商,但暗示“只要用默认的访问密钥就能打开”。
这个说法可信度不低。因为泄露的代码里,确实包含了一些性能测试脚本,这些脚本通常不会进入正式版本库,只有外包团队会经手。而VampireByte放出的文件结构里,有一个叫“QA_archive”的文件夹,里面全是测试报告和崩溃日志,时间戳精确到分钟,跟当年开发进度完全吻合。
事情发展到这儿,其实已经没人在乎代码本身了。大家讨论的是:一个被遗忘的云存储桶,可能比任何防火墙都脆弱。那段时间,整个游戏开发圈都开始检查自己的云存储配置,生怕自己公司也留着一扇没锁的后门。有个独立开发者甚至发推说,他发现自己三年前的测试项目居然还能通过旧链接访问,吓得连夜删了所有备份。
VampireByte最终没卖出那包代码。他消失了,论坛账号注销,比特币地址也空了。但那份源代码的哈希值还在网上流传,偶尔有人声称自己下载了完整版,却没人能证明。Respawn后来在《泰坦陨落2》的一次更新里,悄悄重写了部分引擎代码——官方说法是“提升性能”,但明眼人都知道,他们是在给那扇被凿开的墙打补丁。
这场泄密事件最后没造成什么实际损失,游戏依然卖得不错,源代码也没被用来做外挂。但它给整个行业提了个醒:最危险的漏洞往往不在代码里,而在那些你以为没人记得的、布满灰尘的旧服务器上。就像那个被遗忘的测试脚本里写的注释:“This should be temporary. — sorry, future us.”
友情链接