OpenCode 被入侵:泄露的是你存在云端控制台里的模型 Key,不是本地那份
如果你在 OpenCode 的网页控制台(Console)里填过 OpenAI、Anthropic 或者 Google 的 API Key,赶紧先去对应平台把这几个 Key 删掉,再回来继续往下看。
如果你在 OpenCode 的网页控制台(Console)里填过 OpenAI、Anthropic 或者 Google 的 API Key,赶紧先去对应平台把这几个 Key 删掉,再回来继续往下看。
如果你只在本地终端里用 OpenCode、从没登录过 Console 的话,可以稍微松口气。
这次出问题的是 OpenCode 的云端控制台,不是电脑上常用的那个开源命令行工具。这两者存 Key 的位置是完全不同的:
| 怎么配置 Key | Key 存在哪里 | 影响范围 |
|---|---|---|
| 在 opencode.ai 的 Console 工作区里添加了第三方模型 | OpenCode 的服务器上 | ⚠️ 在范围内 |
在终端里用 /connect 或 opencode auth login 添加 | 本机 ~/.local/share/opencode/auth.json | 官方没有提到本地 Key |
| 只用 OpenCode 自己的 Zen 等托管模型,没填过第三方 Key | 没有第三方 Key | 不涉及 |

想确认本地存了哪些 Key,可以在终端里运行:
opencode auth list正常情况下会列出你在本机登录过的模型服务商,类似这样(具体格式以你安装的版本为准):
Credentials ~/.local/share/opencode/auth.json
● Anthropic api
● OpenAI api这里列出来的是本地凭据。最重要的是去检查一下你的邮箱:你有没有在 10 月 17 日收到 OpenCode 的邮件,标题是「Action Required: Potential provider key breach」。官方说已经给所有受影响的用户发了邮件,没收到邮件的人不在受影响名单里。
不过我的建议是:只要你在 Console 里填过 Key,即使没收到邮件也换一次。新建一个 Key 只要几十秒,被别人拿去刷上几百美元的账单就是另一回事了。
从发邮件到官方承认,前后不到 3 个小时
我们根据时间线梳理了一下,整件事的经过是这样的:
- 10 月 16 日夜里:OpenCode 官方说入侵发生在「昨晚」,安全分析建议用户把账单和用量至少回查到 16 日。
- 10 月 17 日:部分 Console 用户收到邮件,原文是「We identified unauthorized access to a legacy system that we were in the process of decommissioning」,意思是一个正在下线的旧系统被未授权访问了,存在工作区里的第三方 Key 有被泄露的风险。
- 10 月 17 日 15:30(UTC):安全研究员 Matt Johansen 在 X 上贴出了邮件截图。
- 10 月 17 日 18:08(UTC):OpenCode 官方账号确认:「We had a security breach last night related to a large scale distillation attack」,说这次入侵和一次大规模的蒸馏攻击有关。
- 随后:官方补充说受影响的大约是 1.4% 的 Console 用户,正在和 Anthropic、OpenAI、Google 一起处理,事件还在进行中,暂时不能透露更多细节。
- 10 月 18 日:联合创始人 Dax Raad 发帖说,攻击者在过去 48 小时里一直不停地攻击他们的系统。


