ARTICLE · 1114304
AI 编程工具偷传 4 万个文件,问题不在厂商,在评审表
一个技术博主清理硬盘,翻出了一个 313MB 的加密文件。
不是缓存,不是日志,不是某个插件的临时目录。
那是 42411 个代码文件打包压缩后的快照,其中 86.6% 是完整的 Git 历史——被删掉的密钥、回滚掉的逻辑,全都躺在里面。
生成它的那款 AI 编程工具,没有询问过他。
事情发生在一周多以前。到今天还在发酵:近 400 名开发者组建了维权群,那家上市公司的股价三个交易日累计跌逾 16%。
比"那家公司做错了什么"更值得琢磨的,是另一件事——
几乎每个在用 AI 编程工具的人,工具评审表里都没有这一栏。
一、五天,从道歉到开源
技术博主 ferstar 在博客里披露了细节。他清理本地磁盘时发现,客户端在 ~/.zcode 下生成了一个 313MB 的加密快照,由约 345MB / 10GB 的项目工作区压缩而来。
上传失败记录显示,这个动作失败了 564 次。
因为一直卡在重试队列里没能发出去,反倒把整条链路暴露了:登录状态下后台自动打包加密整个工作区,向服务端申请上传凭证和 RSA 公钥,直传阿里云 OSS。
私钥仅存云端,用户本地无法解密。
快照一共 42411 个文件,.git/lfs、.git/objects、.git/logs 三项合计占 86.6%。
这不是"抽取代码片段做索引",是把整个版本历史连同大文件缓存和操作日志一起打包走。
设置里找不到关闭开关。关掉"优化体验""仓库快照索引"之后,上传记录依然存在。
厂商当晚上线了道歉,原因归到"代码库索引"功能上线初期默认开启,称数据仅用于云端生成 Repo Wiki、生成后立即销毁,并声明从未用于模型训练。
第二天,一家科技公司发来正式法律函,称独立取证发现 6 个工作区被批量上传、最大 410MB,质疑数据出境至注册于新加坡的实体——服务协议的签约方是北京的公司。
第三天,MaaS 平台上线"数据内容不留存"。
第四天,产品正式开源至 GitHub,Apache-2.0,客户端、后端、Agent CLI 全量代码。新版本移除了 Repo Wiki 入口和本地快照生成上传链路。厂商同时邀请信通院和绿盟科技做审计,公布的结论是 OSS 桶云端零数据、全部对象已删除。
第六天,那家公司发来澄清,撤回了函件及所列主张。
撤回的是函件。不是已经传出去的 410MB。
二、真正的问题不是"上没上传"
只留下一个结论的话,应该是:某厂商偷传用户代码,被抓了,改了,该罚。
太轻了。
拆开看,四个问题一个都没真正解决。
范围。
争议一开始是"该不该上传",很快变成"上传的是什么"。
完整的 Git 历史不是代码片段。它包含已经删除的密钥、已经回滚的逻辑、写过又撤下的临时方案。
一个当前版本里没有凭证的仓库,看起来是安全的。但如果三年前某次提交里有过一个密钥,它现在还在历史里躺着。
开关。
官方说法是"上线初期默认开启"——是疏忽,不是设计。
问题也正在这里:一个找不到关闭开关的功能,它到底是疏忽还是默认,从外部分辨不出来。
真正让人不安的从来不是"默认开了",是"你关不掉,也看不出它关没关"。
私钥。
私钥只在云端,客户端拿到公钥。技术上确实保证了本地无法解密,官方说的"生成后立即销毁"也能被验证。
问题是验证需要能力和决心。普通用户既没能力去查那个对象存储桶里到底有什么,也没理由去查。
"声称会销毁"和"你能确认已经销毁",是两件事。
出境。
律师函质疑过,随后撤回了。这属于商业纠纷的常见结果,不必过度解读。
要分清的是:撤回的是主张,不是事实的消失。已经打包上传的数据曾经存在于境外这件事,不因为撤回函件就没发生过。
四件事指向同一句话:
你没法验证的事情,不叫安全,叫对方希望你相信。

三、这不是某一家的问题
两个月前,xAI 的 Grok Build 也被曝把整个 Git 仓库打包上传到了谷歌云存储。
同类事情在不同公司重复发生,就说明它不是某个团队的疏忽,是整个赛道的默认做法:厂商把"索引你的代码"当普通产品特性推,没把它当数据出域来管。
而按金融行业的数据安全监管口径,代码、架构文档、数据库口令、云凭证、员工个人信息,都在数据分类分级里,走评审才能出域。
问题在于,很多公司的采购流程里,AI 编程工具走的是"研发工具"那一栏。
研发工具的审批标准和数据出域的审批标准,从来不是同一套。
缝隙在这儿。不是谁故意留了后门,是两张表之间没对齐过。
四、今天能做的三件事
落到个人身上,能做的就三件。
翻一遍设置。
不是翻隐私政策——那份东西你也看不懂。
是找有没有"数据上传""索引""快照"这类开关,关掉它,过十分钟再看一眼那个目录,看还有没有新文件。
找不到开关的工具,本身就是答案。
给自己画一条线。
可以碰 SaaS 版 AI 编程工具的代码:已经开源的、已经发布的、不含任何凭证的。
绝对不碰的:生产代码库、含密钥的历史、客户数据、未公开的架构文档。
金融 IT 干了十几年有条老规矩——数据出域要走分类分级评审。这条规矩在 AI 工具上一样成立,只是很少有人把 AI 工具算进"数据出域"这个类别。
它应该被算进去。
把这一栏加进评审表。
以后不管引入什么 AI 工具,问三个问题:
• 默认开不开? • 关掉之后数据去哪? • 我能不能自己验证?
有一个答不上来,先别接。
工具能力可以后补,合规审查补不回来。

五、那个 313MB 的文件
那个文件躺在硬盘里的时候,没有人通知过它的主人。
它是在一次清理磁盘的动作里被偶然发现的——不是被审计发现的,不是被监管发现的,也不是被厂商主动告知的。
如果那位博主没有顺手清理一次磁盘,这个快照现在可能还好好待在某个存储桶里,没有人会知道。
让人后背发凉的不是某家公司做错了什么。
是我们所有人的安全,一直建立在"对方守规矩"这个假设上。
而这个假设,从没被检验过。
所以真正的安全,从来不是厂商承诺你不外传。
是你有本事自己确认它没外传。
这套能力手上还没有的话,那就是工具选型里最该补的一项。