ARTICLE · 1051005
你电脑里的 AI 编程工具,正在偷走你的整个项目
你电脑里的 AI 编程工具,正在偷走你的整个项目
9 月 18 日早上,一位叫 ferstar 的开发者在技术群里推荐国产 AI 编程工具 ZCode。推荐完,他顺手清理自己那台只有 256GB 的 MacBook Air,发现用户目录下的 .zcode 文件夹占了 700 多 MB。

里面有一样东西不对劲:一个叫 v2/checkpoints 的目录,存着一份 313MB 的加密文件。
状态文件显示,这份文件是 ZCode 自己做的——它把他打开的一个商业项目整个打包,从 345MB 压缩成 313MB,用 AES 加密,然后尝试上传到云端。因为体积太大,上传连续失败了 564 次,包一直留在本地等重试。
ferstar 把客户端安装包拆开,还原了整条上传链路:客户端先向智谱服务器请求上传凭证,服务器下发云存储的签名、文件路径和一个 RSA 公钥;客户端在本地把项目压成 tar.gz,用 AES-256-CTR 加密,再用服务器给的公钥封装密钥,最后直接传到云存储。
注意最后一环:加密用的私钥只在服务器手里。用户守着一台上锁的电脑,自己打不开这把锁。
更值得看的,是包里的构成。ferstar 数了一份 42411 个文件的样本:.git 目录占 86.6%——Git 大文件缓存占 56.8%,对象库占 29.6%,还有完整的操作记录。正在写的源代码和文档,只占 13.4%。

换句话说,这份包裹里装的不是 AI 完成任务需要的代码片段,而是一个项目的全部过去:完整的提交历史、已经从当前版本删掉的配置和密钥、还没推送的本地分支、公司内部的域名和操作记录。
一位安全研究者后来确认,那份 313MB 的商业项目包因为太大,最终没传出去,数据没有离开局域网。但另一份只有 538 个文件的公开仓库快照,状态显示已经被服务端接收。其他 Windows 用户也复现了同样的目录结构和上传机制。
9 月 18 日下午,智谱在用户群发布说明并道歉,承认 ZCode 确实存在仓库数据上传。官方把原因归结为「代码库索引」功能:本地生成索引用于会话恢复和版本回退,其中生成项目知识库页面时会触发数据上传,页面生成后数据立即销毁、不会保存。功能上线初期默认开启,部分用户在没有充分感知的情况下被上传了数据。
当天 17 时 44 分,ZCode 官宣:问题已修复,代码库将开源,引入第三方评估审查。
ferstar 对照了修复后的 3.14.0 版本:上传组件不再随客户端启动,旧版的上传接口已经返回 404,相关代码被拆除。从客户端侧看,上传确实停了。
但他的质疑没有停。「用完即销毁」是企业自己的声明——外部研究者能检查客户端发了什么,却进不了服务器,没法验证文件什么时候被删、备份里还有没有副本、解密私钥由谁保管。
9 月 20 日,风波升级。太原一家名为承明科技的公司向 ZCode 运营方北京智谱华章发出正式函件,要求 10 月 10 日前书面答复,并保留了索赔、向监管部门投诉和起诉的权利。
这家公司自己做了取证,结论比个人开发者的发现更具体:8 月 28 日到 9 月 14 日期间,公司有 6 个以上工作区被 ZCode 上传云端,最大的一个达到 391.94MB。上传的不是「代码片段」,而是自动、批量触发的完整归档——项目源代码、系统架构、版本控制历史、数据库口令、云服务凭证、员工个人信息。
函件还追了两个此前没人正面回答的问题:上传的数据到底删没删干净?部分网络请求指向一家新加坡主体,而服务协议的签约方是北京公司——数据有没有出境?
据媒体查证,承明科技今年 4 月才成立,成立不满半年。一家初创公司的全部代码资产,可能在它成立后的每一个工作日里都被打包过。截至发稿,智谱未公开回应这封函件。
把话说清楚:代码库索引不是什么阴谋,它是 AI 编程工具的通行做法。模型上下文装不下几十万个文件,工具必须先给仓库建一张「地图」,再按需检索。
Cursor 建索引时同样会上传文件,切分成语法块生成向量,用哈希比较只同步变化的部分;它的官方文档也承认服务器会保存代码块索引和加密后的路径。上个月,xAI 旗下的 Grok Build 被发现把用户代码库传到谷歌云,范围同样覆盖完整仓库和已删除文件,马斯克后来承诺删除数据。
所以真正的问题不是「上不上传」,而是三件经常被混为一谈的事:
「是否用于训练」「是否经过服务器」「是否长期保存」是三回事。关闭训练授权,不等于代码不会被发送;数据加了密,也不等于服务方读不了;声明「临时使用」,不等于你能验证它销毁了。
ZCode 的问题恰恰出在落差上。如果只是为了恢复 Agent 改过的文件,记录文件差异就够了,没必要把整个 Git 历史一起打包;如果是为了生成项目知识库,也很难解释为什么需要大文件缓存、历史提交里删掉的密钥、未推送分支的操作记录。收集范围和功能目的对不上——这一条,Cursor 们倒是守得住。

安全圈有个说法,值得每个用 AI 编程工具的人记住:你信任的从来不是模型,是包裹在模型外面那一整套软件——赋予权限、调度工具、处理数据的 Harness,以及它背后连着的插件、日志、云存储。模型不会说谎,但 Harness 会做模型不知道的事。这次,ZCode 的打包上传就是模型任务之外的动作——用户只让 AI 改代码,没让它备份整个仓库。
这事的杀伤力要放在智谱的处境里看。它是今年年初登陆港交所的「大模型第一股」,市值一度破万亿港元,一周前刚宣布完成约 50 亿美元融资。2026 年中报里,它上半年 9.54 亿元收入中,86.5% 来自开放平台和 API 服务——客户几乎全是企业和开发者,恰恰是对数据安全最敏感的一群人。
事故发生后,智谱 9 月 20 日宣布 MaaS 平台将推出「数据内容不留存」功能,被称为国内大模型服务领域约束标准最高的隐私保护机制。被事故推着往前走的隐私标准,也算一种进步,只是代价由用户的信任垫付。
对普通开发者,这事留下的操作清单其实很短:检查一下你正在用的 AI 编程工具有没有开索引或云端功能,能关的先关;企业用户把 AI 工具纳入数据安全评估,别默认它干净;等重要承诺落地时,记得问一句——怎么验证?
BUG 可以修,上传链路可以拆。但一个 AI 编程工具让用户敢把公司代码交给它的前提,从头到尾只有一条:它做的每件事,都在用户知情并同意的范围内。
InfoQ:《比 Grok、Cursor 都狠?智谱 ZCode「偷传代码」风波升级,企业发函追责》(2026-09-21) 定焦 One:《智谱 AI 编程工具 ZCode 被指后台打包上传用户代码,引发信任危机》(虎嗅,2026-09-21) IT 之家:《被质疑「偷传代码」后智谱 ZCode 官宣开源:已完成整改并向所有用户道歉》(2026-09-20) Ars Technica:Microsoft exec called AI scraping the largest theft of labor in human history(2026-09)