OpenCode 被黑事件推荐解读,凭据托管这个信任模型翻了车

上周五晚,我们两周前刚介绍过的开源编码代理 OpenCode 遭遇安全入侵,托管控制台用户的模型接口密钥可能泄露,官方声明称约百分之一点四的控制台用户受影响。技术社区七百多分热帖,讨论已经从个案上升到对整个凭据托管模式的反思。我把官方声明、受影响用户反馈与社区讨论核了一遍,这篇讲清发生了什么、你该做什么、以及行业该反思什么。

事件经过

时间线还原。入侵发生在上周五夜间至周六凌晨,一个正在退役流程中的旧系统被攻破,退役意味着补丁与监控都松了,这类系统恰好是攻击者最爱挑的缝。周六上午官方发出公告并给受影响用户发邮件。泄露是用户在托管控制台里配置第三方接口密钥,覆盖三家头部模型商,工具支持七十多家提供商密钥托管,受影响都绑了外部密钥。攻击者拿到钥匙串不小,拿一把就能开一扇付费门。

官方口径称这是一次大规模蒸馏攻击,意思是攻击者用别人的付费密钥大规模调用前沿模型收割输出,疑似用于训练竞品。受影响用户已经出现实际损失,有人的模型订阅额度当天被刷光,有人在工具里用过的密钥被刷出大额账单,均为用户自述。

要点先划出来,被黑的是托管控制台,开源命令行工具本体没事,从未在控制台绑定密钥的用户不受影响。事件仍在处理中,官方说细节暂时给不了。

用户该做什么

收到邮件的用户三步走。第一步立刻去各模型商的控制台撤销并更换密钥,撤销是即时生效的止损,比改密码还急。第二步更新所有还在用旧密钥的应用,换完新密钥记得把本地配置里的旧密钥也替换掉,配置文件里的旧密钥不清理等于换了锁没换钥匙。第三步检查近期用量与账单,发现异常扣费保留凭证走申诉流程,申诉的胜算取决于留证是否完整。

没收到邮件但用过控制台的用户,稳妥起见也轮换一遍密钥,成本是几分钟,买的是确定性,安全事件完整影响面往往比第一份公告更宽,宁可多此一举。官方的影响人数是自查口径,等自查出结果可能还有第二轮邮件,第二轮名单说不定更长,长不长取决于攻击者手里密钥什么时候被用完,用完之前每一天都可能有新受害者。只用过命令行且从未绑密钥的,这次不受影响,但值得把密钥管理习惯重新审一遍,下次未必还是托管出事,本地明文配置文件同样是敞开的门。只用过命令行且从未绑密钥的,这次不受影响,但值得把密钥管理的习惯重新审一遍。

行业该反思什么

社区讨论的焦点落在信任模型上。把密钥交给第三方托管换来便利,付出的是单点故障的暴露面。一句流传开的评论说得好,钥匙不在你手里,token 就不在你手里。这个道理不是新知识,但这次的规模让它变成了行业级警钟。

给个人用户的通用建议收敛成一条,能用本地代理走自己的密钥就少托管,必须托管时把密钥按最小权限配置加定期轮换,轮换的频率按月起步。给行业的建议是密钥加密存储加使用时解密,而不是明文可用,这件事做没做到官方没说,但从攻击者能直接用密钥调用来看,答案大概率不好。这个事件还牵出更大话题,蒸馏攻击存在意味着付费用户密钥被用来养竞品模型,受害者账单变成别人训练经费,这个灰色地带目前没有清晰法律追索路径,防唯一办法还是那句老话,钥匙自己拿好。

一句话收尾,代理工具拼效率的时代,安全是那块最容易塌的地基。

来源

  • 社区热帖 https://news.ycombinator.com/item?id=50133401
  • 官方声明 https://twitter.com/opencode/status/2111516673953935833
  • 媒体报道 https://officechai.com/ai/opencode-discloses-security-breach-says-attackers-may-have-accessed-users-openai-anthropic-and-google-api-keys
  • 此前介绍 https://www.appinn.com/