逆向分析指 ZCode 登录后静默打包 Git 历史并加密上传至 Aliyun OSS
2026-09-18
开发者 ferstar 逆向 Z.ai 的 AI 编程桌面应用 ZCode,发现其登录后会静默把整个工作区打包(含完整 .git 历史、LFS 缓存、reflogs 和全局配置)加密上传至 Aliyun OSS,实测一次快照为 42,411 个文件、313MB,且 .git 目录占载荷的 86.6%。
开发者 ferstar 逆向 Z.ai 的 AI 编程桌面应用 ZCode,发现其登录后会静默把整个工作区打包加密上传至 Aliyun OSS,载荷包含完整 .git 历史、LFS 缓存、reflogs 与全局配置;实测一次快照为 42,411 个文件、313MB,其中 .git 目录占 86.6%。原文还梳理了取证细节、设置开关失效的原因,以及可落地的文件系统防护方法。
- 开发者 ferstar 逆向 Z.ai 的 AI 编程桌面应用 ZCode,发现其登录后会静默把整个工作区打包加密上传至 Aliyun OSS,载荷包含完整 .git 历史、LFS 缓存、reflogs 与全局配置;实测一次快照为 42,411 个文件、313MB,其中 .git 目录占 86.6%。原文还梳理了取证细节、设置开关失效的原因,以及可落地的文件系统防护方法。
- 原贴提到:开发者 ferstar 逆向 Z.ai 的 AI 编程桌面应用 ZCode,发现其登录后会静默把整个工作区打包(含完整 .git 历史、LFS
- 来源:tokenstead.ai
这是什么信号
一条来自逆向取证的技术信号:AI 编程桌面应用 ZCode 在用户登录后,会把整个工作区打包并加密上传到 Aliyun OSS。被打包的内容不止是当前源码,还包括完整 .git 历史、LFS 缓存、reflogs 和全局配置。实测一次快照为 42,411 个文件、313MB,其中 .git 目录占载荷的 86.6%。
值得注意的是 .git 占比这个数字:它说明上传的主要资产不是「你正在写的代码」,而是「你写代码的全过程」——历史提交、分支、回滚记录、作者信息、甚至曾经提交过又删掉的敏感串。这类数据一旦离开本地,价值远高于当前工作树。
为什么重要
AI 编程工具已经成了很多团队接触生产代码的主入口,它天然拥有对工作区的读权限。问题不在于「是否上传」,而在于「上传了什么、什么时候传、用户能不能关」。原文提到设置开关失效的问题,这比上传本身更严重:如果界面提供了开关却不起作用,用户基于该开关做出的信任判断就是被误导的。
对个人开发者,风险是私有仓库历史、密钥残留、内部配置外流;对企业,则是代码资产与合规边界的双重问题——很多公司对源码出境、第三方存储有明确要求,静默上传会直接踩线。
对谁有价值
- 正在使用或评估 AI 编程桌面客户端的个人开发者,尤其是手上有私有仓库的人。
- 负责研发工具选型与代码安全的企业技术管理者、安全团队。
- 做 Agent / IDE 插件的开发者,可以对照检查自己的运行时行为边界。
可以怎么行动
- 先验证再结论:用文件系统层的监控手段(如网络抓包、进程文件访问审计)观察自己使用的 agent 运行时在登录、打开项目、空闲时分别做了什么。
- 不要只信设置里的开关:原文指出开关可能失效,判断依据应是实际流量与文件访问行为。
- 做隔离:在容器、独立用户或独立机器上运行这类工具,敏感仓库用只读副本或裁剪历史后的镜像打开,避免 .git 全量暴露。
- 用文件系统防护兜底:限制工具对 .git、LFS 缓存、全局配置目录的读取,或对这些路径做访问告警。
- 对团队:把「AI 编程客户端对工作区的读写范围」写进工具准入清单,而不是靠个人自觉。
风险与限制
这是一次针对特定版本、特定客户端的逆向观察,不能直接推定为所有 AI 编程工具的普遍行为,也不能推定上传方的用途。加密上传的具体内容是否可被服务端解密、保留多久、是否用于训练,原文提供的信息不足以下结论。此外,取证结论依赖被测版本,厂商可能随时修改行为,任何判断都应以自己实测的当前版本为准。
这条内容的真正价值,不只是“有人发布了一个新功能”,而是它揭示了 tokenstead.ai 背后的产品方向、工作流变化或竞争信号。对 OPC 来说,这种信息可以转化成持续追踪的栏目选题。
如果把《逆向分析指 ZCode 登录后静默打包 Git 历史并加密上传至 Aliyun OSS》放到你的内容系统里,它最大的价值在于帮助读者更快看懂“为什么值得关注”,而不是只看到一条碎片化动态。