智谱 ZCode 静默上传 Git 历史:48 小时信任危机复盘

ferstar 清理磁盘的时候,大概没想过自己会扒出智谱的一桩丑事。他在 ~/.zcode 的隐藏目录里发现一份 313MB 的加密包,怎么也打不开。顺手看了眼旁边的状态文件:本地一个商业项目,排除依赖后 345MB 的内容被打成了全量快照,因为网络问题连续上传失败 564 次,一直卡在本地重试队列里。

这事儿后来的走向,比一份加密包本身难看得多。

一、一条静默上传链路

ferstar 把客户端安装包拆了,一条上传链路露了出来(top10.dev 对他拆包文章的解读)。登录加打开项目就触发,跟你是否用某个功能无关:

  • 打包范围不是当前代码,而是整个工作区,一共 42411 个文件,其中 .git 版本历史、LFS 大文件缓存、本地提交记录占了 86.6%(LFS 缓存 56.8%、提交历史对象库 29.6%)。那些你早年误提交又删掉的密钥、配置,全在里面。
  • 更离谱的是快照不读 .gitignore。你刻意排除在版本控制之外的文件------往往正是密钥和本地配置------照样被扫走,连 .git/config 里的明文 token 一起。
  • 加密用的是本地对称密钥,再用服务端下发的 RSA 公钥包一层;私钥只在云端,你自己打不开这份包
  • 包不走智谱自己的业务服务器,直传阿里云 OSS,由云存储回调登记。
  • 关不掉。界面上"体验优化"只管数据拿不拿去训练,"仓库快照索引"只管云端建不建索引,两个都拦不住打包上传。本地加密包删了,半小时后软件又默默生成一份。硬办法只有去 OS 层锁住 checkpoints 目录的写入权限。

社区里有人晒出火绒的流量监控,后台静默上传了 43GB(网易报道)。一条原话很到位:"整个打包还拿非对称加密往外送,这跟木马有什么区别?"

二、智谱怎么说

9 月 18 号 17 点 44 分,智谱在用户群里发了情况说明并致歉(凤凰网 / 新浪 / 网易 / PANews 英文 / 21 财经)。

他们的说法是:问题出在"代码库索引"功能,本来是本地生成仓库索引,支撑会话检查点恢复、历史版本回退和 Repo Wiki。只有 Repo Wiki 在云端生成知识库页面时才会触发上传,页面生成完,数据立即销毁、不保存。这个功能上线初期默认开启,所以影响了部分用户,现在修好了。

整改承诺列了四条:

承诺 进度 出处
修复上传逻辑 已确认(3.14.0 上传代码移除、接口 404) 网易复盘
全体用户补发一次周额度重置 9/18 已发 官方说明
开源 ZCode 代码库 还没落地 新浪财经
第三方安全审查并公开进展 还没落地 凤凰网

存量数据到底删没删,目前外人没法独立验证。

免费的才是最贵的。 智谱平时总在周末免费送 token,今天这事儿一出,我突然醒悟过来:免费的,才是最贵的。

三、全网怎么炸的

  • 技术社区一边倒。 V2EX 主帖刷到 63.8K 浏览(LavX 引用),原话:"这不是编码工具,是带代码补全功能的数据外泄工具。" Hacker News 上两条拆解分别 217、278 赞,共识是"这不是 bug,是故意的默认行为,而且传的是 Git 历史不是代码,质的越界"(top10.dev)。国内 网易长文潮新闻香港商报法律视角 也都跟了。
  • 替它说话的也有,但有限度。 微博上的归纳是:有人觉得这是设计疏漏不是恶意窃取,道歉快、当天修、承诺开源审计,算积极(观点一 / 观点二)。支持者夸它长任务、多 Agent 协作强,一句话搭项目。但没人替"静默上传 Git 历史"本身背书------顶多是"动机可能不坏、态度还行"。
  • 放在行业里看,它不是孤例。 Cursor、Copilot、Cody、Continue 全都离机传代码,各自都经历过"你传了啥"的风波。top10.dev21 财经 都点了一句:ZCode 的区别在于它传的是 Git 历史(提交元数据、作者身份、分支名、.git/config),而且你第一个 prompt 还没回,它就传完了------这比"按需传上下文"暴露级别高一个档次。xAI 的 Grok Build 今年 7 月把整个项目传上谷歌云,连用户说"别读"的文件和没脱敏密钥也传;Anthropic 的 Claude Code 春天那次,打包疏漏把 51 万行核心源码映射文件泄到了公共包管理器,工信部 7 月还点名它有安全后门隐患。
  • 海外多一层不信任。 爱尔兰、欧盟的开发者,加上加密圈(ZCode 主打 16 美元/月、支持 GLM 自托管),真正的疙瘩是中国《国家情报法》要求企业配合情报请求。代码本地加密、权重开源都没用,运行时客户端你控制不了(背景见 Crew 的地缘分析)。

四、官方说法的几个窟窿

  1. 时间线对不上。9 月 16 号的更新日志白纸黑字写着"优化仓库快照上传的内存占用",事发后被删了------你很难给一个"意外行为"专门做内存优化(21 财经)。
  2. 触发条件对不上。ferstar 的记录里,上传在每次提问之前就发生了,跟"只有生成 Repo Wiki 才触发"不符。
  3. "立即销毁"没法验证。外人只能看客户端发不发数据,进不了服务器确认删没删、备份有没有副本、私钥谁管。
  4. 修复效果存疑。承明科技说客户端 9/16 就更新到 3.12.3 了,可 9/18 凌晨还检测到上传(承明发函)。
  5. 数据出境没说清。客户端请求指向新加坡主体,签约的却是北京智谱华章------出没出境,官方没交代。

五、结尾

智谱响应不算慢:几小时道歉、当天修复、补额度、承诺开源加第三方审计,比单纯发公关稿有诚意。但代码毕竟离开过用户的电脑,"立即销毁"四个字外人验证不了;开源哪部分、审查能不能伸进服务端、承明那封函列的问题怎么接,还都欠着。

太原承明科技已经发了正式函件(链接),要求 10 月 10 号前书面答复删除、日志、私钥保管这一串问题,并保留索赔和诉讼的权利。这事不会停在"道歉加发额度"就结束。

真正值得记住的,是行业派把 ZCode 拉进的那条大背景:所有编码 Agent 都在传代码离机,区别只在传多少、知不知情。智谱这回因为把 Git 历史也一并打包、还关不掉、删了重生,成了目前最扎眼的一档。AI Agent 往系统底层走是大势,但沙盒隔离加最小数据暴露是底线------这条线,智谱踩穿了。


参考链接:

相关推荐
掘金码甲哥2 小时前
当对话模型遇上向量模型,vllm production stack 又该如何应对?
后端
传奇开心果编程2 小时前
【springboot基础语法学与练】第 1 课:从零开始
java·spring boot·后端·学习
IT_陈寒2 小时前
Java线程池用错参数,我的服务居然悄悄崩溃了
前端·人工智能·后端
光影少年3 小时前
Express 中间件原理
后端·node.js·express
aramae4 小时前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
徐小夕4 小时前
存量.doc 文档怎么办?JitWord 开源转换库打通旧文档到在线协同全链路
后端·架构·github
ee又momo5 小时前
一次 JWT Token 过期续期的踩坑记录
后端
二月龙5 小时前
App 瘦身实战:图片、so 库、资源压缩,安装包体积减小 40%
后端
大勇前进5 小时前
Kotlin 协程实战避坑:90% 的人都会踩的生命周期泄漏问题
后端