OpenCode 这次的事,信息量比标题看着要大,而且“蒸馏攻击”这个定性本身就有讨论空间。
先捋清楚发生了什么。OpenCode 在 10 月 17 日披露,有人未经授权访问了它一个正在停用的旧系统,导致 1.4% 的 Console 用户工作区里存的第三方 API 密钥可能泄露,涉及 OpenAI、Anthropic、Google 几家。OpenCode 把这件事定性为“大规模蒸馏攻击”。但问题在于,它没有给出任何技术证据来说明密钥泄露和蒸馏之间的具体关联。AI 研究者 Nathan Lambert 就公开质疑过这一点:如果窃取 API 密钥也被归进“蒸馏”这个说法,那这个词的用法就有点奇怪了。
这个质疑是有道理的。蒸馏攻击通常指大量调用模型、收集输出来训练另一个模型;而这次事件直接可见的后果,是用户账单被刷。有用户报告 Anthropic 账户被扣了 400 美元,Google 那边约 200 欧元且项目因滥用被暂停。Dealroom 的报道里具名用户损失从 281 美元到 1700 美元不等。这些是典型的凭证盗用后果,和“训练一个学生模型”之间还隔着好几步,OpenCode 没解释这几步是怎么连上的。
当然,这不代表 OpenCode 在撒谎。攻击者用偷来的密钥去跑模型调用,如果调用量足够大、模式足够像批量采集,那确实可以被描述为蒸馏行为的一部分。但“有关联”和“就是”之间,需要证据来填。目前公开信息里,入侵路径、潜伏时长、受影响密钥总数、总损失金额,全都没披露。OpenCode 只说事件仍在处理中,后续会发技术报告。
至于“行业重新审视模型窃取防御方案”这个说法,我觉得方向对,但这次事件真正的教训可能更具体一点。它暴露的不是“模型防蒸馏能力不够”,而是一个更基础的问题:托管平台替用户存第三方密钥这个设计本身的风险。OpenCode Console 把用户的 OpenAI、Anthropic、Google 密钥存在自己服务器上,一个旧系统的口子被撕开,同时波及三家厂商的凭证。厂商侧能做的其实有限,Anthropic 事后撤销了受影响的 Claude API 密钥,但钱已经被花掉了。真正有效的防御可能是更朴素的东西:给 API 账户设消费上限,以及平台侧想清楚到底有没有必要长期持有用户的明文密钥。
所以我的看法是:事件本身值得关注,用户的真金白银损失是实打实的。但“蒸馏攻击”这个标签目前更像 OpenCode 单方面的定性,缺少技术复盘支撑,不宜直接当成结论来讨论“模型窃取防御”。等后续技术报告出来,看它能不能把密钥泄露和蒸馏调用之间的链条讲清楚,再判断这件事对模型安全领域的真正意义。在那之前,手上有 OpenCode 相关密钥的,该换就换,该查账单就查账单,这是最务实的一步。
