乐于分享
好东西不私藏

AI编程工具再好用,这三条底线也要守住了

AI编程工具再好用,这三条底线也要守住了

7月8日下午,我正用 Claude Code 改一个紧急 Bug,群里突然甩进来一条消息。

大意是:有人发现,某些版本的 AI 编程工具,会在用户不知情的情况下,悄悄收集位置和身份信息,往远程服务器传。

我当时愣了一下——这不就是我天天用的那个工具吗?那个我往里丢代码、丢报错堆栈,还顺手把数据库地址和内网域名都贴进去过几次的家伙?

说实话,后背有点发凉。

我不是没想过这茬。但日常写代码的节奏太快了——Bug 在催,交付在赶,遇到报错随手就把整段堆栈粘进去,连里面的路径都没遮。什么数据库连接串、什么内网域名,图省事全往里丢。我心里默认的是:工具嘛,它读完帮我改完就忘,数据不会跑到别处去。

直到看见这条消息,我才意识到自己想得太简单了。

这事其实不复杂。工具里有一段收集数据的代码,在你正常写代码的时候,它顺手把你的地理位置、能识别你身份的信息,悄悄传了出去。

关键就在"悄悄"两个字——没有弹窗提示,没有授权同意,你完全不知道。

圈定的版本范围还不小,2.1.91 到 2.1.196,大半年来用过的人,基本都在影响范围内。

这件事让我重新想了一个问题:我们往 AI 工具里丢的东西,到底有多少是"不该丢"的?

密钥、数据库地址、内网域名、客户数据……平时为了图快,很多人(包括以前的我)都是直接复制粘贴扔进去。我们默认工具是"只读"的——它读我的代码,帮我改 Bug。但这件事提醒我:你喂给它的每一行内容,都可能不止停留在你眼前。

这不是它第一次让人不放心

要是只这一次,还能解释成"没设计好"。但往前翻翻,这工具的履历,实在说不上干净。

三个月前,它把自家源代码全泄了。

3月31日,Anthropic 往 npm 发了一个新版本的包,结果里面误带了一个不该公开的文件——cli.js.map。这是源码映射文件,能把压缩过的代码完整还原成可读的原始源码。

而这个包里,装着 Claude Code 的全部源代码:51.2万行 TypeScript,1906个文件,就这么发到了公开仓库上,谁都能下载、谁都能看。

最先发现的是个叫 Chaofan Shou 的开发者。他注意到那个 59.8 MB 的映射文件太反常,下载还原后一看——内部实现一览无余。他在 X 上发帖,2800万次浏览;GitHub 上有人建镜像,星标蹭蹭涨到 8.4 万,直到 Anthropic 发律师函下架才止住。

外泄的不只是代码,还有一堆没发布的东西:44 个未公开的功能开关、内部模型代号、一个叫 KAIROS 的自治 Agent 系统——能不等你下指令、自己观察代码变动主动改代码的那种。

根因更是低级到离谱:不是外部攻击,是打包工具的一个已知 Bug,加上配置文件里漏写了一行 *.map一行配置,51 万行源码全裸奔。

更讽刺的是,那已经是 Anthropic 一周内的第二次外泄——五天前他们另一个系统的配置失误,还把一个叫 Mythos 的模型信息漏了出去。

除了这类问题,它还老"掉链子"。6月18日一次大规模宕机,全球开发者同一时间被晾在原地;6月23日又一次;进了7月更密集,3日、6日接连两次故障。每次故障少则半小时,多则大半天,赶着交付的人只能干等,进度全砸手里——这种"不知道什么时候就断线"的不确定性,比效率损失更折磨人。

把这些事串起来看,你会发现一条很清晰的线:

  • 宕机,说明稳定性撑不住用户增长;
  • 源码外泄,说明工程流程在低级环节失守;
  • 悄悄收集数据,说明它"帮你"的同时,可能也在帮别人。

这不是三个孤立的小毛病,而是一家公司跑得太快、基础设施没跟上时,必然冒出来的连锁反应。

所以,这工具还能不能用了

我先说我的结论:能用,但不能再"无脑用"了。

Claude Code 确实好用,它帮我省下的时间是真的。但接二连三出事,逼着我把"依赖"这件事重新想了一遍。

以前我只担心它"挂了怎么办",现在我得多想一层:我喂给它的东西,会不会有一天变成我不希望它知道的样子?

想明白之后,我给自己立了三条规矩。

第一,敏感信息绝不裸传。 密钥、数据库地址、内网域名、客户数据——这些在丢给 AI 之前,先全部替换成 xxxyour-key-here。AI 不需要知道你真实密码长什么样,照样能帮你定位 Bug。这一步多花不了十秒,能挡掉大半风险。

第二,关键流程留后手。 不把所有环节都绑死在一个工具上。重要的脚本、配置、操作步骤,整理成文档存本地,再丢进版本控制——哪怕只是一份 README,记录"这个项目怎么跑、依赖装了哪些、踩过哪些坑"。工具在时是锦上添花,工具出事时是救命稻草。我自己现在的习惯是:核心逻辑自己理一遍思路再让它写,而不是把需求一甩、等它吐完整方案,自己连原理都没看懂。

第三,版本要盯着点。 这次出问题的版本范围跨度大半年。很多人装上之后从来不更新,自己用的到底是哪个版本、有没有在影响范围内,根本不清楚。现在我的做法很简单:每隔一两周,跑一句版本查询,记下当前版本号;看到社区里有人讨论某个版本出问题,先自查一遍自己中没中招。花不了一分钟,但能让你心里有数。

这三条规矩不复杂,难的是养成习惯。但养成之后你会发现,心里踏实多了——工具再好用,主动权也得攥在自己手里。

写在最后

这两年的开发者圈,有个趋势很明显:AI 工具越来越强,我们对它的依赖也越来越深。

代码让它写,Bug 让它查,配置让它生成,连需求文档都让它帮忙润色。效率是真上去了,但另一面是——我们的代码库、工作流、技术决策,正在一点点搬进别人的服务器里。

当一家公司掌握着上亿开发者的代码习惯,它"想看一眼"的成本,低到你想象不到。

所以我不是劝你不用,我自己也还在用。我想说的是:用,但别 All in。

把工具当助手,而不是拐杖。该留的后手留好,该脱敏的数据脱敏,该盯的版本盯紧。这样哪怕哪天它又出幺蛾子,你顶多是慢一点,而不是直接趴下。

AI 工具最大的价值,是让你更快、更省力。但一旦你离不开它,它就从"助力"变成了"软肋"。

工具在帮你,这没错。但别忘了时不时问一句:它除了帮我,还在帮谁?

把这个问题放在心里,这三条底线,我打算一直守下去。工具更新换代很快,但这些底线,放多久都不过时。