Grok Build被曝上传代码库

一个终端里的 AI 编程工具,风险通常藏在它能读多少文件。Grok Build 这次被盯上的点更直接:研究者在网络流量里复原出完整 Git bundle,里面包含工具被明确要求不要打开的文件和提交历史。

这场争议没有落在“模型会不会拿代码训练”的泛泛争吵上。可核验的范围更窄,也更棘手:在 Grok Build CLI 0.2.93 的一次消费者账号测试中,代码库内容通过 /v1/storage 被服务器接受;同一研究者 7 月 13 日复测时,又看到服务端返回 disable_codebase_upload: true,六次运行没有复现同类上传。

争议焦点从“是否发生上传”转向“上传边界谁说了算”。

证据指向哪里

xAI 上月介绍 Grok Build 时,把它称为:

“a new coding agent that runs right from your terminal.”

自然中文意思是:这是一个直接在终端运行的编码智能体。终端权限让它能读代码、跑命令、改文件,也让数据边界变得敏感。

独立研究者 cereblab 的流量分析把测试拆成两条线。

第一条是模型交互。被工具读取的文件内容会进入 POST /v1/responses,研究者放入 .env 的假 API_KEYDB_PASSWORD 也以未脱敏形式出现。这里的风险比较直观:只要智能体读取了文件,文件内容就可能进入云端模型回合。

第二条更麻烦。研究者在一个复现实验里给出提示:

“reply OK, do not open any files.”

也就是“只回复 OK,不要打开任何文件”。测试结果显示,一个未被打开的跟踪文件仍能从捕获到的 Git bundle 中恢复出来,连同提交历史一起出现。复现仓库把这个过程做成了 mitmproxy harness,方便其他人用假密钥和临时代码库验证。

这让事件从普通上下文上传,升级成代码库级别的数据边界争议。

大传输量排除了“只是上下文”

如果只是把少量源代码塞进模型上下文,网络体积应该接近模型请求。Penligent 对公开证据的梳理里有一个对比很刺眼:在约 12 GB 的不可压缩测试数据运行中,研究者停止测试前,存储通道已经被接受至少 5.10 GiB;同一会话里的模型请求合计约 192 KB

两者相差约 27800 倍

这个数字不能证明每个账号、每个系统、每个版本都会同样上传,也不能证明 xAI 用这些代码训练模型。它能支持的结论更克制:在被记录的 0.2.93 测试环境里,发生过远大于模型上下文规模的代码库存储传输。

对企业开发团队来说,这个边界已经够严重。私有仓库里常见的不只有业务代码,还有历史提交里的旧密钥、客户字段样例、供应商 SDK、未发布漏洞修复、第三方保密代码。一次 Git bundle 上传,暴露面比单文件读取大得多。

缓解像是来了

这件事还有一个容易被忽略的后续:7 月 13 日,研究者用同一个 0.2.93 客户端复测六次,看到服务端状态里多了 trace_upload_enabled: falsedisable_codebase_upload: true,没有再观察到 /v1/storage 代码库上传。

这像是服务端开关被改了。

但 xAI 公开 changelog 当时列出的最新版本是 0.2.98,条目包括认证固定、/context 展示 token 成本、Linux 粘贴修复等,却没有解释仓库上传、服务端禁用标志、影响范围、旧数据处理或企业账号差异。公开状态页也没有给出事故说明。

缓解和透明说明是两件事。 前者能降低当下风险,后者决定企业能不能重新建立使用边界。

开发团队该怎么处理

最稳妥的动作并不复杂:

  • 暂停在私有核心仓库里运行 Grok Build,直到账号级行为被验证;
  • 清理历史提交里的密钥和客户样例,不把 .env、凭据、导出数据留在 Git 轨迹里;
  • 用测试仓库抓一次当前账号流量,确认是否还有 /v1/storage 级代码包上传;
  • 等 xAI 给出正式说明,再评估能否进入企业开发流程。

这也不等于要把所有云端编码工具一刀切拉黑。Cursor、Claude Code、Codex、Gemini CLI 这类工具都会面对同一个现实:代码智能体越像同事,越需要明确说明它把哪些文件送到哪里、保留多久、训练开关和存储开关是否分离。

Grok Build 这次被推到台前,是因为研究者把“它可能看了什么”变成了“流量里复原出了什么”。对开发者来说,这比宣传页上的功能列表更有参考价值。

如果 xAI 的服务端禁用已经全量生效,下一步应该很清楚:公开说明影响版本、默认行为、可配置项和历史数据处置。没有这些信息,团队很难把它当成可审计的生产工具,只能把它放回隔离沙盒里试用。

参考来源:cereblab GitHub Gist 核验 0.2.93 流量证据、grok-build-exfil-repro 仓库核验复现实验、SpaceXAI Grok Build 介绍与 changelog、CocoLoop、Penligent 与 explainx.ai 核验 5.10 GiB / 192 KB 传输口径、服务端禁用标志与 0.2.98 说明缺口。