# ZCode 上传整个项目是怎么回事

- URL: https://davidyin.dev/video/bv1zset6beul/
- 作者: David Yin
- 发布: 2026-09-19T12:34:28+08:00 · 更新: 2026-09-29
- 时长: 11:16
- 平台: B 站 https://www.bilibili.com/video/BV1Zset6bEuL · YouTube https://www.youtube.com/watch?v=zsHebptSdZE · 抖音（搜索「davidyinai」） · 小红书（搜索「David的AI大实话」） · 视频号（搜索「不确定体验局」）
- 标签: ZCode、智谱、AI 编程工具、数据隐私、代码安全
- 摘要: 智谱 ZCode 被发现把整个项目文件夹打成加密包上传云端，包里 .git 历史占 86.6%，源码只占 13.4%；两个设置开关都关不掉，加密私钥只在服务端、用户自己解不开。这期把包里的清单、触发时机和官方回应摆清楚。

## 这期讲了什么

- 一位开发者清磁盘时发现隐藏目录吃了七百多兆，里面躺着一个 313 兆加密包：工作区 345 兆，「几乎全是核心资产」，旁边状态文件写明这是基线快照，失败计数 564 次
- 本地明文清单列出包里的 42411 个文件：大头不是代码是历史——.git 目录占 86.6%（大文件 196.1 兆、历史版本对象 102.2 兆），真正的源码和文档只有 46.2 兆、占 13.4%
- 触发点两个：每次提问前先抓一次，生成仓库百科时再抓一次；一个会话最多被抓 62 次。两个设置开关（优化体验、仓库快照索引）都关掉照跑，后台程序登录即常开、代码里没有一句检查设置的话；手动删包半小时内自动生成新的
- 包用户自己打不开：加密私钥只在服务端，钥匙在对方手里；.git 里还存着删掉的密钥密码、没推送的分支名（常带客户名）、提交者姓名邮箱；ZCode 配置文件里各家 AI 密钥明文存放（被传走的是哈希不是内容）；Windows 上另一用户复现，32 个工作区被抓、14 个很可能已上传
- 官方在用户群致歉，说问题源于「代码库索引功能上线初期默认开启、已修复」，云端生成后「立即销毁」；但与技术复盘三处对不上——触发时机、能不能关、销毁无法验证；隐私政策对整包上传一个字没提。更倾向开源工具的原因：能不能被检查、有没有提前告诉你

## 文字稿

### 清磁盘清出一个加密包

智谱的 ZCode 出事了。九月十八号，有人发现自己电脑里的项目文件，被 ZCode 悄悄打了个包，往云端传。ZCode 是智谱官方的 AI 编程工具。你装软件的时候，是不是也进过设置，把那个改善用户体验的开关关掉，然后觉得自己就安全了。我自己就是这么干的，关完那天还挺踏实。

发现这件事的是一位开发者，他本来只想清清磁盘，结果翻出一个三百多兆的加密包，就躺在自己硬盘上。他把这段经历写成了长文，原文、截图、文件清单全都公开挂着，我一条条对过。最怪的是，那个几百兆的加密包，为什么连他自己都打不开？

这十分钟，我把这件事给你拆干净：这个包里到底装了什么，它是怎么在你眼皮底下传出去的，官方又是怎么回应的，一件一件摆给你看。最后说说，为什么我自己更倾向用开源的 AI 编程工具。

先交代下，AI 编程工具就是给程序员配的 AI 助手，装在电脑上帮人写代码。出事的是一位开发者，他电脑上的项目不小，总共十个 G，去掉自动生成的部分，剩下的三百四十五兆，用他的原话，几乎全是核心资产。

他清磁盘的时候发现，ZCode 在自己电脑里占的地方不对劲，一个隐藏目录吃了七百多兆。往深处翻，翻出一个三百一十三兆的加密文件，旁边一份状态文件写得明白：这是一份基线快照，工作区三百四十五兆，加密后三百一十三兆。工作区就是他在 ZCode 里打开的那个项目文件夹。快照你可以理解成把整个项目文件夹压成一个包。

状态文件里还有一行小字，失败计数五百六十四次。这个数你先记住，它只代表最近一次重试没传上去，不等于一次都没传成。

真正让人坐不住的是另一份文件，一份明文清单，就存在本地，谁都能打开看。清单上列了四万两千四百一十一个文件，这就是那个包里装的东西。你猜大头是什么？不是代码，点 git 目录占了百分之八十六点六。

