ARTICLE · 1042655
你用的AI编程工具,正在后台偷偷打包你的全部代码
一个345MB的工作区,生成了313MB的加密包——你的代码、你的提交历史、你的密钥,全被一个你看不见的开关送上了云端。
2026年9月18日,技术博主赵乾坤发了一条视频,在开发者圈子里炸开了锅。
他在逆向分析中发现:智谱旗下AI编程工具ZCode,存在一个令人不安的秘密——
即便是手动关闭了所有"优化体验"选项,在断网环境下启动IDE,这款工具依然会在本地默默打包你的完整Git提交历史、缓存文件、未提交的代码、甚至密钥配置文件,生成一个高达313MB的加密数据包。
更关键的是——用户无法解密查看其中内容,不知道具体上传了什么,也不知道这些数据被用在了哪里。
这不是某个黑客工具的行为。
这是一款被超过30万开发者日常使用的AI编程助手。
01|事件还原:拆包之后发现了
什么
赵乾坤在分析中将ZCode的本地操作分为两个阶段,每个阶段都细思极恐。
第一阶段:静默打包
当你启动IDE的那一刻,ZCode就开始了它的工作:
在本地扫描整个工作区,不留死角
收集Git历史记录、.git目录、缓存文件、配置文件
生成一个加密压缩包,体积高达313MB
整个过程用户完全无感知,没有任何显式通知
第二阶段:尝试上传
更让人不安的是上传逻辑:
在断网环境下,工具会默默缓存这些加密包,等待时机
一旦网络恢复,加密数据就会被上传到智谱云端服务器
上传过程中没有任何进度提示,没有确认弹窗,甚至没有任何日志记录
赵乾坤在视频中展示了完整的逆向分析过程——从IDE启动时的网络抓包,到本地缓存目录的加密文件解密尝试,再到设置页面中所有开关的逐一验证。
他得出的结论是:没有开关能真正阻止数据采集。
这个结果让很多人脊背发凉。
毕竟,对于程序员来说,代码就是命根子。商业机密、未公开的产品逻辑、团队成员的协作痕迹、甚至嵌入代码中的密钥和配置——这些全部都在那个313MB的加密包里。
02|智谱的回应:道歉、归因和
承诺
事件曝光后,智谱官方在9月18日晚迅速做出回应,态度算得上诚恳。
核心回应要点:
① 承认问题
智谱没有回避,直接确认了ZCode确实存在在后台收集用户代码相关数据的行为,并对给用户带来的困扰和担忧表示道歉。
② 归因解释
官方将问题归因于"代码库索引功能"默认开启,称该功能是为了提供更好的代码补全和检索体验,收集的数据用于"优化模型性能"。
③ 整改承诺
承诺将ZCode相关代码库开源,接受社区审查
邀请第三方安全机构进行独立审计
调整数据采集策略,增加更明确的用户授权机制
④ 用户补偿
向受影响用户赠送额外使用额度
承诺提供数据删除渠道
智谱的回应速度值得肯定,但一些关键问题仍然悬而未决——道歉可以平息情绪,却回答不了所有疑问。
03|三个未解之问
智谱道歉了,但以下几个问题,光靠道歉回答不了:
第一问:为什么生成文档需要上传完整Git历史?
如果你使用ZCode的AI辅助编程功能,工具需要理解你的代码上下文,这本身没问题。
但问题在于:为什么连过去几个月的Git提交历史、已经删除的代码、团队成员的提交记录,也要一并打包上传?
这些历史数据与"当前代码补全"的关联度微乎其微,却包含了大量敏感信息:项目演进路径、人员变动时间线、甚至内部决策痕迹和未公开的产品规划。
换句话说,ZCode不仅拿走了你现在的代码,还拿走了你项目的"成长日记"。
第二问:"用完立即销毁"怎么验证?
智谱在回应中提到,上传的数据"仅用于模型优化,用完后会立即销毁"。
但问题在于:用户没有任何方式验证这个承诺是否被履行。
数据一旦离开你的电脑,进入第三方服务器,它的命运就完全不受你控制。即便是行业巨头,也发生过数据泄露事件。"我们相信你的承诺"不等于"我们能确认你做到了"。
一个更实际的问题是:即便是用于模型训练,这个过程会保留多久?训练完成后是否真的删除?有没有备份?有没有访问日志?这些用户都无从得知。
第三问:修复后的新版本到底改了什么?
智谱承诺开源审查,这是积极的一步。但开源的是"未来版本"还是"历史版本"?数据采集逻辑的具体改动细节是否会公开?
用户有权知道:之前上传的数据现在在哪?能不能删除?修复后的新版本到底在哪个环节停止了不该有的采集?
这些问题不回答清楚,信任就重建不起来。
04|横向对比:其他AI编程工具
怎么做的
这件事发生后,很多开发者开始关心一个问题:其他AI编程工具是不是也这样?
我们不妨横向对比一下市场上主流的几款产品:
| 工具 | 代码上传策略 | 用户可控性 | 透明度 |
|---|---|---|---|
| GitHub Copilot | 上传当前文件和上下文代码片段 | 可关闭代码建议功能 | 微软官方文档明确说明数据用途 |
| Cursor | 上传当前项目索引,不上传完整历史 | 提供详细隐私设置 | 官方博客定期更新隐私政策 |
| ZCode(智谱) | 上传完整Git历史、缓存、配置 | 关闭开关后仍上传 | 事件曝光前无明确告知 |
需要说明的是,没有哪款AI编程工具能做到"完全不上传任何数据"——这是由AI辅助编程的技术原理决定的:模型需要理解你的代码上下文,才能给出准确的建议。
但差别在于:上传什么、上传多少、用户是否知情、是否可控。
GitHub Copilot的策略是"上传必要的最小集合",Cursor的策略是"建立项目索引而非上传完整代码",而ZCode的问题在于"上传了远超必要范围的数据,且用户不知情、不可控"。
关键区别不是"上不上传",而是"上传了什么、有没有告诉用户、用户能不能拒绝"。
05|用户自保指南:5个必须检查的隐私设置
无论你使用哪款AI编程工具,以下5件事建议今天就做:
① 检查所有隐私相关开关
进入IDE设置,逐一检查与"数据收集""隐私""优化体验""云端同步"相关的所有选项。不要只看开关状态,还要看开关的描述文字——有些开关的文案很模糊,"优化体验"四个字背后可能是完整的数据采集。
② 使用网络监控工具
在Mac上可以用Little Snitch,在Windows上可以用GlassWire。设置好后启动IDE,观察它连接了哪些服务器、上传了什么数据、在什么时机上传。这是目前最直接有效的自查方式。
③ 隔离敏感项目
对于涉及商业机密、个人隐私或尚未开源的项目,建议使用完全离线的开发环境,或关闭所有AI辅助功能。宁可慢一点,也不要拿核心资产冒险。
④ 定期清理本地缓存
AI编程工具通常会在本地缓存大量数据。定期清理这些缓存目录,可以减少数据泄露的风险,也能发现工具是否在偷偷缓存了不该存的东西。
⑤ 关注官方隐私政策更新
每次工具更新后,留意隐私政策是否有变动。很多厂商会在更新说明中轻描淡写地带过隐私条款的修改——用户稍不留神就"被同意"了新的数据采集范围。
写在最后
这起事件给所有AI工具用户提了一个醒:便利和隐私之间,永远存在张力。
AI编程工具确实能大幅提升开发效率——代码补全、智能搜索、自动重构、bug修复建议,这些功能用过就回不去了。
但效率不能以牺牲知情权为代价。
用户需要知道:我的数据被拿走了多少、拿去干什么、我能不能拒绝。
这三个问题,不是技术问题,是底线问题。
智谱已经道歉并承诺整改,这是好的开始。但更重要的是,整个行业都需要建立更透明的数据使用规范——不是等到被拆包曝光才道歉,而是在设计产品时就让用户看得清清楚楚。
毕竟,没有人愿意在自己不知道的情况下,把全部家当打包送给别人。
数据来源:技术博主赵乾坤逆向分析视频、智谱官方声明、各工具官方隐私政策文档
免责声明:本文基于公开可获取的信息撰写,部分技术细节来源于社区讨论,如有出入请以官方说明为准