Vercel 發生的 OAuth 供應鏈攻擊事件揭示了受信任的第三方應用程式與平台環境變數如何繞過傳統防禦措施並擴大攻擊範圍。本文探討攻擊鏈、背後的設計取捨,以及此事件對現代 PaaS 與軟體供應鏈風險的啟示。

此事件起因於 2026 年 2 月左右 Context.ai 員工感染 Lumma Stealer 惡意軟體,攻擊者利用被竊取的 Google Workspace OAuth 權杖入侵 Vercel 內部系統,暴露部分客戶專案的環境變數。Vercel 是廣泛用於前端與無伺服器應用的雲端部署與託管平台。

2026 年 4 月 19 日,Vercel 發布安全公告,CEO Guillermo Rauch 在社群平台 X 詳細說明攻擊鏈並點名 Context.ai 為受影響第三方。

此事件重要之處在於展示 OAuth 供應鏈信任關係如何創造橫向移動路徑,繞過傳統邊界防禦;同時 Vercel 的環境變數敏感度模型使非敏感憑證未加密存放,攻擊者一旦取得內部存取權限即可讀取。

攻擊流程包括:

1. 第三方 OAuth 應用被入侵(T1199):攻擊者透過 Context.ai 員工感染惡意軟體,竊取 OAuth 權杖,取得 Context.ai AWS 環境存取權。

2. 工作區帳號接管(T1550.001):利用被盜 OAuth 權杖入侵 Vercel 員工的 Google Workspace 帳號,取得郵件、文件、行事曆等內部資源。

3. 內部系統存取(T1078):從被入侵的 Workspace 帳號橫向移動至 Vercel 內部系統。

4. 環境變數列舉(T1552.001):攻擊者利用足夠權限列舉客戶專案的環境變數,取得未標記為敏感的憑證。

5. 潛在下游濫用(T1078.004):環境變數中常含有下游服務憑證,已有客戶報告在 Vercel 公開前收到 OpenAI API 金鑰外洩通知。

此事件顯示 OAuth 基於合法應用權限的入侵難以被標準偵測控管發現,且 Google Workspace OAuth 日誌保留期約六個月,對調查有利。

Vercel 環境變數的敏感標記預設為關閉,未明確標記為敏感的憑證會以未加密形式存放,造成安全風險。Vercel 已推出儀表板改版,提升敏感變數管理,但預設仍需開發者手動設定。

此事件反映軟體供應鏈中憑證外洩的系統性風險,類似事件包括 Codecov、CircleCI 等平台的客戶憑證外洩。

防禦建議包括:

- 審核所有環境變數設定,確認敏感標記。

- 監控 OAuth 應用異常行為,特別是非預期 IP 或權限擴大。

- 監控內部系統異常存取與環境變數列舉行為。

- 針對非敏感環境變數中憑證,檢查下游服務異常使用紀錄。

- 配置第三方憑證外洩通知監控,將其視為潛在平台入侵警示。

此外,Vercel CEO 指出攻擊團隊可能利用 AI 加速攻擊行動,顯示未來攻擊手法將更快速且難以偵測。

總結來說,Vercel 事件凸顯 OAuth 供應鏈信任關係與環境變數管理的安全挑戰,企業應將 OAuth 授權視為第三方風險管理,並採用專門的秘密管理系統以降低憑證外洩風險。