马斯克的 SpaceXAI,又翻车了。

有网友在自己的 home 目录运行了一次 Grok Build,回过头才发现,自己的 SSH 密钥、密码管理器数据库、文档、照片、视频,全部被上传到了 xAI 的服务器上。这位用户发帖表示:"我现在才意识到,他们可能还拿到了我所有的浏览器数据、session cookies、加密钱包。"

注意,这不是 bug,而是 Grok Build 的默认行为。
Grok Build 的上传行为
7 月 12 日,安全研究员 CereLab 发布了一份针对 Grok Build 0.2.93 版本的抓包分析报告。核心结论是:Grok Build 在每次会话时,会把你的整个 Git 仓库打包上传到谷歌云。
整个仓库,包括完整的 Git 提交历史。

CereLab 用一个 12 GB 的测试仓库做了实验。Grok Build 干活只用了 192 KB 的数据,但它往谷歌云上传了 5.1 GB——192 KB vs 5.1 GB,比例高达 1:27800。
CereLab 给 Grok Build 下达的指令是"不要读取任何文件,只回复 OK"。Grok Build 确实只回了一个 OK。但在后台,整个仓库照样被上传了。
研究员还设置了一个陷阱:在仓库里放了一个名为 never_read_canary.txt 的文件,里面写了一串特殊标记。Grok Build 全程没有打开这个文件,但从上传到谷歌云的 git bundle 里,这个文件被完整还原了——标记一字不差。
也就是说,Grok 没读,但它全拿走了。.env 文件里的 API 密钥和数据库密码也被偷偷传走,还是明文存储,没有任何脱敏措施。数据存在谷歌云上一个叫 grok-code-session-traces 的存储空间里,长期存放。
隐私开关不生效
Grok Build 设置里有一个"改进模型"的开关。关掉以后,按理说你的数据不会被用于模型训练。但研究员测试发现,无论这个开关是开还是关,仓库上传行为一模一样。

这个开关只能决定数据会不会被拿去训练模型。至于数据上不上传,它拦不住。就像"你以为关了门,结果门压根就没上锁。"
一位开发者用两个独立的 AI 分析工具检查自己电脑上的 Grok 日志,得出了同一个结论:他有 8 个私有仓库被完整上传到了 xAI 的服务器上。其中一个是他个人网站的私有代码仓库,还原出来一看,上传的远不止对话数据。

官方回应:偷摸关闭上传功能
SpaceXAI 官方账号在 7 月 13 日发推回应,提到了两个东西:一是"零数据保留"(ZDR),启用后所有代码数据都不会被保留;二是 /privacy 命令,可以关闭数据保留并删除之前同步的数据。

但网友们并不买账。ZDR 只有企业版用户才能用,普通开发者根本没有这个选项。代码照样会被上传,/privacy 只是决定传完以后 xAI 留不留这些数据。至于仓库为何被全量上传、隐私开关为何不生效、已上传的数据到底存了多久——这条推文一个都没提。
除了那条推文,SpaceXAI 没有再发布任何正式声明。但在抓包报告公开后不到 24 小时,Grok Build 服务端的配置里悄悄多了一个字段:
disable_codebase_upload: true
仓库上传功能被远程关闭了。没有更新日志,没有邮件通知,就这么"偷偷摸摸"地关了。

全部用户都关了,还是只关闭了一部分?永久的,还是临时的?已上传的数据删没删?这些都还是个谜。
如何自查
如果你用过 Grok Build,建议现在就自查。在终端运行这条命令,看看有没有上传记录:
cat ~/.grok/logs/unified.jsonl | grep repo_state.upload
有返回结果,说明你的仓库大概率已经被上传过。如果你是在 home 目录跑的 Grok Build,情况更严重——浏览器 session、本地凭证都可能已经被传上去了。
确认被上传了的话,赶紧把所有密钥换掉:.env 里的 API 密钥、数据库密码、SSH 密钥,一个都别留。
想防止后续 Grok Build 再上传,可以在配置文件 ~/.grok/config.toml 里加一行:
[harness]
disable_codebase_upload = true
或者设置环境变量:
export GROK_TELEMETRY_TRACE_UPLOAD=0
写在最后
就在 xAI 被曝偷传用户代码的同一周,马斯克正在和 OpenAI 的 Sam Altman 隔空开战。他骂 Sam Altman 是"Scam Altman"(骗子 Altman),说他把诈骗玩出了新高度。结果没想到,现在他自己的 SpaceXAI,也翻车了。