注意,智谱 ZCode 会静默打包上传整个项目,已经实锤。
这事是 9 月 18 号爆出来的。
开发者 ferstar 逆向了智谱的 ZCode,发现只要账号在登录状态,客户端后台就静默把当前工作区整个打包, .git 全部历史、LFS 大文件缓存、reflog,一个不落,加密后直传阿里云 OSS。关键是加密用的公钥是服务端下发的,私钥只在云端,也就是说这份数据本地谁都打不开,只有服务器能看。设置里的两个开关,一个管训练,一个管云端索引,都关不掉打包上传这件事本身。
后面还有开发者按他的路子复现了一遍,结论一样:不是"会传",是"已经传了"。
当天下午智谱在官方群里发了致歉说明,承认问题出在默认开启的"代码库索引"功能,Repo Wiki 生成页面时会触发仓库数据上传,说云端用完立即销毁、不保存,问题已修复,还承诺近期开源 ZCode 代码库、引入第三方审查,给全体用户重置一次周额度。这个处理姿态,放在国内厂商里算快的。
但我有个疑问一直没解开。官方的说法是"Wiki 生成时可能触发上传",ferstar 测出来的是"登录即上传"。这两个说法差的不是一星半点,一个是条件触发,一个是常驻行为,目前智谱没有逐项回应上传范围和 Git 历史的去向。"用完立即销毁"也只是官方自己说的,没人第三方验证过。
工具想要完成任务,读我们的代码无可厚非,这是我用它的前提。但读取和搬运是两回事,默默把包括删除记录、未推送提交在内的完整历史打包传走,性质就变了。这不是功能 bug,是边界感的问题。