太原一家小公司的技术负责人张楠(化名),这几天干了一件大多数程序员只会想想没敢干的事:发函。9月19日晚,他所在公司的主体——太原承明科技,向北京智谱华章发出正式函件,12项答复要求,限期10月10日前书面回复,保留索赔、投诉与诉讼权利。这家公司2026年4月才成立,注册资本20万,但在ZCode眼里是个"大户":6个工作区、3.45万个文件、约425MB明文已经传上了云,还有1个工作区的1947个文件打成了加密包,只因上传失败了32次才没送出去。界面新闻知乎
另一位接受采访的企业用户说得更具体:九个私有仓库、四个上线项目、所有服务器的凭据,都在ZCode装机的电脑上待过。他和法务已经固定了证据目录,先发函,后续考虑起诉。
到目前为止,围绕ZCode静默上传的讨论大多停在"程序员个人要不要卸载"。但这起风波真正的下半场不在个人:当上传的是公司的代码资产,道歉、开源、审计这一套动作,哪些能填进企业的合规清单,哪些还空着,才是管理员现在就该核的事。
六天五个动作:先把时间线钉准
这事能吵到今天,一半原因是各方口径在赛跑。把公开报道排一遍,动作和日期都对得上:
时间 | 发生了什么 | 出自谁的口径 |
|---|---|---|
9月17日晚 | 开发者ferstar清盘发现~/.zcode占700MB+,内有313MB加密快照,解不开,因为私钥只在服务端 | 个人逆向报告 |
9月18日 | 报告公开引爆;智谱官方群致歉:称系"代码库索引"RepoWiki触发,数据"用完即销毁" | 智谱致歉声明 |
9月19日 | ZCode推送v3.14.0,更新日志"修复仓库百科异常上传";当晚承明科技发函12问,追问数据是否出境新加坡 | 版本日志+企业函件 |
9月20日晚 | 智谱MaaS官宣"数据内容不留存"功能,措辞是"近期将上线" | 智谱平台公告 |
9月21日 | 智谱第三次回应:道歉+开源ZCode+公布信通院、绿盟首轮核查结论;当日股价盘中一度跌超4%,收794港元,市值3871亿港元 | 界面新闻等 |
9月22日 | 风波仍在发酵,#智谱被指偷传代码企业发函追责#话题继续传播;另有企业称在"道歉当日"凌晨仍检测到上传 | 微博/B站讨论 |
|
注意一个细节:9月19日有用户在官方交流群晒出火绒监控截图,称单个进程狂传43GB,截图发出两三分钟被管理员撤回——这个撤回动作本身又成了新的争议点。智谱对承明科技的指控也有自己的说法:9月21日智谱方面向媒体表示"企业的指控不实"。两边目前就是没咬合上,而这正是企业侧最尴尬的处境:你拿出的证据厂商不认,你信厂商的结论又没法自己验证。36氪微博
首轮审计"确认"了什么,没确认什么
信通院和绿盟的首轮核查,是目前分量最重的一份外部证据。按智谱对界面新闻的转述,结论有三条:界面新闻
涉事zcode-prod阿里云OSS存储桶,当前状态为"云端零数据";
存储桶内全部数据对象及存储桶本身已被删除;
v3.14.0客户端已移除RepoWiki入口及相应生成链路,未发现可触发本地仓库快照或文件外发的功能路径。
这三条值得认真对待,但它们证明的都是同一时点的状态——审计发生在这轮整改之后,查的是"现在桶里还有什么"。而承明科技12问里真正要的答案是另外三个:传上去的完整清单是什么、销毁的可验证证明在哪里、境外主体的责任归属是谁。Bianews整理的社区反馈里,约七成不满用户的核心诉求就五条:公布修复代码diff、可验证的销毁证据、用户可自查的上传记录、书面删除确认、公开审计报告——逐条对一下,审计结论能覆盖的只有最后一条的一半。36氪
为什么"已销毁"这件事特别难证?回到技术结构:上传数据用RSA加密,公钥服务端动态下发,私钥仅存云端,连用户自己都打不开本地那份密文。私钥在谁手里,“删除"就只有谁能说。这不是智谱独有的死结——今年7月Grok Build被曝把整库打包上传谷歌云,马斯克同样承诺"彻底删除所有此前上传的数据”,《The Register》的回应也一样:无法独立核实。区别只在于,ZCode连一个能关的开关都没留。界面新闻
一个还没收敛的问题:数据到底"出境"了没有
对企业来说,上面那些还属于信任范畴;这一条属于监管范畴,而且目前是三套口径并存:界面新闻的报道说上传目的地是阿里云OSS;承明科技的函件追问的是"是否出境新加坡";受访企业用户张楠的说法则是"上传目的地是香港的阿里云OSS存储桶"。
为什么"位置"重要?按《个人信息保护法》第40条和《数据出境安全评估办法》的口径(这里引用的是媒体和法律从业者的解读,不是监管结论),处理100万人以上个人信息的主体向境外提供数据需申报安全评估;只要境外主体可查询、调取、下载、导出境内数据,就可能构成出境行为。而ZCode官方口径里的用户数已突破100万。换句话说,桶在杭州还是在新加坡,对企业不是运维问题,是合规分界线——这也解释了为什么金融、政务、医疗行业的客户把这视为准入门槛,ZCode这一刀正好划在智谱的企业级生意上。智谱至今没有公开写明涉事OSS桶的归属地和运营主体,这应该是任何企业追问清单上的第一问。知乎
至于9月20日官宣的"数据不留存",方向没问题,但三个例外条款要划出来细看:BatchAPI、FileAPI这类需要平台持久化的接口不在覆盖范围;法律法规要求或涉嫌违规核查的,平台可按规留存30天及以上;并且是"申请开通"而非默认开启。功能状态截至多方报道仍是"近期将上线"。它管的是"以后不留",你司之前传的那些去哪了,它一个字没提。36氪
企业管理员现在该做的5件事
不是让你明天就卸载——是让你在卸载或者续签之前,手里有东西。
第一步,盘点,别猜。 在用过ZCode的机器上查`~/.zcode`目录(Windows同理),看`checkpoints`下有没有加密快照、体积多大、对应哪些工作区。重点标记:含`.git`全历史的项目、有已删除密钥/内部域名/未推送分支的仓库。ferstar那份快照里`.git`目录占了86.6%,密钥最集中的就是这个目录。哔哩哔哩
第二步,固定证据。 张楠们已经示范了:让法务一起,把目录结构、文件清单、时间戳做证据保全,有EDR/防火墙日志的导出上传请求记录(目标域名、时段、量级)。这一步决定后续任何沟通里你是否有牌。
第三步,书面发问,学承明的格式。 口头和群里问没有用,承明的函能被媒体报道,靠的是12项写清楚、限期写清楚(10月10日)、权利保留写清楚。至少问这四件:涉事存储桶归属地与运营主体;已上传数据范围清单;可验证的销毁证明;企业用户风险排查方案。
第四步,翻合同。 拿出你们采购ZCode或智谱API时的协议,对照看:数据处理条款、是否允许用于模型训练、跨境条款、审计权条款。承明函件里"明显超出隐私政策载明的收集范围"这句,就是拿协议对出来的。界面新闻
第五步,备退路。 愿意继续用GLM的模型能力的,不必绑死在ZCode客户端上:v3.14.0已开源,有安全能力的团队可以自行审计编译版再用;纯调API的,把智谱MaaS的"数据不留存"申请挂上(注意前面的例外条款);代码敏感度过高的,考虑开源模型本地化部署这条路。这不是劝退,是在审计报告和出境结论落地之前,给自己留一个不依赖厂商自觉的选项。
普通员工顺手做的两件事
如果你在公司用ZCode写代码,先问管理员有没有做过上面的盘点;自己这边,把本地环境里不该出现的个人凭据(SSH私钥、云服务AK、密码管理器库文件)从开发目录清出去——这次事件里最扎心的复现,就是有人发现自己的整个用户目录都被打开过。Git历史里删掉的密钥不等于不存在,这是所有码农都该被强制重修的一课。
接下来盯三个信号
10月10日:承明科技的答复期限。智谱书面回复了什么、回复几项,比任何公关稿都诚实。
月度审计报告:智谱承诺每月定期公布代码安全审计报告,第一期什么时候来、审计范围敢不敢写到"历史数据处置",是检验"常态化机制"成色的试金石。
"数据不留存"功能真正上线:从"近期将上线"到控制台可开关,中间隔着的正是这次风波的全部教训。
最后说一句公道话:目前没有任何证据表明ZCode把企业代码用于模型训练——智谱承诺了,审计没发现相反证据,社区也没有实锤。指控与不实指控之间,能站的只有证据。企业用户真正的处境不是"被偷了"三个字的情绪,而是:你的资产在别人的架构里待过,而这套架构过去没有给你验证它离开的办法。这件事,不管智谱最后答成什么样,都够全行业写进采购条款了。
(本文为公开信息整理与风险提示,不构成法律意见;涉双方争议陈述均标注来源,企业合规决策请咨询法务。)
