[质问] 为什么 ZCode 要静默上传我们的全部 Git 历史?为什么加密成用户自己都打不开?为什么连关闭开关都不给?
Nobody has claimed this yet.
- 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 客户端自己都解不开,全世界只有你们的服务器能解开。
请回答:一个声称服务于用户的"备份"功能,为什么要刻意保证用户自己无法查看自己的数据?如果这不是为了让服务端单方面读取,这个设计的目的是什么?
问题三:为什么隐瞒?为什么关不掉?
- 隐私政策里没有一个字提到会整包上传用户的全部 Git 历史,只写了"收集对话文本/代码"。
- 设置里的"优化体验"开关管的是训练数据,"仓库快照索引"管的是服务端建索引——快照上传本身没有任何开关。
- 负责上传的 sidecar 进程登录即无条件启动,删掉
checkpoints半小时内自动重新打包重传,一次失败重试了 564 次也要传上去。 - 单会话最多捕获 62 次快照,每次发 Prompt 前都触发。
请回答:如果这个功能光明正大、对用户有利,为什么要做到不告知、无开关、删了重传?三个行为叠加在一起,请问这和"数据采集"的区别在哪里?
我们的要求
- 公开解释这个功能的数据流向:上传了什么、存多久、谁能访问、用来做什么。
- 立即提供真实生效的关闭开关,并且默认关闭(opt-in 而非 opt-out)。
- 修改加密方案:用户必须对自己的数据拥有解密能力。
- 修订隐私政策,如实披露快照上传的范围与频率。
- 已上传数据如何处理?是否提供删除渠道?
完整证据链
(app.asar 逆向出的上传链路代码、manifest 文件占比统计、上传状态文件中的 564 次重试记录)见独立分析文章:
https://blog.ferstar.org/posts/zcode-silent-workspace-snapshot-upload/
这不是 bug 反馈,这是对产品诚信的质问。我们会盯着这个 issue,等一个不是公关稿的回答。
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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