2026 年 9 月 18 日智谱旗下 AI 编程工具 ZCode 被曝 静默上传 用户完整工作区至阿里云 OSS开发者社区炸锅。三天之内智谱致歉 → 企业发函追责 → 工具宣布开源 → 双机构审计 → 上线 数据不留存 功能。 这不是一次普通的产品事故而是给整个 AI 编程行业上了一堂安全课。本文基于公开报道与逆向分析资料还原事件全貌拆解技术链路并给开发者一份可执行的防护清单。一、事件时间线三天五个关键节点时间事件9 月 18 日开发者ferstar发布逆向分析ZCode 桌面端在登录状态下将整个工作区打包加密上传至阿里云 OSS包含完整.git历史、LFS 缓存、reflog、全局配置智谱当天在用户群致歉归因于 代码库索引Repo Wiki功能 默认开启9 月 20 日太原承明科技公开发函追责指出致歉当日凌晨仍有上传记录提出 12 项要求质疑数据是否出境保留刑事控告权利最后期限 10 月 10 日有用户晒出火绒监控显示后台累计上传43GB数据9 月 21 日智谱宣布ZCode 正式开源至 GitHub并公布两份第三方审计结论中国信通院确认涉事 OSS 存储桶 云端零数据绿盟科技确认桶内数据对象及存储桶已删除v3.14.0 客户端已移除 Repo Wiki 入口9 月 22 日智谱宣布上线数据不留存 功能风波仍在发酵一句话概括一款 AI 编程工具在用户不知情的前提下把整个项目的 家底—— 源码、Git 全量历史、大文件缓存、操作日志、历史密钥 —— 打包加密传到了云端而且解密私钥不在用户手里。二、硬核拆解这个 静默上传 到底是怎么实现的根据 ferstar 的逆向分析上传链路是这样一条完整流水线flowchart LR A[ZCode 桌面端br/用户处于登录状态] -- B[触发工作区快照br/后台生成加密包] B -- C[向智谱服务器索取br/上传凭证 RSA 公钥] C -- D[本地压缩 RSA 加密br/整个工作区: .git/LFS/reflog/全局配置] D -- E[绕过智谱业务服务器br/直传阿里云 OSS] E -- F[OSS 回调智谱后台br/完成数据入库] C -- G[解密私钥仅存云端br/用户本地无法解密]关键细节这是整个事件最 硬核、也最让开发者愤怒的部分2.1 触发条件只要登录就上传不是用户主动操作也不是某个明确的功能开关。只要 ZCode 处于登录状态客户端就会在后台静默执行。有逆向分析指出设置里的开关无法阻止本地侧边进程无条件捕获并加密上传核心资产。2.2 上传内容不是 当前代码是 全部家底被打包的内容远超 正在编辑的代码当前项目全部源代码完整.git历史从项目创建以来的每一次提交LFS 大文件缓存可能包含二进制资产、模型文件、压缩包reflog 记录分支操作、reset 痕迹部分全局开发配置可能含账号、Token、代理配置历史凭据 / 密钥一旦曾提交进仓库就可能在历史里。风险等级完全不同泄露 当前代码 是泄密泄露 全量 Git 历史 密钥 是把整个研发资产连锅端。2.3 加密方式RSA 公钥动态下发私钥在云端客户端向智谱服务器索取上传凭证 一把 RSA 公钥动态下发本地用公钥加密打包直传阿里云 OSS绕过智谱自己的业务服务器走对象存储直传通道解密所需的私钥只存在于云端用户本地没有。这意味着什么用户拿到的只是一堆自己解不开的密文 —— 无法验证 云端是否真的销毁了无法自证清白信任完全建立在厂商的一句话上。数据已销毁 成了无法被用户独立验证的承诺这是后续争议持续发酵的根本原因。2.4 上传失败 564 次痕迹是这样暴露的有用户发现本地残留的压缩包显示某次上传尝试失败 564 次。也就是说这个机制会持续重试即使网络不通也锲而不舍。正是这些残留痕迹让逆向分析得以还原整个链路。三、为什么开发者炸了三个层面的信任崩塌3.1 知情同意层面默认开启 开关无效代码库索引 功能默认开启且设置开关无法真正阻止上传。用户花钱请了个 AI 助手结果它在后台悄悄把家底往外搬 ——这已经不是产品缺陷是信任欺诈。有首席科学家用了一个很贴切的比喻相当于请保洁保洁却在你不知情时把保险箱里的房产证和银行卡密码复印打包带走了。3.2 数据范围层面超出一切合理预期即便要做 代码索引 提升 AI 补全质量也不需要上传完整.git历史、LFS 缓存和全局配置。数据采集的边界被无限放大完全超出 功能所需的最小数据 原则。3.3 技术设计层面私钥在云端 不可证伪非对称加密在这里的用法非常反直觉公钥加密、私钥解密用户本地只有公钥。这种设计保证了传输安全却也保证了用户永远无法独立验证数据是否真的被删除。厂商说 已销毁用户只能选择信或不信 —— 信任危机由此而生。四、事件升级火绒实锤 企业发函事件没有停留在 社区争论很快演变成有实锤、有法律动作的纠纷火绒流量监控实锤有用户晒出监控记录后台累计上传43GB—— 远超 代码索引 的合理需要被网友评价 跟木马有什么区别企业发函追责太原承明科技公开致函指出致歉当日凌晨仍有上传记录即 道歉了但还在传提出 12 项要求包括数据是否出境、留存明细、删除证明等并保留刑事控告权利智谱港股身份智谱为港股上市公司2513.HK事件直接波及资本市场与百万级用户对 AI 编程业务的信任。五、智谱的整改开源 双审计能挽回信任吗面对舆论智谱的回应速度很快动作也算 教科书级9 月 18 日当天致歉归因 代码库索引功能默认开启承诺立即销毁9 月 21 日宣布 ZCode 正式开源至 GitHub接受社区监督 —— 用 源码透明 回应 机制黑箱引入第三方审计中国信通院确认涉事 OSS 存储桶处于云端零数据状态绿盟科技确认桶内全部数据对象及存储桶本身已删除v3.14.0 客户端已移除 Repo Wiki 入口切断本地仓库快照生成与上传链路9 月 22 日上线 数据不留存 功能—— 从产品层面把 不采集 变成默认承诺。客观评价开源 第三方审计 移除上传链路是 AI 工具应对数据信任危机最标准的组合拳。但遗留问题依然存在已上传的历史数据是否真的无副本数据有没有被用于模型训练智谱称从未使用这些依赖审计结论和厂商声明信任修复仍需时间。六、硬核反思AI 编程工具的安全边界到底在哪ZCode 事件不是孤例它暴露的是整个 AI Agent 工具类的结构性风险6.1 风险模型变了从 用户主动提交 到 Agent 默认被允许访问什么传统工具的风险是 用户上传了什么而 AI 编程工具Agent要读你的代码、索引你的文件、调用你的工具、操作你的本地环境—— 这是它的核心能力。于是风险从用户主动提交了什么变成了Agent 默认被允许访问什么。权限边界一旦画错工具本身就成了最好的数据搬运工。6.2 索引 功能的安全红线代码索引做语义补全、全局搜索是 AI 编程的合理需求但设计时必须守住三条红线最小化只采集 当前打开文件 / 工作区必要信息绝不碰.git全量历史、reflog、全局配置本地优先能本地完成的计算向量索引、搜索就在本地做云端只收必要结果默认关闭 显式告知涉及数据上云的功能必须默认关闭开启时用清晰、显著的方式告知用户上传了什么、存多久、谁可见。6.3 私钥在云端 的设计教训任何需要 用户信任 的数据通道都应该让用户可验证提供本地解密能力或端到端加密 用户持有私钥提供 数据包内容清单让用户知道自己被传了什么提供可独立核验的删除证明而非一句 已销毁。信任不是靠承诺是靠可验证性。6.4 行业影响可以预见ZCode 事件之后开源会成为 AI 编程工具重建信任的标配让安全可审计第三方安全审计信通院、绿盟这类会变成行业惯例数据不留存 / 本地模式 / 断网可用会成为企业选型的硬性指标企业采购 AI 编程工具会把数据安全评估提到和功能评估同等重要的位置。七、开发者自救手册AI 编程时代的安全底线干货事件可以复盘但更重要的是 ——古法程序员该怎么保护自己的代码以下是可立即执行的清单7.1 第一层看得见网络与流量审计在开发机安装流量监控 / 防火墙如火绒、GlassWire盯住可疑的出网连接与上传流量敏感环境用代理白名单只放行必要的域名IDE 更新、模型 API其余一律拦截定期检查 DNS 请求日志看有没有 不认识 的存储域名OSS、S3 等。7.2 第二层管得住工具权限最小化登录态是最大的上传开关 ——不用的 AI 工具及时退出登录关闭一切 改进产品 数据回传 索引 遥测 类默认开关ZCode 事件就是默认开启的索引功能闯的祸检查工具是否支持本地模式 / 断网模式补全质量靠本地小模型也能满足时就别开云端选型时先看三件事是否开源、数据留存政策怎么写、有没有第三方审计。7.3 第三层隔得开环境隔离涉密 / 商业核心项目放在容器、虚拟机或专用开发机里跑 AI 工具物理隔离是最有效的防线用 Docker 装 AI 插件环境宿主机代码只读挂载工具想传也只能传它看得到的公司级把 AI 工具纳入网络准入出网流量走统一审计网关。7.4 第四层擦得净密钥与历史卫生历史里的密钥比当前代码更危险定期用git filter-repo或 BFG清理.git历史中的密钥 / Token清理reflog、LFS 缓存、本地缓存目录rm -rf .git/refs/originalgit reflog expire --expirenow --allgit gc --prunenow密钥改用环境变量 密钥管理器1Password/vault绝不落盘进仓库已泄露的密钥立即轮换—— 不是删掉是换新的。7.5 一句话原则AI 工具能看什么、能传什么必须由你决定而不是由它的 默认开关 决定。装任何 AI 编程工具之前先问它三个问题开源吗数据留多久我能验证删除吗八、总结AI 是桨你是船长ZCode 事件给所有 AI 编程用户的启示和 古法程序员 系列一贯的主张完全一致AI 的便利要拥抱但信任边界必须自己划功能强大不等于可以越权—— 读取、索引、上传每一步都该有明确授权开源和审计是信任的基石—— 没有可验证性的承诺都只是营销话术历史密钥和 Git 历史是数据资产的地雷—— 清理一次胜过补救十次。浪潮还在继续AI 编程工具还会越来越多、越来越强。但记住AI 是桨你是船长。桨再快也不能让它自己决定船往哪开、装了什么货。
企业数字化 ERP 产品动态
相关推荐
怎么找回微信避坑指南 面试被问“怎么找回微信”背后的并发锁机制,90%的人答不上来。这看似是个生活常识题,实则是大厂笔试面试中考察线程安全与状态恢复的 面试必问 陷阱题。 很多学员在刷 LeetCode 或 CSDN… · 2026/9/23 12:33:16
3天搞懂跟一个做完接着另一个实战项目面试技巧 3天搞懂跟一个做完接着另一个实战项目面试技巧 配置环境就卡半天,这是很多刚入行或者转行的朋友最真实的痛点。你看着教程里的代码跑得飞起,自己一上手,Node版本不对、依赖冲突、端口占用,搞了一下午连个“Hello… · 2026/9/23 12:32:57
Yaesu FM-8500电台射频维修:VCO锁相环与双工器故障精确定位 简介:本资源是古野FM8500型VHF甚高频电台的官方维修技术手册,面向无线电通信设备维修工程师、业余无线电爱好者(如呼号BG3OVV所属技术群体)及应急通信保障人员,聚焦整机级故障诊断、模块级拆解维修与信号链路级排错。手… · 2026/9/23 12:32:57
WebRTC网页远程桌面监控实战:从采集到控制回传 简介:这是一套面向开发者与IT运维人员的WebRTC网页远程桌面监控方案,解决传统远程桌面软件需安装插件、兼容性差、延迟高等问题,适用于企业远程协助、教学观察与家庭电脑管理等场景。资源包共12个文件,约8.4MB,包含3个… · 2026/9/23 14:10:30
智能问答项目代码从入门到改造:模块拆解与避坑实战 简介:这是一份面向智能问答系统开发与学习的项目代码与文档资源包,适合自然语言处理初学者、算法工程师以及希望搭建问答应用的开发者。压缩包大小约82MB,内含可直接运行的代码和体系化的说明文档。文档部分从整体架构讲到算法原理࿰… · 2026/9/23 14:10:30
企业架构落地实战:从业务能力到架构治理的实操指南 企业架构这个词,我在不同场合听到过至少五种理解。做技术的人觉得它是画系统拓扑图的升级版,做管理的人觉得它是IT规划报告的另一种叫法,刚入行的朋友干脆把它等同于“企业里所有系统的清单”。这些理解都不算错,但都只摸到了象腿… · 2026/9/23 14:10:30
INA226功率检测实战:STM32驱动、I2C通信与精度优化 1. 为什么INA226在功率检测里这么能打功率检测这件事,说穿了就是同时抓住电压和电流两条线,再把它们乘起来。听起来简单,但真要做到精度够、漂移小、还能实时读出数据,选对芯片就成功了一半。INA226这颗料在圈子里口碑一直很稳&am… · 2026/9/23 14:10:29
超声肾脏图像分割实战:Unet++跨模态泛化与调优指南 简介:本资源面向医学图像处理方向的开发者与研究者,提供一套基于Unet的超声图像跨模态肾脏语义分割完整方案,可用于论文复现、课程设计或算法对比实验。压缩包共约2000个文件,以1993张png图像及对应标签为主体,另含5个… · 2026/9/23 14:10:22
3招搞定手机怎么下载微信面试难题实战项目解析 3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29