ZeroHour
Story · 1 source · 2 articlesfirst updated ()1

ZCode AI coding app silently encrypts and uploads users' full Git history to Aliyun OSS

mediumAI safety & securityimportance 62
What's new: First merged summary (no prior coverage). Both reports appeared on 2026-09-18; the later one (10:35 UTC) added the researcher's identity (ferstar), the unconditional host-level capture sidecar running before every prompt, the server-side indexing toggle detail, and the 276,000-view disclosure figure. The reports also differ in attribution — one calls ZCode 'Zhipu's' app, the other 'Z.ai's' GLM…
Merged summary · glm-5.3-flash · rewritten as coverage arrives

ZCode, the AI coding desktop app attributed to Zhipu (branded Z.ai) in the two reports, packages the entire workspace — including complete .git history — into an AES-256-CTR-encrypted archive uploaded to Aliyun OSS, and settings toggles do not stop it.

Two write-ups published 2026-09-18 describe how ZCode silently uploads users' workspaces while the app is logged in. Researcher ferstar (described as 'a blogger' in the earlier report) reverse-engineered app.asar and found 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 — meaning only Zhipu's backend holds the private key and users cannot decrypt their own uploads. In one case, a 345MB, 42,411-file commercial project produced a 313MB encrypted baseline snapshot, with .git data making up 86.6% of the payload and exposing deleted secrets, unpushed branch names, and internal hostnames; the ~/.zcode directory also recorded 564 failed upload attempts. The archives include .git history, LFS caches, reflogs, and global configs. Reports disagree slightly on the toggles: one says UI settings disable only training-data authorization, while the other says they control training authorization and server-side indexing — both agree that snapshot capture and upload continue regardless, which the later report attributes to a host-level capture sidecar running unconditionally before every prompt. The disclosure drew over 276,000 views.

  • ZCode packages .git history, LFS caches, reflogs, and global configs into encrypted workspace archives uploaded when the app is logged in
  • A 345MB, 42,411-file commercial project produced a 313MB encrypted baseline snapshot; .git data accounted for 86.6% of the payload
  • Archives are encrypted with AES-256-CTR; the key is wrapped with a server-delivered RSA-OAEP public key, so only Zhipu's backend can decrypt uploaded archives
  • Users cannot decrypt their own uploaded archives because the private key never leaves the server
  • Upload flow: credential request to zcode.z.ai, then a direct form POST to Aliyun OSS storage
  • The ~/.zcode directory recorded 564 failed upload attempts
  • Exposed data includes deleted secrets, unpushed branch names, and internal hostnames
  • UI toggles reportedly control only training-data authorization (per one report, plus server-side indexing); snapshot capture and upload continue regardless
VendorsZ.aiZhipu
OrganizationsAlibaba Cloud
CountriesChina
AI modelsGLM

Coverage timeline

  1. · 8h ago
    Hacker News · AI· 60
    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.

  2. · 4h ago
    Hacker News · AI· 62
    ZCode, the GLM coding agent, silently uploads your Git history

    Z.ai's ZCode coding agent silently uploads users' full Git history and workspace archives to Aliyun OSS; settings toggles do not stop it.