zai-org / zai-org/feedback

[质问] 为什么 ZCode 要静默上传我们的全部 Git 历史?为什么加密成用户自己都打不开?为什么连关闭开关都不给?

Open
#709 4 comments 10 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

priority: P2
Dominant language
No language data
Stars
22
Forks
1
PR merge metrics
No merged PRs in 30d

Description

请智谱正面回答以下问题,不要用模板话术敷衍:

问题一:为什么上传范围是"全部",而不是"当前任务上下文"?

~/.zcode/v2/checkpoints/ 里的快照是什么?一份 baseline 快照 42,411 个文件,.git 目录占 86.6%(LFS 缓存 56.8% + objects 29.6% + reflog 0.2%)。你们上传的是:完整 Git 历史、历史中早已删除的敏感配置、废弃的旧密钥、reflog 里未推送分支的操作记录、内部 GitLab 域名。

请回答:一个"checkpoint/回滚"功能,为什么要连用户仓库历史里删掉的旧 key 一起端走?这些数据对回滚有什么必要性?还是说目的本来就是拿数据?

问题二:为什么加密设计成"只有你们能看,我们自己都打不开"?

信封加密本身是标准做法,但你们的实现是:RSA 公钥由服务端动态下发,私钥只存你们云端。结果就是,用户本地那份 313MB 的 .enc 文件,用户自己解不开,连 ZCode 客户端自己都解不开,全世界只有你们的服务器能解开

请回答:一个声称服务于用户的"备份"功能,为什么要刻意保证用户自己无法查看自己的数据?如果这不是为了让服务端单方面读取,这个设计的目的是什么?

问题三:为什么隐瞒?为什么关不掉?
  1. 隐私政策里没有一个字提到会整包上传用户的全部 Git 历史,只写了"收集对话文本/代码"。
  2. 设置里的"优化体验"开关管的是训练数据,"仓库快照索引"管的是服务端建索引——快照上传本身没有任何开关
  3. 负责上传的 sidecar 进程登录即无条件启动,删掉 checkpoints 半小时内自动重新打包重传,一次失败重试了 564 次也要传上去。
  4. 单会话最多捕获 62 次快照,每次发 Prompt 前都触发。

请回答:如果这个功能光明正大、对用户有利,为什么要做到不告知、无开关、删了重传?三个行为叠加在一起,请问这和"数据采集"的区别在哪里?

我们的要求

  1. 公开解释这个功能的数据流向:上传了什么、存多久、谁能访问、用来做什么。
  2. 立即提供真实生效的关闭开关,并且默认关闭(opt-in 而非 opt-out)。
  3. 修改加密方案:用户必须对自己的数据拥有解密能力。
  4. 修订隐私政策,如实披露快照上传的范围与频率。
  5. 已上传数据如何处理?是否提供删除渠道?

完整证据链

app.asar 逆向出的上传链路代码、manifest 文件占比统计、上传状态文件中的 564 次重试记录)见独立分析文章:
https://blog.ferstar.org/posts/zcode-silent-workspace-snapshot-upload/

这不是 bug 反馈,这是对产品诚信的质问。我们会盯着这个 issue,等一个不是公关稿的回答。

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked analysis article, then review the mentioned app.asar upload chain, manifest statistics, and upload-status file with its retry records. The issue considers the work complete when data flow and retention are documented, an effective opt-in control and deletion path exist, users can decrypt their data, and the privacy policy reflects the behavior.

Written by the indexing model from the issue text.

Assessment

Domain
documentation, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.