ZCode 被曝登录后会打包上传完整 Git 历史 · AIHOT

AI小蝌蚪行业资讯📡 BestBlogs·全站精选⭐ 902026-09-20536 阅读💛 71 收藏
ZCode 被曝登录后会打包上传完整 Git 历史 · AIHOT

📌 One-Sentence Summary 一项逆向工程调查发现,智谱的 ZCode 桌面应用会在用户登录后悄悄打包整个工作区(包括完整的 .git 历史)并上传至阿里云 OSS,加密密钥由服务器持有,用户无法通过任何 UI 设置关闭。 📝 Summary 作者发现 ZCode(智谱的 AI 编程桌面应用)在 ~/.zcode 目录中累积了超过 700MB 的数据,其中包括一个 313MB 的加密压缩包,在 564 次上传失败后一直卡在待处理状态。通过逆向分析 app.asar,作者还原了完整的上传流水线:客户端向 zcode.z.ai 请求凭证,收到一个 RSA 公钥和 OSS 表单凭证,然后将工作区打包成 tar.gz,用 AES-256-CTR 加密,用 RSA-OAEP 封装对称密钥,再直接上传到阿里云 OSS。关键发现是 RSA 私钥只存在于服务器上,这意味着无论是用户还是客户端都无法解密该压缩包。对 42,411 个文件的清单分析显示,86.6% 的上传内容是 .git 数据——LFS 缓存、完整提交历史、reflog,以及包含内部主机名的配置文件。「优化体验」和「仓库快照索引」这两个 UI 开关并不能阻止捕获或上传;该 sidecar 在启动时被无条件实例化。隐私政策从未提及工作区或 Git 历史上传。作者提供了一个防御方法:用 chflags uchg(macOS)或 chattr +i(Linux)锁定 checkpoints 目录,在内核层面阻止写入。 💡 Main Points 只要用户处于登录状态,ZCode 就会悄悄打包并上传整个工作区,包括完整的 .git 历史。 客户端扫描工作区,排除 node_modules,将剩余部分(在作者的情况下为 345MB)打包成 tar.gz,加密后直接上传到阿里云 OSS。对 42,411 个文件的清单显示,86.6% 的上传内容是 .git 数据——LFS 缓存、提交对象、reflog 和配置文件。 加密使用服务器持有的 RSA 公钥,意味着只有智谱的后端才能解密上传的压缩包。 对称 AES 密钥由服务器在凭证协商过程中动态下发的 RSA-OAEP 公钥封装。对应的私钥从未接触用户的机器,因此无论是用户还是客户端都无法解密本地密文。这种架构服务于服务器端访问,而非用户端的回滚或同步。 没有任何 UI 设置能关闭捕获或上传流水线;只要登录,它就无条件处于活跃状态。 「优化体验」开关只控制是否授权将数据用于模型训练。「仓库快照索引」开关只控制服务器是否对上传的快照建立索引。捕获/上传 sidecar 在启动时被无条件实例化,仅由来自 token 提供者的有效 JWT 作为门槛。 隐私政策没有披露工作区或 Git 历史的上传行为。 政策提到收集「对话过程中提交的文本、文件和代码」用于 LLM 上下文,但从未提及悄悄打包并上传整个工作区和完整 Git 历史。最接近的表述是一段关于优化默认关闭的通用模板文字。 删除待处理的压缩包无效;在文件系统层面锁定 checkpoints 目录是唯一可靠的防御手段。 删除 313MB 的压缩包后,它在 30 分钟内被重新捕获,重试计数器持续递增。在 ~/.zcode/v2/checkpoints 上使用 chflags uchg(macOS)或 chattr +i(Linux)可在内核层面阻止所有写入,从而阻止捕获和上传。代价是失去 checkpoint 回滚 UI 功能,而正常的聊天和自动补全不受影响。 💬 Key Quotes 只要你处于登录状态,ZCode(智谱官方的 AI 编程桌面应用)就会悄悄地把你的整个工作区——完整的 `.git` 历史记录、LFS 资源缓存、reflog 以及全局应用配置——打包、加密,然后直接上传到阿里云 OSS。 一个只有服务器才能使用的密钥只有一个用途:确保服务器随时都能读取你的代码。 只要你处于登录状态,这条后台流水线就永久处于活跃状态,没有任何 UI 设置能将其关闭。 如果这真的是为用户侧恢复或同步而设计,解密密钥本应归用户所有。而加密密钥完全由服务器持有、隐私政策中零披露、后台上传无法阻止、删除后仍顽固地重新打包——这看起来远不像备份,更像是数据收集。 工具就是工具,但用户必须自己划定边界。如果软件不让你关掉它,那就用操作系统内核把它锁进笼子里。 📊 Article Meta AI Screening: 90 Featured: Yes Source: AIHOT — 精选 Author: noreply@aihot.news (Hacker News 热门(buzzing.cc 中文翻译)) Category: 软件编程 Language: 英文 Read Time: 12 min Word Count: 2874 Tags: 编程与工程 , 安全 , AI 编程 , AI 产品与应用 , 渗透测试与安全工具 Read Full Article

#编程与工程# 安全# AI 编程# AI 产品与应用# 渗透测试与安全工具

文章评论(4

晨沐雨45 分钟前

这个观点很中肯,深有同感。

回复
雪影2 小时前

写得挺用心的,支持一下。

回复
青柠微凉2 小时前

看完了,收获满满,期待更多更新。

回复
龙文博2 小时前

讲解得很细致,新手也能看懂。

回复