ZCode 偷偷把整个 Git 历史传上了阿里云

最近一条关于 Z.ai 出品 GLM 编程助手 ZCode 的安全发现,值得每个把它塞进 IDE 的人停下来看一眼。
简单说:ZCode 在你不知情的情况下,把本地工作区完整上传到阿里云 OSS。完整到什么程度?.git 目录里的历史、reflog、LFS 缓存,全部一起打包带走。UI 上的那些开关——什么"上传代码用于改进模型"之类的复选框——根本不起作用,勾不勾都照传不误。
为什么这件事比一般的"会上传代码"更刺眼:
- 上传的不是代码,是你的整个开发脉络。
.git目录里有完整提交历史、分支、tag、reflog,这意味着任何曾经出现在工作区的本地 commit——包括你后来git reset --hard删掉的、git filter-branch想抹掉的、或者只在 feature 分支上跑过没合并的——都一并外发。对于处理过密钥、临时凭据、个人实验代码的仓库来说,这是个定时炸弹。 - LFS 缓存和 reflog 是隐藏资产。 很多人知道
.env要加进.gitignore,但很少有人意识到 LFS 本地缓存里存着大文件原始副本,reflog 里挂着过去几周所有的 HEAD 移动记录。这些数据一旦离开本机,事后"删 commit"就完全无意义了。 - UI 控制失效是更严重的问题。 如果一个工具明着说"我们会用你的数据训练",用户至少有知情权;但 UI 上的关闭按钮被无视,等同于把"知情同意"四个字直接撕掉。这种行为模式比单纯的数据收集危险得多——它意味着你无法通过配置来定义边界,只能选择用或者不用。
我的判断是:这件事的教训不在 ZCode 本身,而在于 "AI 编程助手"这个品类普遍处于一个灰色地带。它们本质上是 IDE 插件,权限深度远超普通 SaaS——能读你的文件系统、能执行命令、能接入 Git。但用户协议和隐私设计还停留在 ChatGPT 时代的网页表单水平。ZCode 这次被扒出来,可能只是冰山一角。
如果已经在用 ZCode 或者类似工具,最务实的做法是先翻一下本地 .git 里有没有遗留的密钥和敏感信息,再决定要不要继续信任它。指望厂商自觉,不如指望自己手里有一份干净的副本。
来源:Hacker News