10月16日(当地时间)夜间,开源AI编程工具OpenCode出了事:一套"正准备下线"的旧系统被未授权访问,存在里面的OpenAI、Anthropic、Google的API密钥可能已经外泄。官方通报,约1.4%的OpenCode Console用户受影响,且都是在工作区里绑定了外部模型服务的人。用户的账单先"响"了:有苦主晒出账单,Anthropic账号转眼被干掉400美元,更惨的一位直接被刷走1700多刀。知乎知乎新智元
这条消息在Hacker News上冲到了762分,开发者社区正在经历一轮紧急的key轮换。如果你也在用"自带API key"的编程工具,这篇给你三件事:你在不在范围内、现在做什么、以后钥匙抽屉怎么守。知乎
一、先把范围划清:谁受影响,谁不受
被波及的是OpenCode Console——HN讨论里有人把范围讲清楚了:那是一个类似OpenRouter的托管推理网关,支持把自己在别家平台的key存进去(BYOK)由它转发请求,命令行里那个编码agent是另一回事,用那个的人不受影响。出事的只是其中绑定了外部提供商key的那1.4%用户,官方同时表示,调查暂未发现其他数据泄露,没有收到通知邮件的用户即未受影响。不受影响的包括两类:只在自己终端里跑OpenCode那个命令行agent的用户;以及用订阅套餐(月费、Go套餐这类)、从来没把API key交给第三方服务器的人。知乎知乎
很多帖子把它写成"AI编程工具把所有人的余额都偷了",这是恐慌性放大。但反过来说,通报里那句"事件还在处理,暂时不能透露更多",也意味着用户没法只等平台消息——该做的自查动作一个都不能省。
二、事发时间线:钥匙是从一个你都不知道的旧系统里拿走的
10月16日夜间(当地时间):入侵发生,被攻破的是一套"正在停用"的旧版Console系统;
10月18日凌晨一点多,OpenCode在X上发布公告,前一晚的安全事件和一次大规模蒸馏攻击有关,波及Console用户的1.4%,当天上午已邮件通知全部受影响用户。知乎
Anthropic的Lydia Hallie火速下场回应:目前所有疑似泄露的Claude API密钥,已经全部强制注销,在OpenCode存过key的用户建议重新生成。新智元
同期,Reddit和HN上陆续有用户晒出异常账单:有人被刷400美元、有人损失1700多美元、还有人的Google项目因"过度滥用"被暂停;有用户说,在OpenCode发通知之前,自己就先收到了OpenAI和Anthropic的用量提醒邮件。连联创Dax Raad都承认,自己的个人账号同样被攻击波及。知乎
最扎心的一点在这里:你平时用工具再谨慎都没用。这次泄露不是谁的本地配置出了问题,而是key从一个"你都不知道它还开着"的后台走出去的——你防住了前门,钥匙从后门被拿走了。
三、如果你也把key"寄存"过,今天就做这4件事
轮换key:手动打开OpenAI、Anthropic、Google三家的官方后台,撤销并重新生成,不要点邮件里的链接。注意:改登录密码不能代替撤销API key,只在工具里删除配置、关掉本机程序,也无法让已经流出去的凭据失效——必须回到签发key的平台,让旧key作废。新智元
查账单:把10月16日至今的用量和账单翻一遍。异常消费在用量记录上比在发票上出现得早,保留异常调用记录和消费时间,向服务商申请调查和费用处理。
设上限:给每把key设置额度上限和用量告警。这次有人只损失100美元、有人被刷走1700美元,差别往往就在于有没有设限。知乎
key分离:给agent用的key单独建项目、单独设低额度。一把key打天下(测试脚本到线上服务全用它)的省事做法,出事时你没有选择,只能全撤——等于自己把自己的业务停掉。知乎
四、撤key的顺序,比撤不撤更要紧
安全顺序是先新建、再切换、最后撤旧,而不是先撤——换key是新建成、切换、再撤旧的,跑着长任务的agent如果干到一半被撤了key,就是腰斩。Anthropic强制撤了一批key之后,不少用户面对的就是这个收场问题:任务有没有断点、重跑会不会重复扣费,平时看不出来,出事那天全显出来,得自己判断哪一步做完了、哪一步要重来。知乎
五、"蒸馏攻击"这个定性,建议听一半留一半
官方的解释是:偷key是"大规模蒸馏攻击"的一环——攻击者拿着成百上千把真实开发者的key,在几个小时的窗口期里狂问frontier模型,把高质量回答批量拿走训练小模型,花的每一分钱都记在受害者账上;按行业里的估算,直接买这批训练数据动辄需要数百万甚至上千万美元的API花费。这也是key泄露比普通数据泄露更紧迫的原因:它自带变现通道,泄露的key在被撤销之前,每一秒都在产生真实的钱。新智元
但有研究员公开表示质疑:Nathan Lambert认为,把偷密钥的网络攻击归入"蒸馏"很反常,这个定性目前只有官方说法和合理推测,还没有独立验证。不过有一点不用争论:不管攻击者拿去干什么,账单上的损失是真的,前面那4个动作该做还得做。知乎
六、真正的教训:你的key,只和它背后最弱的那个系统一样安全
OpenCode自己的文档里写过一句很诚实的话:它不对agent做沙箱隔离(does not sandbox the agent),权限确认弹窗只是一个UX功能而非安全边界,想要真正隔离请用Docker或虚拟机。这是agent工具行业的普遍现状——智能体越能干,手里握的凭证就越多,这串"钥匙"的安全就越要紧。知乎
这也是本月agent工具领域第二起凭证处理事故:此前Archon的控制API被发现完全没有做认证就上线了。两起事件指向同一个新问题:交给AI工具的凭证,谁来守住?至少在下一次选工具时,值得多问一句:我的key到底存在哪儿、经过哪些服务器、还有谁可能访问它。知乎
七、接下来盯这几个信号
OpenCode调查的最终披露——通报目前仍是"事件还在处理,暂时不能透露更多",后续细节决定这次该不该继续用它的Console;
OpenAI和Google会不会跟进Anthropic的处理方式:撤销受影响key、公布盗刷费用的争议处理通道;
第三方BYOK工具会不会出现凭证托管的行业规范:存储隔离、下线系统的数据清理义务、泄露后的赔付规则。
一句话收尾:你每天用的AI编程工具里,有几个存着你的key?花10分钟挨个后台核一遍,是这周最值回票价的一件事。