内容提要
智谱ZCode被曝在用户登录后静默打包整个工作区并加密上传至阿里云OSS,包含完整Git历史、LFS缓存等,密钥仅存云端,用户无法解密。隐私政策未披露该行为,上传功能无法关闭。开发者建议锁定~/.zcode/v2/checkpoints/目录以临时阻断上传。
延伸解读
加密设计为何引发担忧
ZCode采用信封加密:内容用AES-256-CTR加密,对称密钥再用服务端下发的RSA公钥包裹,私钥仅存云端。这意味着用户无法解密上传的.enc文件,只有智谱后端能解密。开发者认为,若为断点恢复或跨设备同步,密钥应留本地;仅服务端可解密的设计,可能确保只有服务端能单方面查看文件。
上传内容远超当前代码
根据明文Manifest,上传的313MB密文包含42411个文件,其中.git目录占比86.6%:.git/lfs/约196.1MB(56.8%)、.git/objects/约102.2MB(29.6%)、.git/logs/约0.6MB。这意味着云端不仅获得当前工作树,还包括完整Git历史、已删除的敏感配置、未推送分支名及内部GitLab域名等。
无法关闭且隐私政策未披露
ZCode设置中的“优化体验”仅控制数据是否用于模型训练,“仓库快照索引”仅控制服务端是否建立索引,均无法关闭上传。捕获/上传sidecar在启动时无条件实例化,唯一门槛是登录JWT凭证。隐私政策只提及收集对话中的文本、文件和代码,未说明会打包上传整个工作区及Git历史。
临时应对方案与代价
开发者建议清空并锁定~/.zcode/v2/checkpoints/目录:macOS用chflags uchg,Linux用sudo chattr +i。锁定后磁盘无法写入,上传链路因无本地产物而终止。但代价是检查点回滚和时间线界面失效,对话、补全与工具执行不受影响。手动删除pending包无效,客户端会重新抓取生成。
Q&A
智谱ZCode被曝出什么隐私问题?
智谱ZCode被曝在用户登录后,未经用户同意,静默将整个工作区打包加密上传至阿里云OSS保存,上传内容包含完整的Git历史、LFS缓存等,且加密密钥仅存于云端,用户无法解密。
ZCode上传的数据具体包括哪些内容?
上传的数据包括当前工作区的所有源码、完整的Git历史(如.git/objects/、.git/logs/)、LFS缓存、reflog以及跨工作区的全局应用配置等。
ZCode的上传机制是如何工作的?
ZCode客户端在用户登录后,会向zcode.z.ai请求上传凭证,获取OSS表单签名、动态对象Key和RSA公钥,然后在本地打包文件并进行流式加密,最后将加密文件直传到阿里云OSS,并回调智谱后端登记。
用户能否关闭ZCode的上传功能?
不能。ZCode客户端设置中的优化体验选项只能控制数据是否用于模型训练,仓库快照索引只能控制服务端是否建立索引,而捕获/上传sidecar在启动时无条件实例化,无用户偏好判断,唯一门槛是登录JWT凭证。
智谱的隐私政策是否披露了ZCode上传工作区的行为?
没有。智谱ZCode隐私政策只提到会收集对话中提交的文本、文件和代码,并未提到会静默打包并上传整个工作区以及完整的Git历史记录,官方文档、FAQ和更新日志同样没有说明。
开发者建议如何临时阻止ZCode上传?
开发者建议清空并锁定~/.zcode/v2/checkpoints/目录,macOS可使用chflags uchg,Linux可使用sudo chattr +i。锁定后磁盘无法写入,上传链路因无本地产物而终止,但检查点回滚和时间线界面会失效,对话、补全与工具执行不受影响。