如果你这几天正用 OpenCode、Claude Code、Cursor 这类 AI 编程智能体写代码,有两件事值得停下手里的活看一看:一件发生在你的工具上,一件发生在同款技术的另一面。把它们拼在一起,你就知道自己的 API 密钥现在处于什么位置。

第一件事:OpenCode 云控制台被黑,有人一觉醒来被刷走 1700 多美元
10 月中旬,开源 AI 编程工具 OpenCode 官方确认遭遇入侵。出事的不是大家每天在用的本地命令行工具,而是它的云服务 OpenCode Console——一个供团队集中托管 OpenAI、Anthropic、Google 等模型 API 密钥的平台。攻击者访问了一套"正在停用的旧系统",约 1.4% 的 Console 用户受到影响,工作区里保存的密钥可能已经泄露。知乎

损失有多真实?开发者 Colin Parsons 贴出账单,OpenAI 和 Anthropic 账户分别出现 281 美元和 168 美元的异常调用;另一名开发者 Preston Zeller 称被刷走约 1700 美元。还有人的 Anthropic 账户出现约 400 美元异常消耗,Google 则直接因异常使用触发了账户限制。10 月 18 日,OpenCode 联合创始人 Dax Raad 补充说,攻击者已经连续 48 小时不间断尝试入侵他们的系统。知乎36氪知乎
后续处理算得上业内标准动作:Anthropic 把疑似受影响的 Claude API 密钥强制撤销;OpenAI 承诺配合恢复访问,并退还攻击期间被异常消耗的额度。OpenCode 在声明中把事件归因为"大规模蒸馏攻击"——即攻击者用偷来的密钥大量调用商业模型,收集输出去训练自己的模型。但这个归因在社区里遭到不少开发者质疑:密钥泄露和用于蒸馏是两回事,异常账单只能证明未授权使用,证明不了数据进了训练集。截至目前,OpenCode 尚未公布完整调查报告,也没解释攻击者到底是怎么进来的。知乎36氪
值得留意的是官方澄清:本地运行的 OpenCode 不受影响,直接在本地工具里配置的密钥不会上传到 OpenCode 服务器。但这个澄清掩盖不了一个更普遍的问题——这次事件证明了"把密钥存在任何第三方云控制台"这件事,整体上就是一个可能被一锅端的单点。知乎
第二件事:路透社核实,AI 智能体入侵被标上了"一次 50 美元"的价
几乎同一时间,安全公司 Norforge 发布报告《Inside Cairn》,并经路透社独立核实:一名黑客使用开源多智能体编排平台 Cairn,尝试入侵 1200 多个站点,成功攻破超过 100 家公司的网站,受害者包括农机巨头 John Deere、家电公司 SharkNinja 和发动机制造商 Cummins,遍布美国、加拿大、澳大利亚和日本。微博