随后这条消息在 Hacker News 上引起了广泛的讨论。
攻击者要的不是你的代码,而是你的额度
官方用的词是 distillation attack(蒸馏攻击),这个词值得多说一嘴。
蒸馏是指用强模型的输出去训练一个弱一些的模型,让弱模型学会强模型的回答方式。要做蒸馏,就需要大量调用 Claude、GPT 这类模型来生成训练数据,这笔调用费用是非常高的。Anthropic 本月也提到过,做蒸馏的人会用代理网络控制几十万个虚假账号来调用模型。
偷一批真实用户的 Key,就等于拿到了一批现成的、已经绑定了付款方式的账号。攻击者用你的 Key 跑数据,账单确实是记在你头上的。已经有受影响的用户反映收到了几百美元的异常扣费,也有报道说个别人被扣了上千美元。不过这些都是用户自己说的,截至目前为止,OpenCode 还没有公布过损失金额。
所以这次泄露最直接的伤害不仅仅是隐私,而是钱。这也决定了处理的紧急程度:先止血(删除 Key),再查账,最后才是长期的防护。
还有几个关键问题,官方到现在都没有回答:1.4% 对应多少个账号、攻击者是怎么进入那个旧系统的、访问持续了多久、是不是所有存储的 Key 都被拿走了。在这些信息出来之前,按「最坏情况」来处理是最稳妥的。
4 步处理,按顺序做
P0:马上吊销 Key(5 分钟内)
分别去 OpenAI、Anthropic、Google AI Studio 的控制台,把在 OpenCode Console 里填过的 Key 全部删掉。注意要在服务商那边删,只在 OpenCode Console 里移除是没用的,因为 Key 本身还是有效的。
P0:确认旧 Key 已经失效
吊销之后用 curl 测一下。以 Anthropic 为例:
curl -s https://api.anthropic.com/v1/models \
-H "x-api-key: $OLD_KEY" \
-H "anthropic-version: 2023-06-01"如果 Key 已经失效,会返回 401 和类似下面的错误:
{"type":"error","error":{"type":"authentication_error","message":"invalid x-api-key"}}OpenAI 的 Key 换成 https://api.openai.com/v1/models 和 Authorization: Bearer $OLD_KEY 来测,失效时会返回 401 和「Incorrect API key provided」。如果还能正常返回模型列表,说明这个 Key 还活着,要回去再检查一遍。
P1:回查账单和用量
在每家服务商后台看 10 月 16 日以来的用量曲线,重点看有没有你不认识的大量调用,尤其是夜间的高峰。如果确认有被盗刷的费用,尽快联系服务商的客服说明情况,并保留 OpenCode 的通知邮件作为证据。
P2:新 Key 换个用法
生成新 Key 的时候顺便做三件事:
- 一个工具用一个 Key,不要所有工具共用同一个,这样出事时只用换一个。
- 给每个 Key 设置花费上限,OpenAI 和 Anthropic 的后台都支持按项目或工作区设额度。
- Google 的 Key 只开通 Gemini API 这一项权限,不要让它能调用其他服务。
另外别忘了更新所有用到旧 Key 的地方,比如 CI 里的环境变量、其他项目的 .env 文件,否则可能会有系统或服务因为 Key 失效而报错。
开源,不等于你的数据就在你手里
很多人对 OpenCode 的第一印象是「开源的 Claude Code 替代品」。HN 评论区里有人问了一句很直接的话:「既然 OpenCode 是开源的,它为什么还需要保管我的凭据?」
我觉得这句话问到了点子上。开源的是那个命令行工具,但 Console、团队工作区、托管模型这些功能都跑在 OpenCode 自己的服务器上,本质上是一个商业 SaaS 服务。你在 Console 里填 Key 的那一刻,就和把 Key 交给任何一家第三方平台没有区别,你使用的是第三方服务,所以开源协议在这里是保护不了你的。
这也不是 OpenCode 今年第一次出安全问题。今年 1 月它被披露过一个高危漏洞 CVE-2026-22812(CVSS 8.8):旧版本会在本机启动一个不需要鉴权的 HTTP 服务,任何本地进程、甚至通过宽松的跨域设置的网页,都能借它以你的权限执行命令,1.0.216 版本才修复。

HN 上还有人翻出了自己 68 天前的评论,当时就在 GitHub issue 里提过 OpenCode 的数据处理问题。
我的判断是:AI 编程工具更新得非常快,但在凭据管理上,大部分团队还没跟上这个速度。不管你用的是 OpenCode、Cursor 还是别的工具,Key 尽量只放在本地,必须放到云端时一定要设额度上限,这个限制甚至比使用哪个工具更重要。
最后问一句
你现在的 Anthropic 或 OpenAI Key,有没有给它设过花费上限?如果这次被盗的是你,能在多长时间内发现账单不对劲?欢迎在评论区说说你在 CI、.env 和各种 Agent 工具之间是怎么管理 Key 的
资料来源:
- OpenCode 官方声明:https://twitter.com/opencode/status/2111516673953935833
- Dax Raad 推文:https://x.com/thdxr/status/2111790511409258796
- Hacker News 讨论:https://news.ycombinator.com/item?id=50133401
- DEV Community 事件梳理:https://dev.to/gabrielanhaia/opencode-told-14-of-console-users-to-revoke-their-openai-and-anthropic-keys-561
- Rescana 安全分析:https://www.rescana.com/post/opencode-console-breach-exposes-openai-anthropic-and-google-api-keys-in-credential-theft-and-distillation-attack-october
- OECD AI 事件库:https://oecd.ai/en/incidents/2026-10-17-9e2d
- CVE-2026-22812:https://nvd.nist.gov/vuln/detail/CVE-2026-22812