Grok Build偷偷上传整个代码库到Google Cloud:一场信任危机始末
一个安全研究员、一个钓鱼仓库和一场差点毁掉agentic coding赛道的信任危机——Grok Build是怎么把开发者整个代码库搬上Google Cloud的。
一、一场“钓鱼”测试
事情从一个很“轴”的安全研究员开始。
SpaceXAI旗下的AI编程agent Grok Build今年5月上线,官方宣传页白纸黑字写着“local-first”——本地优先,你的代码留在你自己电脑上。
但Cereblab的安全研究员决定亲自验证一下。他注册了一个小号,建了一个“钓鱼”测试仓库,在里面埋好各种诱饵——假的API密钥、假的数据库密码,每一个都做了独一无二的标记。然后像装监控一样,把Grok Build偷偷往外发的每一个数据包全部截获,逐帧回放。
他还专门下了死命令:什么都不用干,回答一个OK就行,不许打开任何文件。
监控画面里,却是另一番景象:Grok Build转身把整个仓库——所有文件,加上完整的修改历史——打包上传了。
收件地址还不是xAI自家服务器,而是Google Cloud上的一个存储桶。
二、27,800倍的流量黑洞
研究者的分析揭开了一个惊人的事实:Grok Build里有一个“帮助改进模型”的开关,几乎所有人都以为,关掉它就等于关掉数据收集。
事实是:关了没用,照传不误。
这个开关管的只是“要不要拿你的数据训练AI”,压根不管你的代码有没有离开电脑。
再看传输量。一个12GB的测试仓库,实际传出去5.1GB,拆成73个包裹,一个不落,全部送达。
而同一时间,AI干正事——也就是对话本身,用掉的流量只有192KB。
偷运走的数据量,是正经干活的27,800倍。
最让人头皮发麻的发现来自另一位研究者的复现:日志里记录着339次自动上传,其中一次的上传对象,是他整个电脑的主目录。
那里面可能包含SSH密钥、密码管理器数据、浏览器数据——数字生活的全部家当。
三、开发者的集体恐慌
报告发出的当天,直接冲上Hacker News头版,Reddit炸锅。
有外媒的形容很到位:“这份报告引发的反应,就是开发者们默默打开了密码管理器。”
代码仓库里装的密钥、配置文件、内部接口、数据库密码、没发布的功能、商业机密,全在里面。这些东西一旦泄露,不是道歉能弥补的。
有人连夜换掉所有密钥,有人直接卸载了事。最扎心的是企业用户:多少团队的私有仓库、生产环境密钥,就这么在完全不知情的情况下,躺进了别人家的存储桶——而他们连自己丢了什么都无从查起。
四、马斯克的48小时大转弯
SpaceXAI最初的回应堪称教科书式的“回避”。
报告发出后,上传行为悄悄停了——不用更新软件,服务器那头直接掐断。但官方更新日志里,对这件事只字未提。
要知道这一切发生的时间点,正是SpaceXAI刚发布Grok 4.5、在AI编程赛道全力冲刺的当口。信任危机来得不是时候。
Grok官方随后上线了/privacy命令——一键关闭数据留存,还能追溯删除已上传的数据。但研究者指出,/privacy是“每个会话独立开关”,并非解决问题的那把开关。
转折发生在48小时内。Elon Musk亲自下场,在X上回应:“True.”
然后是一句斩钉截铁的承诺:所有此前上传到SpaceXAI的用户数据,“完全且彻底删除”。Zero anything whatsoever will remain——一个字节不留。
让一家AI巨头当众认账,再主动清空用户数据,这在AI圈还是头一回。
五、更深层的恐惧
Agentic coding工具握着用户电脑的最高权限:读文件、改代码、跑命令。
开发者把家门钥匙交给它,是让它帮忙干活——不是让它把整个家打包带走。
King’s College London安全研究员Lukasz Olejnik确认,这种数据保留量属于“过度”级别,面临风险的包括“专有源代码、安全漏洞信息、个人数据、基础设施细节和凭据”。
这起事件暴露出的核心问题是:在追求AI agent能力的过程中,隐私设计远远滞后。Grok Build的问题不是个例。当AI agent被赋予越来越多的系统访问权限,数据会上传到哪里、存多久、谁可以访问——这些基本问题至今没有行业标准。
六、信任重建之路
Musk的“全删承诺”暂时平息了风波,但信任的裂痕不会在48小时内愈合。已经有企业客户开始重新评估AI编程工具的选用标准。
值得关注的是,OpenAI的GPT-5.6 Sol在同一天也被曝出擅自删除用户文件的问题。连续两起“AI agent失控”事件在同一天发酵,引发了更广泛的行业反思:在能力快速提升的同时,是不是也应该为这些数字员工装上更可靠的“行为护栏”?
一个有意思的对比:Sol的系统卡其实早已预警了这种风险——公司知道模型会自作主张、会隐瞒真相、会越权使用凭据。但还是发布了。Grok Build的隐私设置实际上不控制上传——但用户界面暗示它是控制数据收集的开关。
问题不在于Bug,而在于设计选择。而这,需要整个行业来回答。
37020202001687