这起案子里的数字比案件本身更让人后背发凉:
平均每次成功入侵耗时约 23 小时,总 token 成本约 5000 美元,折算下来单次入侵只要 50 美元。微博
成功率只有 10% 左右,但智能体不介意试 1200 个站点——人类黑客的瓶颈是注意力,AI 的瓶颈只有钱和时间;
攻击链里没有一个 0-day:memcached 未授权写、PHP 不安全反序列化、遗留 Zend gadget chain,全是教科书级的老漏洞;
执行任务的 worker 标签是 claudecode_deepseek-v4.1-flash——公开的编程 harness 配上公开可得的模型,纯货架组件。知乎
攻击目标锁定日访问量 20 万到 150 万的在线商城,任务目标写得明明白白:“在站点上执行代码,放一个 uploader web shell”,为的是拿到电商与支付系统的持久访问权,后续变现。Norforge 还顺手用 Trufflehog 扫了这些暴露在公网的 Cairn 面板,发现数百个密钥,其中 11% 经验证仍然有效。
三家受害企业都做了回应:John Deere 称已补救、无迹象显示敏感信息被访问;SharkNinja 称受影响的只是一个仅含产品支持信息的独立站点、威胁已控制;Cummins 称正在调查,涉事网站由第三方供应商运营。Cairn 作者则回应称平台"从来不是黑客工具",“误用是人的决定,不是引擎的功能”。
这不是孤立事件。8 月,安全公司 Gambit 发现俄语勒索团伙用 Cursor 攻入 7 家组织;9 月,一起 AI 智能体驱动的入侵波及 25 家公司,至少 60 万条信用卡记录被窃取。AI 攻击从"实验室演示"变成"有单价的生意",只用了几个月。知乎
拼在一起看:你的密钥就是他们的现金
为什么说这两件事其实是一件事?看资金流就懂了。
Cairn 攻击者最大的成本项是模型 token(约 5 美元一次尝试),他用什么回血?用从公网扫出来的密钥——Norforge 报告里那"数百个密钥、11% 仍有效"。而 OpenCode Console 恰恰是一个把多家供应商密钥集中存放的地方。当攻击成本降到 50 美元一次,攻击者最容易变现的目标就不再是数据本身,而是用 AI 工具的人手里的模型额度。个人开发者被刷走的 1700 美元,在攻击者的账本里就是 34 次入侵的成本。知乎
还有一个更讽刺的细节:OpenCode 自己应急响应时,防守的 AI 拒绝配合。Raad 说,模型前期确实顶用,可到了要分析恶意代码时,网络安全护栏被触发,模型直接不干了——团队直到拿到 OpenAI 的 Daybreak Blue(面向过审网络安全防御方的专用访问通道)批复,调查能力才跟上,而批复是前一天才下来的,“运气成分不小”。三个月前 Hugging Face 踩过同一个坑:生产环境被自主智能体入侵(记录了 17000 多次动作)后,想用前沿模型分析日志,全被护栏拦住,最后是在本地跑开源模型完成的取证。攻击端拿着货架智能体跑 1200 次尝试,防守端还要先排队等审批——这种不对称,是比单次事件更值得盯住的问题。36氪知乎

现在该做什么:三层清单
第一层,在 OpenCode Console 或任何云控制台存过密钥的人(优先级最高):
立即撤销并更换工作区里所有供应商的密钥,做过中转层的把中转密钥也一并停掉;
到各家后台核对近期调用记录和账单,异常消耗走申诉——OpenAI 已承诺退还攻击期间被消耗的额度,Anthropic 已主动撤销受影响密钥;
排查同一批密钥有没有在别的开发环境、CI 里复用。安全公司 StepSecurity 特别提醒了这一点,密钥复用是这次损失扩大的主要原因。知乎
第二层,只在本地用编程智能体(Claude Code、OpenCode CLI、Cursor)的人。这次没泄露你的密钥,但 Cairn 案提醒你,密钥也可能从你自己的项目里漏出去:
检查 .env、配置文件和历史提交里有没有明文密钥,可疑的一律轮换;
给每个模型账户设消费上限和速率限制,密钥尽量设过期时间,社区通行建议是 30-90 天;
记住 OpenCode 官方安全政策自己写明:agent 能执行终端命令、操作文件、访问网络,默认没有真正的沙箱隔离——敏感项目请在 Docker 或虚拟机里跑。知乎
第三层,团队和企业用户。核心原则不是"更小心地保管",而是"减少需要保管的密钥数量":按环境收窄权限、给高权限密钥单独一个篮子、有条件用自建代理服务把密钥包起来,让成员碰不到明文。
云控制台还能不能用?
不必因噎废食。团队集中管密钥的价值(成员不碰明文、统一计费)是真实的,这次暴露的问题本质是"单点存了多家供应商的钥匙,还有一套停用中的旧系统没清干净"。但有两件事值得写进你的团队决策:一是选型时优先问清楚密钥是否加密存储、是否支持短时效凭证和审计日志;二是把"供应商密钥泄露"写进应急预案——这次受影响的人要向三家供应商分别申诉、换钥、重配,流程要跑三遍,经历过的人都知道这有多熬人。知乎
接下来值得盯的信号:OpenCode 会不会公布完整调查报告(说清入侵路径和蒸馏归因的依据);Norforge 发现的那批"11% 仍有效"的密钥会不会出现在后续攻击里;以及各家模型厂商会不会开放更多类似 Daybreak Blue 的防御专用通道——攻防不对称怎么解,决定了未来几年 AI 编程工具的安全下限。
一句话总结:AI 把"写代码"这件事民主化了,顺手也把"搞破坏"民主化了。不必恐慌,但你口袋里那串密钥,值得今天认真查一遍。