夜雨聆风学习资料网

ARTICLE · 1043810

AI编程工具偷传代码,我查了700MB

AI编程工具偷传代码,我查了700MB

AI编程工具偷传代码,我查了700MB

周五晚上我把电脑上两个AI编程工具挨个翻了一遍隐藏目录。起因是有人晒出一张截图:他自己的项目文件夹里躺着700MB的东西,是他自己写的代码,他从来没说过可以往外传。那条帖子底下跟了上千条回复,全在问同一句话:我这台电脑上有没有。

我数了一下,我装了两个。一个用来写脚本,一个用来读老项目。两个都登录过。

700MB躺在他自己电脑里

事情是这样被翻出来的。一位开发者在清理磁盘,发现本地有个隐藏文件夹占了700MB,里面是313MB的加密包。他打开一看,是自己手上一个商业项目的完整快照。

再往下查,事情就不太好看了。只要账号处于登录状态,这个工具就会在后台把整个工程打包,连同版本历史一起传走。版本历史这东西你可以理解成监控录像,你三个月前删掉的那行密码、上次手抖带上去的密钥,全在里面。

我特意去查了密钥这个细节。写代码的人大多干过一件事:先把密钥直接写死在文件里跑一遍测试,跑通之后再删掉。文件删了,改动记录还在,那份记录跟着一起走了。

数据传去的方向是云端存储。整个过程没有弹窗,没有提示,你正常写代码,它在后面搬东西。这件事9月18日在开发者圈子里炸开,当天傍晚智谱发了致歉说明。

两个开关都关不掉它

有人会问,设置里不是有开关吗。

有,两个。一个叫体验优化,管的是能不能拿你的数据去训练模型;另一个叫仓库快照索引,管的是要不要在云端给你建一份目录。把两个都关掉,打包上传照旧。

更麻烦的是删除。你把本地那个加密包手动删掉,软件会自己重新生成一份。等于你锁了前门,它从窗户进。有人找到的临时办法是在系统层面把这个目录设成只读,代价是断点回滚功能跟着废掉。

还有人盯着这台电脑往外的流量数过,一次上传失败之后,后台自己重试了五百多次。它很执着。

加密了,钥匙只在对方手上

看到数据加密四个字,很多人会松一口气。这次不太一样。

打包用的那把锁由服务端下发,能打开的钥匙只存在云端。也就是说,这包东西是从你电脑上出去的,但你自己打不开。你想验证里面到底装了什么,没有工具。

这就绕回一个很朴素的问题:一份你打不开、拦不住、还删不掉的加密文件,摆在你自己的硬盘上,它算你的还是算别人的。

厂商的解释是,这些数据只用于在云端生成一份代码说明页面,页面生成完就销毁,不留存。我信这个说法在流程上能成立,但生成完就销毁这件事没法被外部验证,因为钥匙不在你手上。

官方认了,赔了一个周的额度

9月18日傍晚,智谱发布情况说明,向用户道歉。给的原因是一个叫代码库索引的功能上线时默认开启,会触发上传。目前问题已修复。

补救措施有三条:开源客户端的代码、请第三方做安全审计并公开进展、给全体用户额外补一次周额度重置。

我把这三条读了两遍,觉得态度是有的,缺的是另一样东西。整件事真正让开发者不安的地方,不是数据传出去了,是隐私条款里根本没写会采集完整的版本历史。修复动作再快,也补不上这一句。

它越懂你的项目,越要搬走你的项目

这里有个更绕的地方值得说清楚。

这类工具最值钱的卖点,是它懂你整个项目。你问它一句话,它能结合项目里所有文件回答,而不是只盯着你打开的那一页。要做到这一点,它必须先拿到你整个项目。

想让它全局帮你,和想让数据留在本地,这两件事不是可以两头都占的选项。它们在同一条路上,方向相反。厂商能做的只有一件事,把选择权明确交给你,告诉你传什么、传去哪、留多久。这次出问题,就出在这个选择权被默认勾上了,而且取消了也没用。

同一天,另一家把代码全开源了

同一天晚上,MiniMax在开源社区放出了自家的命令行编程工具,用的是一种允许别人自由修改和商用的宽松许可,主打两条:索引在本地做,代码零上传。

我不认为开源就等于安全,代码摆出来也得有人看、有人审。但它至少解决了一个问题:你质疑它的时候,它没法只回你一句请相信我们。

有意思的是这两件事撞在了同一天。开发者论坛只用了几个小时就完成投票,讨论最多的一句话是:以后选工具,先看它敢不敢把代码摆出来。

想继续用,先做这三件事

这类工具我不劝你卸载,我自己也还在用。但有三件事我现在是必做的。

第一件,翻一遍本地目录。macOS和Linux在用户根目录下找带工具名字的隐藏文件夹,Windows在AppData里找,看体积。正常缓存几百兆不稀奇,看到几百兆的加密包,就值得点进去看一眼日期。

第二件,关掉开关之后再抓一次包。用工具看这台电脑往外发了什么,确认关掉之后还有没有大文件出站。这个动作不难,但它是唯一能把口头承诺变成事实的办法。

第三条最笨,也最有用

第三件,物理隔离。公司项目的代码、生产环境的配置文件、服务器登录密钥,别放在AI工具能读到的同一个目录里。要用AI,就把它限定在某个子目录上。这一条最笨,也最有用。

你自己的电脑上,有没有翻出过不该有的东西?

相关学习资料