Inside ZCode: Silently Uploading Your Git History to the Cloud
Zhipu's ZCode AI coding app silently packages workspaces, including full Git history, encrypts them, and uploads to Aliyun OSS.
A blogger investigating a 700MB ~/.zcode directory found ZCode, Zhipu's AI coding desktop app, packages the entire workspace, including a 313MB encrypted baseline snapshot of a 345MB commercial project, with 564 recorded failed upload attempts. Reverse-engineering app.asar revealed the client requests credentials from zcode.z.ai, encrypts archives with AES-256-CTR, wraps the key with a server-delivered RSA-OAEP public key, and posts directly to Aliyun OSS; only Zhipu's backend holds the private key. An analysis of a 42,411-file snapshot showed .git data made up 86.6% of the payload, exposing deleted secrets, unpushed branch names, and internal hostnames.
- Client packages .git history, LFS cache, reflogs, and global configs; .git was 86.6% of one 42,411-file snapshot
- Envelope encryption uses a server-delivered RSA public key; only Zhipu's backend can decrypt uploaded archives
- Uploads flow via zcode.z.ai credential API and direct form POST to Aliyun OSS storage
- UI toggles disable only training-data authorization; snapshot capture and upload continue regardless
- Vendors
- Zhipu
- Products
- ZCodeAliyun OSS
From the original article
6 min read at blog.ferstar.orgI am not a native English speaker; this article was translated by AI. It started with a routine check while freeing up disk space: ~/. zcode was taking up over 700MB.
By csmantle · blog.ferstar.org
A short excerpt; the article and its images belong to the publisher. Summary, key facts and assessment above are AI-written from the article and can be wrong.