雲端開發平台 Vercel 揭露一宗資安事件,攻擊者取得其部分內部系統的未授權存取權。事件源頭並非 Vercel 本身,而是來自曾被員工使用的第三方 AI 工具 Context.ai——藉由 OAuth 憑證供應鏈,一台被 Roblox 外掛感染的筆電,橫向進入了 Vercel 內部環境。
Context.ai 先遭入侵,攻擊者取得該工具的 OAuth 權限(含 Google Workspace 存取),進一步接管 Vercel 員工帳號,再橫向移動、進入 Vercel 內部系統。
過程中,攻擊者取得了一些未標記為敏感的環境變數(environment variables),並利用這些資訊擴大存取範圍。敏感變數因採密文儲存未外洩;Next.js、Turbopack 與 npm 套件經 Microsoft、GitHub、npm、Socket 四方確認未遭污染。
Hudson Rock 追查發現,一名 Context.ai 擁有敏感存取權限的員工,在家中搜尋並下載 Roblox 「auto-farm」腳本與 executor。這類工具長期是資訊竊取器 Lumma Stealer 的已知傳播管道;執行後立即於背景展開憑證收割。
support@context.ai
— Entire corporate SaaS stack in one stealer log
從該名員工外洩的憑證涵蓋 Google Workspace、Supabase、Datadog、Authkit;其中最致命的是 support@context.ai 這組 administrative 等級帳號。這支帳號讓攻擊者不再只是「登入一個員工」,而是能在 Context.ai 企業租戶內提升權限、偽造支援流程、並操作 OAuth 應用本身的設定。
Context.ai 自行揭露,其 AWS 環境出現未授權存取;他們偵測並阻擋了入侵者,但同時評估:部分消費級用戶的 OAuth tokens 可能已被竊取——這句話,正是日後災難擴散的關鍵。因為 Context.ai 是一款讀取使用者 Google 資料的 AI 工具,其手上握著代客戶持有的 OAuth 憑證。
Google 於 2026-03-27 將 Context.ai 的 Chrome 擴充套件下架——原因是其內嵌的 OAuth 權限過於氾濫,足以讀取使用者整個 Google Drive。OX Security 指出:涉事的 Vercel 員工正好安裝了這個擴充,並以企業 Google 帳號登入——從此,Vercel 的 Workspace 資料就透過這條合法的 OAuth 通道,留在了 Context.ai 的系統裡。
Vercel 官方公告的用字非常具體:攻擊者「取代(stand-in)」了該員工的 Vercel Google Workspace 帳號。這不是暴力破解、也不是釣魚登入——而是使用 Context.ai 洩漏出來的合法 session / refresh token 來重放登入,繞過 MFA、繞過地理位置風控。Vercel 稱攻擊者「操作速度快、對系統結構極為熟悉」。
進入 Vercel 內部後,攻擊者存取了未標記為 sensitive 的環境變數——那些在 Vercel 舊預設下仍以明文可讀形式儲存的設定。標記為 sensitive 的變數採加密保管,Vercel 目前無證據顯示它們被讀取。事件後,Vercel 直接把「敏感」改為新建立環境變數的預設模式。
攻擊者聲稱出售「資料庫存取密鑰與部分原始碼」,開價美金 200 萬。加密貨幣開發者社群同日一片慌亂,因為不少 web3 專案將 Vercel 作為前端托管、API keys 直接寫在 env 裡。OX Security 的建議很直白:所有 Vercel / Context.ai 客戶都應把自己視為已遭入侵,並立即輪替。
Vercel 聯合 Mandiant、其他資安公司與執法單位展開鑑識,並與 GitHub / Microsoft / npm / Socket 協同驗證——Vercel 發佈的任何 npm 套件皆未受污染。受影響客戶已被主動通知、更換憑證;事件期間 Vercel 服務本身持續正常運作。
Hudson Rock 分析認定技術手法精密、動作迅速;熟稔 Vercel 內部架構;透過 BreachForums 掛牌與買家接觸。
擔任 Google Workspace OAuth 中介的 SaaS;因員工個人電腦感染 Lumma,一路被橫向移動到自家 AWS 與 OAuth app。
因一名員工以企業 Google 帳號授權 Context.ai Chrome 擴充,成為 OAuth 供應鏈的受害者;非敏感 env vars 外洩。
「有限子集」受影響;web3 / crypto 前端團隊最為緊張。尚未受損:Next.js、Turbopack、npm 套件、已 flagged sensitive 的 env。
Vercel 帳號、Git 來源、Team 管理者層級都要開。OAuth token 外洩的教訓是:靜態密碼早已不夠。
移除可疑第三方。特別是 client ID 開頭為 110671459871- 的兩個 Context.ai 應用;到 Google Account → Security → Third-party access 檢查。
DB 連線字串、API keys、service role token——全部視為已外洩。重新產生並改以 sensitive 模式存放。
檢查 audit log:有無陌生 IP、異常團隊成員變更、非預期部署 hook。尤其是 3 月 ~ 4 月間的動作。
至少設為 Standard,並輪替相關 protection bypass token。Preview 分支往往是被忽略的蜜罐。
這次攻擊沒用到任何新型 AI 技術,
卻揭示一個殘酷真相—
OAuth token,是新的橫向移動管道。
攻擊者只要攻破一家小型 AI/SaaS 廠商,就能靠對方代客戶持有的 OAuth 憑證,魚貫進入數百家下游企業。劇本從來沒變過:
Salesloft Drift Gainsight Context.ai × Vercel
Agentic AI 讓風險更嚴重——這類平台往往位於 OAuth 授權的中樞、手握大範圍權限,卻常由資安成熟度不足的年輕公司經營。除非業界開始把 OAuth token 視為高價值憑證來管理(最小權限、短生命週期、設備綁定、風控重放保護),否則同樣的新聞標題,只會不斷換個公司名字重演。
110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj
.apps.googleusercontent.com
如在 Google Account → Security → Third-party apps 中看到此 client ID,請立即撤銷授權並輪替相關密鑰。第二個相關 client ID 的前綴亦為 110671459871-。
FEB 2026 LUMMA INFECTION
MAR 2026 CONTEXT.AI AWS ACCESS
MAR 27, 2026 CHROME EXT TAKEDOWN
APR 19, 2026 VERCEL DISCLOSURE
APR 20, 2026 NPM VERIFIED CLEAN
事件屬於「緩慢燃燒型」供應鏈攻擊。從 patient zero 到公開揭露超過 60 天,從 OAuth 竊取到真正觸發 Vercel 端入侵亦有約 30 天 dwell time。