点 git 是什么？你写 Word 文档有个修订历史，能看到每一版改了什么。程序员的项目里也有一个，叫点 git。它存的不是今天这份文件，是从第一天到今天，每一版、每一次改动、谁改的，全在里头。平时你看不见它，它就躲在项目文件夹里。

清单拆开看更清楚：点 git 里的大文件存了一百九十六点一兆，历史版本对象一百零二点二兆；真正的源码和文档，只有四十六点二兆，百分之十三点四。看明白了吧，这个包里的大头不是代码，是历史。

那 ZCode 什么时候打这个包？博主把客户端拆开，还原出里面的代码，触发点有两个：一个是每次你向它提问之前，先抓一次；另一个是生成仓库百科的时候再抓，仓库百科就是给你的项目自动写一份说明书。日志里数过，一个会话最多被抓了六十二次。

博主想弄明白包里到底装了什么，就去解这个包，结果解不开。他把自己手上能试的办法全试了一遍，全失败。一个躺在你自己硬盘上的文件，你自己打不开，做它的 ZCode 也打不开。他当时也不知道为什么。

### 为什么关不掉，为什么他自己打不开

先看开关。ZCode 里有两个相关开关，一个叫优化体验，一个叫仓库快照索引。博主两个都关了，打包照跑。拆开代码才看明白，一个只管要不要拿数据训练模型，另一个只管服务端拿到包后建不建索引，索引就是给内容编的目录。本地打包上传这一步，两个开关一个都管不着。

更底下还有一层。负责打包上传的后台程序，跟着 ZCode 启动就无条件干活，代码里没有一句检查你设置的话，唯一门槛是登录状态。说人话，只要你登录了账号，这套上传流程就是常开的，想关都没地方关。

还没完。博主嫌膈应，手动把那个等着上传的包删了。半小时不到，一个新的三百一十三兆的包又回来了，失败计数从五百六十四蹦到五百六十五。再说一次，这个失败计数只代表最近一次没传上去，不等于之前没传成过。

那为什么他自己打不开？答案藏在加密方式里。这个包在你电脑上上了一把锁，锁本身没问题，问题在钥匙。博主把自己电脑上的钥匙全试了一遍，没有一把打得开。还原出代码才看明白，锁是服务端配的，私钥从头到尾只在云端，只有服务端能解开。

你品一下这个设计，真要是给你做的备份，钥匙应该在你手里。一把只有对方能开的锁，博主的原话是，这摆明了不是备份，更像采集。这是他的判断，不是定论，但能解开这个包的只有智谱服务端，这是事实。

有人会说，AI 编程工具不都要看代码吗，至于吗。至于。你平时用 AI 写代码，是你挑一段贴给它，发多少你说了算。这回是整个工作区四万多个文件打成一个包，大头还是历史，后台自动抓，没有弹窗，关都关不掉。

那别家怎么干的？四家的官方条款都挂在公开页面上，谁都能查。Claude Code 写明，个人版开了那个开关才拿数据训练，商业版默认不训练。Copilot 写明，今年四月二十四号起，个人版默认可以拿去训练，你能在设置里退出，企业版不训练。OpenAI 写明，消费版默认可能训练，可以退出，走接口调用的默认不训练。Cursor 那条最对得上今天这个题，它写明搜索索引在你本机建，不上传你的代码。

这四家不一定更干净，但传什么、存多久、能不能关，白纸黑字写在公开条款里。ZCode 的问题不在上传本身，在默认开着，在关不掉，在没提前告诉你，在钥匙只在厂商手里。

### 点 git 里还藏着什么

你可能想问，不就是个项目文件夹吗，至于紧张。点 git 里存着工作区看不到的东西：提交过又删掉的密钥密码，全文都在；没推送过的分支名，常有客户名；每个提交者的姓名和邮箱。

还有一件事得说准。ZCode 自己的配置文件里，存着你填进去的各家 AI 服务密钥，明文放着，就在同一个目录底下。快照会把全局配置算成一串哈希搭车传走，哈希不等于文件内容，所以别听成密钥被传上去了。真正该在意的是，你最敏感的那几串东西，就堆在这个反复被打包的目录旁边。

这事也不是孤例。Windows 上另一位用户独立复现了，三十二个工作区被抓过快照，最大的包一百零七兆，十四个工作区没有失败记录，很可能已经传上去了。而官方八月刚宣布，ZCode 用户破了百万。

