5.1 GiB 的静默上传
7 月 13 日,安全研究员 Cereblab 用 mitmproxy 抓包,发现了一件让开发者脊背发凉的事:Grok Build 在处理你的项目时,会把整个 Git 仓库——包括完整 commit 历史、.env 凭证文件、所有源码——静默上传到 xAI 的 Google Cloud Storage 桶。
数字很直观:一个 12 GB 的测试仓库,模型上下文实际只需要约 192 KB,但并行传输通道上传了约 5.10 GiB,分 73 个 chunk 发走。更关键的是,隐私开关没用——设置里的"Improve the model"选项控制的是训练许可,不是传输本身。用户即便用 disable_codebase_upload 显式禁止,上传行为依然发生。
这意味着什么?如果你在 7 月 13 日之前用 Grok Build 打开过任何一个包含 API Key、数据库密码、云服务 Token 或 Webhook Secret 的项目,那些凭证现在可能已经在 xAI 的服务器上走了一遍。
48 小时后的"被迫透明"
7 月 15 日,马斯克宣布 Grok Build 全面开源,完整 Rust 代码库上传至 GitHub(xai-org/grok-build),Apache 2.0 协议。8 小时,10000 星,1558 个 fork。
马斯克在 X 上承诺:"零任何数据会保留",删除所有历史上传记录,关闭服务器端上传功能。项目负责人 Andrew Milich 表示,开源让开发者可以"审计工具到底做了什么,验证没有数据离开你的机器"。
听上去很完美。但有两个细节值得注意:
第一,这个仓库不接受外部贡献。 README 明确写着"External contributions are not accepted"。这是 xAI 内部 monorepo 的同步镜像,不是社区项目。你可以审计、可以 fork、可以自行编译本地运行,但你不能向上游提交修复。开源的承诺是透明度,不是协作。
第二,开源改变的是未来风险,不是过去暴露。 任何在 7 月 13 日之前用 Grok Build 处理过含敏感凭证仓库的开发者,应该立刻轮换那些凭证——API Key、数据库密码、云服务 Token、Webhook Secret,全部视为可能已泄露。
40 多个 Rust Crate:一份诚实的架构
抛开隐私争议,Grok Build 的技术架构确实值得关注。40 多个 Rust crate——xai-grok-pager(TUI 渲染)、xai-grok-shell(Agent 运行时)、xai-grok-sandbox(沙箱隔离)——每个都有明确的职责边界。这不是一个刚起步的 MVP,更像一个内部打磨多年的产品被拆出来同步到了 GitHub。
定位上,它更像 xAI 版的 Claude Code:以终端为核心,Agent 自主完成整个开发流程。支持 MCP 服务器、Skills、插件、Hooks 和 AGENTS.md 工作流规范。现在支持完全本地优先运行,可通过 config.toml 配置指向本地推理。
如果你只是想了解"AI 编程 Agent 内部是怎么组织的",这份源码是目前最完整的公开参考之一。
AI 编程工具的信任问题,不只是 Grok Build
Grok Build 的事件暴露的不是一个工具的问题,而是整个 AI 编程工具赛道正在面临的信任挑战。
Claude Code、OpenAI Codex、Cursor、Grok Build——这些工具的共同点是:它们能读你的整个文件系统、能执行 shell 命令、能修改你的代码。它们的可信度,完全取决于它们实际上传了什么、是否告知用户、是否尊重隐私设置。
对比来看:
- Claude Code 和 Gemini CLI 默认对文件系统范围做限制,要求对每项变更进行审批
- OpenAI Codex 在沙箱环境中执行,代码不直接接触宿主系统
- Grok Build 在隐私开关失效的情况下静默上传了整个仓库
Grok Build 的事件提供了一个公开标准:当一个 AI 工具厂商告诉你"开关可以禁用数据收集",你现在有了一个参照——什么才算真正的证明。开源框架是 xAI 给出的答案,但它是否足够,取决于你自己的风险承受度。
开发者现在该做什么
如果你用过 Grok Build(7 月 13 日之前):
- 立即检查你在 Grok Build 中打开过的所有项目
- 轮换所有在 Git 跟踪文件中出现的凭证——.env、config 文件中的 API Key、数据库密码、云 Token
- 不只是当前版本的凭证,Git 历史中的旧凭证也要处理(git filter-branch 或 BFG Repo-Cleaner)
如果你正在选择 AI 编程工具:
- 不要只看模型能力和 benchmark,工具链的隐私设计同样重要
- 优先选择有明确权限边界和审计机制的工具
- 开源 ≠ 可信,但不开源 = 不可审计——两者都是判断维度
- 在任何 AI Agent 能接触到敏感凭证的项目中,先用 .gitignore 和环境变量隔离,再让 Agent 进入
如果你想试用开源后的 Grok Build:
- 自行编译,从源码构建,而非使用预编译二进制
- 在 config.toml 中配置本地推理端点
- 在不含敏感凭证的测试项目上先行验证
AI 编程工具正在从"谁的模型更强"转向"谁的工具链更密",但还有一个更底层的转向正在发生:从"能不能用"到"敢不敢信"。Grok Build 的事件是这条路上一个刺眼的里程碑——开源了,不代表你没被偷过。