Railway 公布了一起安全事件:未经授权的第三方可能访问了客户加密后的环境变量,其中一部分的解密内容可能已被取得。环境变量里常有 API key、数据库和镜像仓库凭据,所以 Railway 建议所有用户作为预防措施,立即轮换存放在 Railway 上的全部变量和 API key。
Railway 披露了什么
Railway 说,它发现存放客户环境变量的系统有异常活动。这份由 Jake Cooper 署名的披露称,初步分析显示影响可能只限于部分用户,但在审查完成前,建议所有用户都做轮换。确认受影响账号后,Railway 会直接发邮件通知相关客户。
Railway 自己的说法是:“我们认为这是近期一系列针对平台公司的攻击之一,目的是攻破 AI 推理服务商。”Railway 说已通知这些上游服务商主动吊销全部 key,但没有点名是哪些服务商。
Jake Cooper 在北京时间 10/22 06:04 于 X 上通报此事,建议大家出于谨慎轮换 key。同样以模型 API key 为目标的案例,可以参考 LiteLLM 1.107.0 供应链投毒事件。
部署暂停与事后复盘
调查期间所有部署都已暂停,用户无法上线新版本。北京时间 10/22 12:33,Jake Cooper 表示已开始逐步恢复构建,并会持续到傍晚、夜间和次日早上。在同一条帖子里,Railway 表示会在明天发布完整的事后复盘。这条帖子发于美国太平洋时间 10/21 晚上。Railway 会在状态页更新进展。
现在该做什么
以下依据 Railway 的建议,以及 Railway 另外发布的 AWS 和 GCP 两篇排查指南:
- 立即轮换存放在 Railway 上的全部环境变量,包括 API key 和私有镜像仓库凭据。
- 检查这些 key 对应服务的日志,看有没有异常活动。
- AWS key:先停用可能泄露的 key 并创建新 key,在 Railway 上更新变量后重新部署;再逐个区域查看 CloudTrail,并在 Cost Explorer 里把暴露时段和上个月对比。
- GCP 服务账号 key:停用可能泄露的 key,把新 key 部署到 Railway,再在 Cloud Audit Logs 里查有没有不是自己应用产生的活动。
