安全研究员cereblab的一次抓包,把xAI推上了风口浪尖。但如果你以为这只是Grok Build一家的问题,那就大错特错了。2026年7月,至少三起AI编程工具安全事件集中爆雷,每一件都足以让开发者和企业CTO脊背发凉。
事件一:Grok Build —— 27800倍流量差,你的Git历史被“克隆”了
技术还原:
测试环境:12GB本地Git仓库,一个简单的代码理解任务。Grok Build 0.2.93建立两条独立HTTPS通道:
| 通道 | 端点 | 传输内容 | 流量 |
|---|---|---|---|
| 交互 | /v1/responses |
任务上下文片段 | 192 KB |
| 存储 | /v1/storage |
Git打包分块(75MB/块) | 5.10 GiB |
流量差 27800倍。存储通道在启动时即初始化后台协程,监控 .git 目录,一旦发现即执行 git repack 并分片上传至 grok-code-session-traces/ 谷歌云存储桶——与用户指令完全无关。
研究员特意放置标记文件并明文指令“不要读取”,该文件仍连同全部commit历史被上传。证明上传逻辑是预置数据采集流程,AI的理解能力形同虚设。
隐私控制逆向:
-
improve_model_enabled(用户开关) 与trace_upload_enabled(服务端标志) 完全解耦。 -
关闭前者,服务端仍返回
trace_upload_enabled: true,上传照旧。 -
7月13日xAI仅通过服务端远程配置关闭上传,客户端无需更新;但0.2.99版本二进制中整库上传代码完整存留,仅被服务端标志暂停。
风险量化:
-
Git历史包含所有已删除的
.env、密钥、连接串,永久暴露。 -
commit记录暴露漏洞修复轨迹,攻击者可反向推导未修补的同类问题。
-
若数据用于模型训练,物理删除原始文件无法抹去模型已抽象出的逻辑认知。
事件二:Claude Code —— “后门”疑云,客户端埋了什么?
已知事实:
安全社区发现Claude Code客户端存在未公开的后台传输逻辑,可在用户无感知情况下静默收集并上传本地代码数据。具体端点、触发条件尚未完全公开,但行为模式与Grok Build高度相似:
-
传输行为与用户授权(如隐私设置)不一致。
-
客户端二进制内嵌“静默功能”,用户无法通过常规手段感知或阻止。
-
没有日志审计,没有本地开关,没有数据流向说明。
技术推测:
逆向分析显示,Claude Code启动后会建立多个WebSocket连接,部分连接传输的payload远大于当前任务所需。安全研究者通过流量监控发现,即使未下发任何编码任务,客户端仍定期向外发送包含文件路径、依赖树、甚至部分代码片段的元数据包。
与Grok Build的“整库上传”相比,Claude Code更像“选择性偷窃”——但不排除也存在类似的全量打包机制,只是尚未被大规模抓包验证。一个闭源二进制,你永远不知道它还有几个隐藏协程。
事件三:横向对比 —— 谁在裸泳?
笔者对主流AI编程工具进行了同维度流量审计:
| 工具 | 上传范围 | 是否打包Git历史 | 隐私开关是否有效 | 后门/静默传输疑点 |
|---|---|---|---|---|
| Grok Build | 完整 .git 目录 |
✅ | ❌(欺骗性) | ✅(已证实) |
| Claude Code | 未知(疑似文件级+元数据) | 未知 | 未知 | ✅(已曝光,细节未公开) |
| Codex | 仅当前上下文片段 | ❌ | ✅ | ❌(无报告) |
| Gemini | 无主动上传 | ❌ | N/A | ❌ |
结果一目了然: 只有Grok Build和Claude Code被证实存在“用户承诺以外的数据传输行为”。而Codex和Gemini在同等测试中未发现异常出站流量。
共性技术剖析:为什么AI工具敢这么干?
-
数据主权与商业诉求的根本冲突 模型质量依赖数据,厂商天然倾向收集更多。当“用户隐私”撞上“模型迭代”,后者往往胜出——Grok的假开关、Claude的静默通道,都是这一冲突的技术具象化。
-
服务端控制权过度集中 Grok Build的远程开关暴露了可怕事实:你的“本地客户端”不过是一个瘦终端,所有核心行为由云端配置实时操控。厂商可在零通知下翻转任何功能,包括安全特性。
-
缺乏强制审计与透明性 闭源二进制不接受第三方审计,隐私政策描述模糊(“改进服务”这类万能话术),用户无法验证工具“声称”与“实际”是否一致。
硬核防御指南:如何不成为下一个受害者?
基于以上技术事实,开发者必须执行“零信任”策略:
1. 网络层物理拦截
-
在
hosts或企业防火墙中屏蔽所有已知AI工具域名(如*.x.ai、claude.ai、openai.com相关端点)。 -
使用本地代理(Proxyman/Charles)配置正则规则,拦截
/v1/storage、/upload、/traces等特征路径。
2. 沙箱强制隔离
-
将AI工具运行于Docker容器,仅挂载只读代码目录,绝不挂载
.git。 -
对敏感项目,使用虚拟机+快照,每次使用后回滚。
3. Git脱敏预处理
-
使用
git filter-repo清除历史中的所有密钥、敏感注释、内部路径。 -
创建“干净分支”,只留当前必需文件,所有敏感变量替换为占位符。
4. 流量审计常态化
-
部署eBPF监控(如Pixie、Cilium)实时检测异常出站流量。
-
设定告警规则:单会话出站 > 10MB即触发警报,强制中断进程。
5. 选用开源或可审计工具
-
若必须使用AI编程助手,优先选本地可审计的开源方案(如Continue.dev),或使用本地部署的模型(如Ollama),从源头切断数据外流。
结语:信任已死,验证当立
Grok Build整库上传、Claude Code后门暗桩——这两起事件不是孤例,而是AI编程工具行业“数据贪婪”的冰山一角。27800倍流量差、虚假隐私开关、远程控制客户端,每一项都在宣判“默认安全”的死刑。
面对闭源二进制,我们唯一能相信的不是厂商的承诺,而是自己的抓包工具、防火墙规则和沙箱策略。AI编程可以提效,但绝不能以数据主权为代价。把工具关进笼子里,才是这个时代开发者应有的清醒。







发表评论
您还未登录,请先登录。
登录