313MB加密文件背后:智谱ZCode为何让开发者后背发凉
9月18日,技术博主ferstar在排查本地硬盘占用空间时,发现了一个约313MB的加密文件。这个体积远超日常开发所需的临时缓存。清单显示它包含4.2万个文件,涵盖当前项目的代码、配置文件以及曾经下载过的大文件缓存。其中超过86.6%属于该项目从诞生以来的历史修改记录。
这不是普通的软件冗余。只要用户登录并打开智谱旗下的编程Agent工具ZCode,这套机制就会在后台静默运行。它在用户向AI发送请求前及任务结束后,自动将本地环境打包加密,绕过业务服务器直连至阿里云存储。即便关闭界面上的“优化体验”与“仓库快照索引”,也无法停止这一行为。手动删除该文件后,系统会自动重新生成待发包。
"优化体验"还是后台偷传?被绕过的安全过滤层
从逆向工程视角来看,ZCode暴露出的并非单纯的“误触”,而是一套意图模糊的数据采集流水线。
客户端先向智谱服务器索取上传凭证和一把加密公钥。随后,本地程序完成压缩与加密,利用直连通道将密文抛送到云端。关键在于私钥只保存在服务器一侧。这意味着,即便数据经过了传输加密,由于解密能力完全掌握在厂商手中,“传输安全”不能推导出“用户无法被查看内容”。
更棘手的是设计缺陷。ZCode的文件筛选逻辑是按顺序判定条件的,历史记录目录的放行优先级排在密钥过滤和体积限制之前。针对.pem等敏感密码文件的识别规则,以及单文件1MB的体积上限,对历史记录目录下的任何内容都不生效。这就导致了一个百兆体量的打包文件能毫无阻碍地离开本地设备,而那些曾被开发者删除但残留在版本库里的密码与凭证,也原样搭上了顺风车。
事件发酵当晚,智谱致歉称问题源于“代码库索引”功能默认开启,是为了支持历史版本回退,声称相关数据会在云端生成页面后“立即销毁”,并为用户重置了一次周额度。然而,官方解释与社区追问存在明显错位。
如果“代码库索引”仅为在本地建立检索系统,将其与“全量上传至云端”直接挂钩便缺乏必然性。根据Ferstar的分析,触发上传的时机之一是用户每次发送提问之前,这与生成Wiki说明文档并无关联。此外,智谱在9月16日的更新日志中留有“优化仓库快照上传内存占用”的记录,这在舆论爆发后已被删除。这表明“仓库快照上传”是一项被持续迭代的正常功能。
数据背后的诱惑:工程偷懒还是精准收割?
面对如此规模的单向数据传输,外界自然会问:智谱到底想要什么?
各大代码托管平台上公开的项目语料浩如烟海,收集已公开的私有代码边际价值极低。真正能让大语言模型实现能力跃迁的稀缺数据有三类:一是改动的因果链(如强化学习人类反馈RLHF黄金数据集);二是带有明确结果标注的使用轨迹(记录了输入指令、执行前后状态及用户是否撤销的全闭环);三是从未进入过公开语料的纯净真实项目。
ZCode上传包的构成与上述高价值数据高度吻合。但从实际采集的粗放形态来看,连几百兆的操作日志一起打包带走的做法,明显违背了精确数据挖掘的经济理性。更为合理的推断是,激进的产品决策与工程层面“复用通用打包逻辑”结合的结果。研发人员可能套用了一套通用的环境备份框架来实现“快照回退”需求,却忽视了数据安全边界的严格定义。
尽管主观恶意难以定性为蓄意窃取,但这种过度采集带来的现实危害不容小觑。在真实的职场环境中,点击同意按钮的是开发者个人,但承担泄露后果的是雇主与客户。
比漏洞更深层的是安全规则的失守
ZCode的事件并非孤例。今年7月,研究者cereblab发现xAI的Grok Build会将包含用户禁止读取的文件在内的整个项目打包上传至谷歌云,测试中上传代码体积超5GB;更早之前的3月,Anthropic的Claude Code因配置疏忽导致架构信息外泄,且被披露存在隐蔽的反滥用后门。
按主观故意程度排序,Claude Code是自认的有意为之,Grok Build未否认,而ZCode则包装成了“工程失误”。按数据采集范围看,三者层层加码;共同点是,所有这些隐患都依赖外部个体的偶然警觉被发现,没有任何一次来自企业内部质量控制或行业审计。
之所以形成这种局面,是因为现行的AI安全防护体系预设了“威胁来自外部”的理想假设。OWASP的风险清单、欧盟《人工智能法案》的高风险义务,核心防线都在阻挡恶意指令劫持。但这些严密防守的规则站不在这个盲区之外——它们不会把“厂商自身在后台悄悄打包数据”列为审计项。
开源被视为解决黑盒问题的良方。但这存在天然边界:只能证明客户端没有内置恶意脚本,无法验证服务端如何留存流转。普通开发者下载的永远是编译成品,除非厂商提供可复现流程,否则无从核实源码是否一致。
要在根本上扭转信任崩塌,需推行透明化声明(列出连接地址及传输类别)、保留本地可读的外传台账,以及引入责任保险机制。目前大型企业在采购时已开始要求加入审计条款。
这些方案推动起来最难的是动力结构。ZCode场景中最大的矛盾是:点下同意的是个人,承担商业机密损失的却是公司实体。后者从未出现在知情流程中。
当AI Agent时代来临,我们赋予机器的不仅是效率,还有对黑盒系统的绝对服从。ZCode这313MB的加密包或许只是开始。如果不能建立起超越自我审查的外部审计机制,下一次后背发凉的,可能就不止是程序员了。