### 官方怎么回应，为什么我推荐开源工具

事发当天下午，ZCode 用户反馈群里，官方账号发了致歉。原话是，今日社区中的相关讨论我们高度重视，第一时间完成自查，先向受影响的用户道歉。问题源于代码库索引功能，上线初期默认开启，目前已经修复。

官方还说，Repo Wiki，就是前面说的仓库百科，生成页面时可能触发仓库数据上传，页面在云端生成后，相关上传数据会立即销毁，不会保存。同时承诺近期开源代码库，邀请第三方审查，再发一次周额度重置。注意，这段话发在微信群，官网和隐私政策页都没有同等内容。

官方的说法，和技术分析有三处对不上。官方说生成 Wiki 时才可能触发，技术分析说每次提问前都会抓。官方说这是上线初期默认开启的功能，技术分析说那两个开关根本关不掉它。官方说云端立即销毁，可钥匙只在服务端，销毁没销毁，用户手里没有任何办法验证。两边对不上，我没法说谁撒谎。

还有两份公开文件。更新日志在曝光前一天刚发过新版本，修复清单里没有一条跟快照上传有关。隐私政策六月那版只写了收集你对话里提交的文本、文件和代码，整个工作区连同历史打包上传，一个字没提。

说到这，讲讲我为什么更倾向开源的 AI 编程工具。先声明，开源不等于安全，开源工具一样能读你的文件、拿你的凭据。差别在两件事：能不能被检查，有没有提前告诉你。

DeepSeek 官方有个开源项目叫 DeepSeek Harness，二十二万九千多颗星。它的中文安全声明挂在仓库里，我念两句原文：它尚未接受安全审计，不得视为安全或可用于生产环境的软件；除非你接受相关风险，否则不要向其暴露敏感凭据或数据。可能泄露数据这种话，人家印在自己门口。

还有一个叫 Pi 的开源编程助手，十万七千多颗星，MIT 协议，就是谁都能免费用、随便改。它的首页写明，Pi 不带内置权限限制，默认用启动它的账号的权限跑。安全声明更直接：Pi 故意不做沙箱，看管它是用户自己的责任。沙箱你可以理解成一个隔离的笼子。

开源的厂商也要做生意，也会动收集数据的念头，区别在于动作发生在明处。音频软件 Audacity 当年想加数据收集，代码还挂在公开仓库里没合并，就被一千多条评论当场拦停，最后彻底放弃。反过来，字节的 Trae 是闭源的，去年有人逆向才发现，把数据收集的选项关掉，它照样在往外传，团队后来也做了补救。可你想想，这件事得等到有人愿意花力气去拆它，才查得出来。ZCode 这次也一样。

所以我的建议很具体，今天就能做：去翻一下你在用的那个 AI 工具的隐私政策，只看一件事，有没有写清楚会把什么传出去。

## 常见问题

### ZCode 上传的是什么东西？

上传的是整个工作区的加密快照：一位开发者的项目工作区 345 兆，加密后 313 兆，明文清单列出 42411 个文件。大头不是代码而是 .git 历史，占 86.6%——包括每一版改动、提交者姓名邮箱、删掉的密钥密码、没推送过的分支名；真正的源码和文档只占 13.4%。

### ZCode 的设置开关能关掉上传吗？

不能。两个相关开关一个只管要不要拿数据训练模型，另一个只管服务端拿到包后建不建索引，本地打包上传这一步两个都管不着。负责上传的后台程序登录即常开，代码里没有一句检查设置的话；手动删掉包，半小时内会自动生成新的。

### ZCode 官方是怎么回应的？

事发当天下午在用户反馈群致歉，称问题源于代码库索引功能、上线初期默认开启、目前已经修复；还说 Repo Wiki 生成时可能触发上传、云端生成后立即销毁，并承诺开源代码库、邀请第三方审查。但技术复盘有三处对不上：触发时机、能不能关、销毁是否可验证。这段话只发在微信群，官网和隐私政策页没有同等内容。

### .git 目录里的历史有什么风险？

.git 存的是从第一天到今天的每一版改动和提交记录：提交过又删掉的密钥密码全文都在，没推送过的分支名常带客户名，还有每个提交者的姓名和邮箱。也就是说，包里装的不只是你现在的代码，还有你以为已经不存在的历史。

> 视频不在本站托管，正片见上方平台链接；本页是目录与注解。
