TanStack 供應鏈攻擊:GitHub Actions 生態系統爆發嚴重漏洞(2026 年 5 月)
TL;DR
TanStack 供應鏈攻擊:當「受信任」的軟件反噬時
2026 年 5 月 11 日,開發者世界迎來了一次殘酷的警示。在 UTC 時間 19:20 至 19:26 之間,現代網頁開發的基石——TanStack npm 命名空間,遭到了名為 TeamPCP 的威脅組織劫持。在短短六分鐘內,他們為 42 個 @tanstack/* 套件推送了 84 個惡意版本。
這並非普通的「搶註域名」(typo-squatting)攻擊。攻擊者不僅僅是上傳了惡意代碼,他們更直接入侵了構建管道(build pipeline)。透過利用 GitHub Actions 的漏洞,他們將一個竊取憑證的蠕蟲病毒直接注入到供應鏈中。最令人震驚的是,每一個惡意套件都帶有有效的 SLSA(軟件製品供應鏈級別)來源證明。
信任的幻象
這對軟件安全而言是一個分水嶺時刻。我們首次見到惡意 npm 套件帶有有效的 SLSA Build Level 3 來源證明。請試想一下:構建過程被徹底滲透,以至於安全認證(即那些旨在證明套件安全的機制)在技術上是準確的,但本質上卻是惡意的。
正如 TanStack 發布的事件後續報告 所詳述,該代碼被設計為在執行 npm install 時立即觸發。一旦激活,它便會搜尋所有內容:AWS 金鑰、GCP 憑證、Kubernetes 配置、GitHub Token 以及 SSH 金鑰。隨後,它透過 Session/Oxen 網絡悄悄地將這些數據傳輸出去。如果您當時正在運行這些套件,您的機密資訊基本上已被實時廣播給攻擊者。
攻擊剖析
TeamPCP(您可能也知道他們的其他別名,如 DeadCatx3、PCPcat 或 ShellForce)並未止步於 TanStack。他們部署了「Mini Shai-Hulud」蠕蟲的變體。在五小時內,感染範圍擴散至 npm 和 PyPI 上超過 170 個套件。
npm 供應鏈入侵事後檢討 指出,雖然個別 npm 帳戶未必被駭,但攻擊者透過 GitHub Actions 的 pull_request_target 工作流程找到了後門。他們實質上是欺騙了 CI/CD 管道,讓其為他們執行繁重的惡意操作。
| 指標 | 詳細資訊 |
|---|---|
| 事件日期 | 2026 年 5 月 11 日 (19:20–19:26 UTC) |
| 受影響套件 | 42 個 @tanstack/* 套件 |
| 惡意版本 | 共 84 個版本 |
| 來源證明狀態 | 有效的 SLSA Build Level 3 (已遭入侵) |
| 數據外洩方式 | Session/Oxen 網絡 |
| 主要威脅組織 | TeamPCP / DeadCatx3 |
為何傳統安全機制失效?
多年來,我們一直告訴開發者要「檢查來源證明」和「驗證簽名」。但當構建環境本身就是謊言時,該怎麼辦?
由於入侵發生在源頭,自動化的信任機制執行了它們被編程執行的任務:驗證了一個恰好包含惡意負載的「受信任」構建。這不僅僅是 TanStack 的問題。我們在近期針對 Trivy、Checkmarx KICS、LiteLLM 和 Bitwarden CLI 的攻擊中也看到了類似的模式。顯然,我們正目睹一場針對 CI/CD 基礎設施核心的高級協調攻擊。
如果您使用了受影響的版本,官方安全公告 的建議很明確:請做最壞打算。TeamPCP 正與 Vect 勒索軟件組織合作,這無疑是雪上加霜。他們不僅僅是竊取數據,還在收集憑證,以便日後進行全面性的破壞攻擊。
清理工作:您現在需要做什麼
如果您的 CI/CD 管道曾觸及這些套件,您需要假設整個環境已被入侵。以下是當前情況的應對措施:
- 徹底清除(或至少進行審計): 將所有曾觸及這些套件的 CI/CD 環境或開發機器視為犯罪現場。
- 輪換所有憑證: 不要只更改密碼。輪換所有可能被這些機器存取的 API 金鑰、雲端 Token 和 SSH 金鑰。假設它們已經落入攻擊者手中。
- 追蹤線索: 檢查您的 CI/CD 日誌,查看 5 月 11 日前後是否有任何
npm install活動或異常的出站網絡流量。 - 清理依賴項: 更新至 官方套件註冊表追蹤 中列出的安全版本。不要假設您當前的 lockfile 是安全的。
- 防範橫向移動: 由於這些攻擊者與勒索軟件組織有關聯,請密切關注您的內部網絡。他們正試圖從您的構建伺服器移動到生產環境。
自動化的脆弱性
「Mini Shai-Hulud」蠕蟲是一個嚴峻的提醒,說明我們現代的構建管道是由脆弱的信任網絡維繫的。透過針對 GitHub Actions,TeamPCP 有效地繞過了我們花費十年建立的邊界防禦。我們一直假設如果構建環境是自動化且經過「證明」的,它就一定是安全的。這次事件證明這種假設是一個危險的謬誤。
對於想要深入研究的人,TanStack router 儲存庫的問題追蹤器 深入探討了 OIDC Token 提取的實際運作方式。這是一份發人深省的讀物,展示了管道被操縱是多麼容易。
隨著調查的進行,給開發者社群的訊息很簡單:停止盲目信任管道。我們已經達到了一個臨界點,構建環境的完整性不再是理所當然的——它必須經過驗證、審計,並以我們對待代碼本身的懷疑態度來對待。請保持警惕,因為威脅組織絕對不會鬆懈。