托管平台被攻破,攻击者先找 AI 密钥
Railway、Zeabur 相继出事,两家都说攻击者冲着 AI 模型密钥来。平台删掉旧密钥不等于作废,止损要回到模型厂商后台吊销。
专题OpenAI:持续追踪 · Anthropic:持续追踪主线智能体与应用

应用托管平台被攻破的时候,攻击者开始专挑 AI 模型密钥下手;出事后的止损,也从平台自己改密码,变成了平台出面请模型厂商批量吊销。
先说我的判断。这三周里,好几家替开发者保管密钥的平台接连出事,其中两家在自己的报告里都提到了 AI:一家说这是冲着 AI 推理服务来的一系列攻击,另一家从攻击者的操作记录里看出,对方主要在找能直接调用的 AI 服务密钥。原因不难理解:一把模型密钥不用登录、不用收货地址,拿到就能在别人的账单上调用模型。对用户来说,平台把变量加密、出事后统一重置,都挡不住这部分损失,能切断它的只有签发密钥的模型厂商。
发生了什么
据 Railway 10 月 21 日的安全披露(企业宣称),它在当天上午发现存放客户环境变量的系统有异常活动,未经授权的第三方可能读到了加密的环境变量,其中一部分拿到了解密后的内容;环境变量里可能有 API 密钥、数据库和镜像仓库凭据。Railway 写道,它认为这是近期一系列针对平台公司、目的在于攻破 AI 推理服务商的攻击之一,并已通知这些上游服务商主动吊销全部密钥。它建议所有用户立即更换存放在 Railway 的全部变量,同时暂停了所有部署。
据 Railway 状态页的事件时间线(企业宣称),北京时间 22 日中午它作废了全部平台 API 令牌,此前已逐个重置存储桶凭据;到北京时间 23 日 16 时 09 分的更新,各档套餐的构建和部署已恢复正常,新用户注册仍暂停,影响可能性很高的客户已收到邮件,取证还在找其他可能受影响的人群,初步事故报告预计在美国东部时间 23 日中午发布,约合北京时间 24 日零点前后。
Railway 随后在工程博客上发了一组处置指南,其中四篇专讲怎么查 Anthropic、Grok、OpenAI 和 OpenRouter 的异常用量。OpenRouter 那一篇把风险说得很直白:密钥泄露后会直接花掉预充的额度,拿到它的人还能调用 OpenRouter 上的任何模型,账上会出现你从没用过的模型。
另一家的报告把动机写得更细
托管平台 Zeabur 在 10 月 19 日的初步事故报告(企业宣称)里给出了目前最详细的一份记录。按报告,攻击者在协调世界时 10 月 14 日至 15 日用泄露的内部凭据进入共享集群和一批专用服务器,最终读取了平台数据库:环境变量 3,218,965 条、账户 321,810 个,均为「已确认」。在共享集群里,攻击者先从少数几个 new-api/one-api 实例下手,这类开源程序专门用来汇总和转发多家 AI 服务的密钥;随后大规模读取 n8n 自动化工具的数据。报告列出被执行读取命令的数据库共 865 个,其中 n8n 有 736 个、new-api/one-api 有 10 个;在核查的 607 个 n8n 实例里,602 个把加密密钥放在环境变量里,存在里面的第三方凭据等于明文外泄。
最关键的一句是 Zeabur 对意图的判断:从命令和后续行为看,攻击者主要在找能直接使用的 API 密钥,尤其是 AI 服务的密钥,还试过用 Zeabur 自己的 AWS 密钥调用亚马逊的 Bedrock 模型服务。报告特意注明这只是对意图的观察。时间线里还记着,北京时间 16 日上午约一个小时里,一位用户的 OpenAI 密钥被盗用,Zeabur 把它列为「推测与本次泄露有关」。
为什么平台改密钥不够
再往前,据 Fireworks AI 的安全公告(企业宣称),太平洋时间 10 月 6 日,有人用 Fireworks 的内部凭据读取了少数客户评测任务里的环境变量,其中包括客户存进去的 API 密钥和令牌。Fireworks 能吊销的是自家签发的密钥;对客户存进来的第三方凭据,它写得很清楚:只删除平台上保存的值并不会让底层凭据失效,必须到签发方那里更换或吊销。
把三家的说法放在一起,人在哪里接手就清楚了。平台能做的是关门、重置自己签发的令牌、发邮件;钱是在模型厂商的账上被花掉的,真正让一把被偷的密钥失效的动作,也只能在厂商那边完成。分析推断:Railway 没有只让用户自己改密钥,而是直接通知上游厂商批量吊销,说明它也认为平台一侧的重置不足以止损,依据是它在披露里写明已请上游服务商主动吊销全部密钥。
分析推断:AI 模型密钥正在变成托管平台里最先被翻找的一类凭据。依据是 Railway 对攻击目的的表述、Zeabur 从操作记录里得出的意图判断和它先读 new-api/one-api 的顺序,以及 Railway 专门为四家 AI 服务写用量排查指南。这不需要三起事件出自同一伙人才成立:只要模型密钥拿到就能变现,任何集中存放它的地方都会被优先翻找。
这件事和站内此前写过的两起事故是同一类问题的不同位置:OpenCode 控制台那次丢的是编程工具网关托管的密钥,LiteLLM 那次是网关本身被投毒。这一次出事的是通用的应用托管平台,它们原本不算 AI 公司,但开发者把模型密钥当普通环境变量存了进去。
最强反方
最有力的反驳是:这只是普通的云平台入侵,攻击者顺手拿走了所有能用的凭据,AI 密钥只是其中一类。Zeabur 自己就说攻击者也读了账户资料,n8n 里的第三方凭据什么都有;Railway 也没有公开任何证据说明它为什么判断是冲着 AI 推理服务来的。至于几起事件之间,没有任何一家公司说它们有关联,AITech Model 的梳理也写明没有来源把它们连起来,截至它发稿时没找到任何 AI 厂商对 Railway 一案的公开回应。把它们写成一个趋势,有拿零散事件凑结论的风险。
我在两处让步:几起事件是否同源,目前完全不能说;攻击者的动机,两家给的都只是自己的判断,我们也只能按企业宣称来写。但论点不依赖同源。我坚持的是一个更窄的判断:在这些平台上,AI 模型密钥是拿到就能变现、而且平台自己无法作废的凭据,所以止损的关口在模型厂商。这一点有 Fireworks 和 Railway 的处置方式直接支撑。如果 Railway 的事故报告显示被读取的变量里 AI 密钥并不突出,或者攻击入口与 AI 毫无关系,我会收回「专挑」的说法。
我们不知道什么
Railway 被读取了多少条变量、涉及多少客户、入口在哪里,目前都没有公布,要等它的初步事故报告;它通知了哪几家模型厂商、这些厂商实际吊销了多少把密钥,没有任何一方公开说明。Zeabur 的初始凭据从何而来,报告写的是无法确认;那把被盗用的 OpenAI 密钥是否来自这次泄露,也只是推测。Fireworks 没有公布受影响账户数,也没说内部凭据是怎么被拿到的。几家平台之间是否是同一攻击者,没有证据。
接下来看什么
一是 Railway 的初步事故报告会不会给出入口、受影响范围和被读取变量的构成;二是 OpenAI、Anthropic、OpenRouter 等厂商是否公开说明配合吊销的规模,或者把消费上限和到期时间设成新密钥的默认项;三是其他托管平台会不会像 Zeabur 在八月后做的那样,让用户把环境变量从平台数据库挪回自己的服务器。我的看法是:模型密钥的价值在于拿到就能花钱,这一点不变,攻击者就会继续去存放它的地方找。
来源
- Railway 官方博客 · Security Disclosure: Wednesday October 21st(2026-10-21) 企业宣称
- Railway 状态页 · Railway Platform Outage 事件时间线(读取至 2026-10-23 08:09 UTC 更新) 企业宣称
- Railway 官方博客 · Check for Unexpected OpenRouter Usage(2026-10-22) 企业宣称
- Zeabur 官方博客 · October 2026 security incident (preliminary report)(2026-10-19) 企业宣称
- Fireworks AI 安全公告 · October 2026 security incident(更新至 2026-10-10) 企业宣称
- AITech Model · Railway's Oct. 21 Breach and AI API Key Theft: Four Cases, No Proven Link(2026-10-22) 媒体报道
引用与数据Markdown 镜像

