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 裡查有沒有不是自己應用程式產生的活動。