2026年10月18日凌晨1时左右(北京时间),开源 AI 编程工具 OpenCode 的官方账号在 X 上发帖确认,前一晚发生安全事件:事件与一次大规模“蒸馏攻击”有关,波及 1.4% 的 OpenCode Console 用户,当天上午所有受影响用户都已通过邮件收到通知。 官方团队称事件仍在处理、暂不能透露更多细节,正与 Anthropic、OpenAI、谷歌联合补救。 这条公告当天冲上 Hacker News 首页,几个小时内被翻译、转载进中文技术社区。X新智元Hacker News
对普通开发者来说,更急的三个问题是:自己在不在泄露名单里、账号和钱现在安全不安全、接下来先做什么。
先判断:你是不是受影响的那 1.4%
官方邮件对事故边界的描述比公告更清楚:被未授权访问的是一台正在退役过程中的旧系统,可能暴露的是用户保存在 OpenCode 托管工作区里的第三方 API 密钥,例如 OpenAI、Anthropic 等。 公告也明确划了线:只有已链接外部提供商的那部分用户受影响,没收到邮件,就不在这次的影响名单里。 这条界线值得解释一下:OpenCode 有两种用法,一种是本地运行的开源命令行 agent,另一种是 Console——类似 OpenRouter 的托管服务,用户把第三方平台的密钥存进去,由它替自己转发调用(BYOK)。 只在本地用 CLI、从没把密钥存进托管工作区的人,不在官方名单上。但不受影响不等于不用查——这次事故真正提醒大家的是:能无限消费的密钥,平时随手放了多少在别人服务器上。Hacker News微博知乎
Anthropic 抢答了:它保护了你的账户,也可能切断你的任务
公告发出几小时后,Anthropic 的 Lydia Hallie 回应:正在和 OpenCode 一起处理泄露,已撤销一批他们认为受影响的 Claude API 密钥,存过 key 的用户稳妥起见直接重建。 平台层面的强制撤销是最快的止损:泄露出去的密钥立即失效,攻击者没法继续刷额度。被盗刷也确实发生,有开发者晒出账单,Anthropic 账号转眼被刷掉 400 美元,更严重的个案损失超过 1700 美元。 由此,动作顺序有了讲究:被 Anthropic 撤销过的 Claude 密钥不用再撤,直接新建、切换就行;对 OpenAI、谷歌这些还没有公开批量撤销动作的平台,更稳的顺序是先建新密钥、再切换流量、后撤旧密钥——agent 正跑着长任务时先撤 key,等于把任务腰斩,重跑的成本比多留十分钟高得多;如果旧密钥已确认在被盗刷,那立即吊销优先于一切。知乎新智元
30 分钟内,把四件事做完
第一步,去密钥的签发平台操作。官方邮件的指引很具体:在对应服务商的后台吊销并更换密钥,更新所有用到它的应用,并检查最近用量有没有异常活动。 这一步最常见的误区:改登录密码不能代替撤销 API 密钥,撤销授权必须回到签发方做。 同样,只在 OpenCode 里删掉配置、把本机程序关掉,也无法让已经流出的凭据失效。Hacker News知乎新智元
第二步,新建的密钥按新规矩来:开消费上限和账单告警,只读够用的就不给写权限,测试、生产、个人共用的那把按用途拆开。平时多花两分钟,出事时才有选择——不用被迫“全撤、全停”。第三步,对账:逐条核对近几天的用量和账单,保留异常调用的时间与金额记录,向服务商申请调查、申诉扣费。第四步,做一次全量盘点:AI 编程工具、套壳网页客户端、代理网关、自己写的 demo 后端,数一遍每把 key 都粘进了哪些地方,每一处都可能成为下一次事故的入口。
为什么“蒸馏攻击”这个定性有争议
官方把攻击动机归为“蒸馏攻击”——攻击者要在几个小时窗口里把偷来的 key 刷到极限,用顶级模型的输出换取高质量推理数据。但这个说法没被业内一致接受:艾伦人工智能研究所(AI2)后训练负责人 Nathan Lambert 专门写了《The Distillation Panic》分析,他的核心判断是,这种行为严格来说不构成蒸馏,而是一种窃取私有推理内容的 API 滥用——蒸馏是被行业合法使用多年的成熟技术,把两件事混在一起,后续的研究、监管和防御方向都会跟着跑偏。知乎
对用户来说,这场争论可以浓缩成一个结论:这次事故的“门锁”不是“模型被偷去训练”,而是“密钥被人配走用了”。无论事件最后定名为什么,开发者要做的事一模一样。
触发点也值得每个团队记住:出事的是一台“正在退役”的旧系统。交接期和待退役系统是经典的安全盲区——没人盯着、补丁停了、监控撤了,但密钥和数据还在里面。如果你手上也有“快下线”的老服务器、老凭证,把它排进本周的清理清单。