適用對象:在 Vercel 上部署的開發者與營運人員、將正式環境機密(API 金鑰、資料庫憑證、簽章金鑰)存放於環境變數的團隊、Google Workspace 管理員,以及使用運作方式相同的 PaaS(替你執行應用程式的平台)的人。
本文根據 Vercel 的官方資安公告與文件撰寫,不涵蓋攻擊技術或入侵指標(IoC)數值。
Vercel 使用者今天應該做什麼
確認是否收到 Vercel 的通知,即使沒有也要繼續
Vercel 表示已直接聯繫受影響的客戶,並建議立即輪換憑證。其4月22日的更新補充,擴大審查又發現少數遭入侵的其他帳號,這些帳號也已收到通知。請先確認哪些信箱會收到 Vercel 的訊息(團隊擁有者、帳務聯絡人)。
不過,Vercel 將以下步驟列為無論如何都應遵循的最佳實務。沒有收到 Vercel 的通知,不是什麼都不做的理由。
列出未標示為敏感的環境變數,並優先輪換其中的機密
Vercel 要求你將未標示為敏感的環境變數(包括 API 金鑰、權杖、資料庫憑證、簽章金鑰等)視為可能已外洩,並優先進行輪換。
在儀表板的環境變數表格中,每個變數都會標示為 Config(儲存後可顯示其值)或 Secret(儲存後無法顯示其值)。標示為 Config 的機密就是目前需要處理的清單。請同時檢查團隊層級的共用變數與專案變數。
依此順序輪換:先加入新金鑰並重新部署,再使舊金鑰失效
Vercel 文件提供了不中斷服務的輪換順序:
- 在第三方服務(資料庫或 API 供應商)中核發新憑證,暫時保留舊憑證
- 更新 Vercel 環境變數
- 重新部署(若為團隊層級變數,則需重新部署所有使用該變數的專案)
- 確認運作正常後,使舊憑證失效
只更新變數,執行中的部署仍會使用舊值,而只有第4步才會讓外洩的值失去作用。
將新值儲存為 Secret
將你建立的新值儲存為 Secret(僅寫入)。Vercel 在公告中表示,敏感功能可防止機密值在日後被讀取。
截至2026年9月30日,文件指出 Secret 的值在儲存後會被隱藏,只能透過提供新值來變更;Secret 過去僅限於 Production 與 Preview,現在也允許用於 Development。關於各類內容應放在哪裡,請參閱本文後面的比較。
刪除任何專案前,先完成輪換
Vercel 明確表示,刪除專案或帳號並不足以消除風險,因為外洩的機密在它所開啟的資料庫或 API 中仍然有效。如果你正在清理舊專案或準備離開 Vercel,請先在供應商處使金鑰失效,再進行刪除。
檢查活動紀錄與近期部署
Vercel 建議檢查你帳號與環境的活動紀錄(可於儀表板或透過 CLI 查看),找出可疑活動,並檢查近期部署中是否有任何非預期或看起來可疑的內容。若有可疑部署,應予以刪除。同時可利用同一份紀錄,尋找是否有人檢視過環境變數的值。
將 Deployment Protection 設為 Standard 或更高,並輪換其權杖
Vercel 建議至少將 Deployment Protection 設為 Standard,若你使用 Deployment Protection 權杖,也應加以輪換。Vercel 文件指出,Standard 是大多數專案建議的選項:它會保護預覽與各部署專屬的 URL,而目前的正式環境 URL 仍維持公開。
為 Vercel 帳號開啟多因素驗證
Vercel 建議使用驗證器應用程式或通行金鑰進行多因素驗證。這些方式為何優於簡訊,請參閱選擇多因素驗證。
Google Workspace 管理員:搜尋公告中列出的 OAuth 應用程式
Vercel 公布了該 AI 工具的 Google Workspace OAuth 應用程式識別碼,並建議 Google Workspace 管理員與 Google 帳號擁有者立即檢查該應用程式的使用情況。
根據 Vercel,該 OAuth 應用程式遭到更大範圍的入侵,可能影響多個組織的數百名使用者,因此未使用 Vercel 的組織也可能在範圍內。識別碼請從下方來源中連結的 Vercel 公告取得。
限制員工所連接的 AI 工具與 OAuth 應用程式
根據 Vercel,攻擊者利用存取第三方 AI 工具的權限,接管該員工的 Google Workspace 帳號,並由此進入其 Vercel 帳號。
員工以「使用 Google 登入」或「允許存取 Drive」的方式,將實用的 AI 工具連接到公司帳號,每個組織每天都在發生。以下是 Google Workspace 管理員今天就能調整、用以降低此風險的設定。
列出連接到公司帳號的第三方應用程式
Google 管理員說明頁面「控制哪些應用程式可存取 Google Workspace 資料」指出,管理主控台會顯示哪些應用程式曾存取組織資料、是哪些使用者授權的,以及每個應用程式要求的 OAuth 範圍。
匯出清單,標記無人能說明用途的應用程式,以及擁有可讀取整個 Drive 或 Gmail 範圍的應用程式。
封鎖未使用的應用程式,並縮減保留應用程式的權限
同一頁面說明,每個應用程式可設定為「受信任」、「受限」、「特定 Google 資料」或「已封鎖」。對於你決定保留的應用程式,請只開放其所需的資料,其餘則予以封鎖。
阻止員工自行連接未經設定的應用程式
你可以設定組織政策,決定使用者是否可以授權管理員未設定的第三方應用程式。只允許要求基本登入資訊的應用程式,可讓每個新的 AI 工具都必須經過管理員審查。
對於 Gmail 與 Drive,你也可以逐一限制高風險範圍,例如寄送郵件或刪除檔案。
將正式環境管理員帳號與連接 AI 工具的帳號分開
以下為本站建議。在此事件中,AI 工具所連接的 Google 帳號成為進入 Vercel 帳號的途徑。擁有正式環境或託管系統管理權限的人,應考慮不要將試用的 AI 工具連接到用來登入這些系統的帳號。若一定要連接工具,請使用另一個對業務資料存取權限受限的帳號。
發生了什麼(依 Vercel 公告)
以下內容皆依 Vercel 的資安公告「Vercel April 2026 security incident」所述。Vercel 多次更新該公告,並於4月24日後改為僅在有重大更新時才更新。
2026年4月19日
Vercel 揭露某些 Vercel 內部系統遭未經授權存取,表示已委請事件應變專家並通知執法機關,並公布 OAuth 應用程式識別碼,以便其他組織檢查自身環境。2026年4月19日(稍後更新)
Vercel 公布攻擊來源(一個遭入侵的第三方 AI 工具),並新增建議事項。2026年4月20日
Vercel 闡明「遭入侵憑證」的定義並新增建議。同日表示其 npm 套件經驗證未遭入侵,新增多因素驗證指引,並推出產品改進。2026年4月22日
Vercel 公布擴大審查的結果:在本次事件中另有少數遭入侵的帳號,已通知這些帳號;另外有少數客戶帳號出現入侵跡象,但似乎與本次事件無關,這些帳號已接受具體的修正措施。2026年4月23日
Vercel 進一步說明其調查結果。2026年4月24日
無更新。此後,Vercel 表示若有重大更新,將通知受影響的客戶並更新公告。
- 來源
- 一名 Vercel 員工所使用的第三方 AI 工具遭入侵。該工具的 Google Workspace OAuth 應用程式遭到跨多個組織的更大範圍入侵
- 路徑
- 接管員工的 Google Workspace 帳號 → 進入該員工的 Vercel 帳號 → 進入一個 Vercel 環境 → 透過系統移動,列舉並解密環境變數
- 遭取得的內容
- 對於一小部分客戶,未標示為敏感的環境變數(會解密為明文者)
- 進一步發現
- 另有少數在本次事件中遭入侵的帳號,現已通知。此外,有少數帳號出現入侵跡象,似乎與本次事件無關,且似乎並非源自 Vercel 系統
- 未受影響
- Vercel 發布的 npm 套件(已與 GitHub、Microsoft、npm 及一家資安公司確認)
- Vercel 的評估
- Vercel 根據作業速度與對 Vercel 產品 API 介面的深入了解,評估攻擊者為高度專業。目前正與事件應變公司、業界同行及執法機關合作
- 產品變更
- 改善環境變數管理(更嚴格的預設值、強化防護機制、產品內教育),提供團隊層級的環境變數管理與安全總覽,並提供更易使用的活動紀錄
閱讀說明:未公布任何數量,本文也不點名該工具
Vercel 僅將受影響的客戶描述為「有限的子集」與「少數」,並未公布具體數量。本站不會列出該組織未揭露的數字。
Vercel 的公告有提及 AI 工具的供應商,但依本站政策,我們只點名揭露事件的組織,其他相關方則以角色描述(「第三方 AI 工具」)。若要檢查你自己的組織,請使用 Vercel 公告中的 OAuth 應用程式識別碼,而非工具名稱。
哪個階段本可以阻止損害
1. 第三方 AI 工具
其 OAuth 應用程式遭大範圍入侵
↓→
有幫助的設定
管理員限制哪些應用程式可連接及其範圍
2. 員工的 Google 帳號
遭接管,並用於進入 Vercel
↓→
有幫助的設定
正式環境管理員帳號不連接試用工具
3. Vercel 環境
環境變數遭列舉
↓→
客戶可以做的事
客戶無法阻止此步驟;值是否外洩取決於第 4 步的類別
4a. 可讀取(Config)
被解密並以明文取得
4b. 僅寫入(Secret)
Vercel 只將 4a 列為遭入侵
可放入 Config 的內容(值可以顯示)
- 公開也無妨的值:公開 URL、功能旗標、日誌等級
- 無論如何都會送到瀏覽器的值:例如任何以
NEXT_PUBLIC_開頭的內容 - 需要讀回的設定:區域名稱、儲存貯體名稱等,單獨使用無法開啟任何東西
應放入 Secret 的內容(值無法顯示)
- API 金鑰與存取權杖:付款、寄送電子郵件、AI API
- 資料庫連線字串與密碼
- 簽章與加密金鑰:工作階段與 JWT 簽章、Webhook 驗證機密
- 外部服務的管理員憑證:雲端存取金鑰等
本站觀點:之後可以顯示的值,入侵者也能讀取
讓環境變數保持可讀取,通常是為了日後能檢查其值。此事件顯示,同一類別對任何進入平台內部的人而言都是可讀取的。Vercel 所指出遭入侵的變數,正是屬於此類別。
一個判斷方式就足夠了:你之後是否還需要在這個畫面上讀回這個值?如果不需要,就將它設為 Secret。若你需要查詢的機密,應存放在實際儲存它的地方,例如密碼管理器或供應商的主控台,而不是放在部署平台上的可讀副本。
Vercel 文件也提供團隊政策「Separate Production Secret Values」,要求正式環境的 Secret 必須與 Preview 及 Development 中的不同。這是另一項設定,可避免外洩的預覽金鑰在正式環境中仍可使用。
同樣的邏輯也適用於其他 PaaS 與 CI 系統。任何以可讀形式保存你機密的服務,都會成為與你實際管理的儲存位置分開的第二個儲存地點。機密存放的基本原則與如何切分,請參閱.env 檔案與 API 金鑰有什麼風險。
2026年5月也發生了一連串從開發者工具開始的入侵事件,涉及 TanStack、Nx Console 與 GitHub。該事件的切入點是程式碼發布管道(npm 套件與編輯器擴充功能),而關於「單一遭竊的金鑰不能單獨發布」這類結構的教訓,請參閱開發者在 TanStack、Nx Console 與 GitHub 事件鏈之後應檢查什麼。
在 Vercel 事件中,切入點不是程式碼,而是透過 OAuth 連接的 SaaS 權限。若切入點是 CI 中執行的工具本身,請參閱Trivy 供應鏈入侵。
來源(公開紀錄)
本文的事實來自以下公開來源。不涵蓋攻擊技術、IoC 數值,以及可識別攻擊者的資訊。
- Vercel,「Vercel April 2026 security incident」(資安公告,2026年4月19日發布,4月24日更新)— vercel.com
- Vercel Docs,「Sensitive environment variables」(Config 與 Secret 類型,2026年8月28日修訂)— vercel.com
- Vercel Docs,「Rotating environment variables」(不中斷服務的輪換)— vercel.com
- Vercel Docs,「Deployment Protection」(Standard Protection)— vercel.com
- Google Workspace 管理員說明,「控制哪些應用程式可存取 Google Workspace 資料」— knowledge.workspace.google.com
更新紀錄
2026-09-30:首次發布,依據 Vercel 資安公告(4月24日修訂版)及截至2026年9月30日的 Vercel 官方文件撰寫。若 Vercel 更新公告,我們將更新本頁。
延伸閱讀
- 較新的開發者平台案例:未經授權存取 WorkOS 內部銷售應用程式
- 機密應存放的位置:.env 檔案與 API 金鑰有什麼風險 / 什麼是 .env 檔案?
- 其他從開發者工具開始的事件:TanStack、Nx Console 與 GitHub 事件鏈 / Trivy 入侵後 CI 使用者應該做什麼
- 透過有效憑證發生的入侵:2026年的入侵如何透過有效憑證發生
- 帳號保護:選擇多因素驗證
- 將機密排除在儲存庫之外:使用 gitleaks 在提交前攔截機密
- 其他2026年事件:2026年的資料外洩與網路攻擊