這波最新的供應鏈攻擊不僅入侵了開源註冊庫,更劫持了全球安全意識最強的組織之一內部發布管道,而入侵的切入點竟是一次例行的 npm 依賴項安裝。
2026年5月11日,威脅組織 TeamPCP 發動了其 Shai-Hulud 蠕蟲攻擊行動的第四波攻勢,該行動現被追蹤為 Mini Shai-Hulud。 此次攻擊在短短六分鐘內,便篡改了 npm 套件庫中 42 個 TanStack 套件的 84 個惡意版本,最終擴散至 npm 和 PyPI(Python 套件索引)源碼套件庫中的 170 多個套件,其中包括 Mistral AI、UiPath 和 OpenSearch 所屬的命名空間。受影響的套件中,至少有 @tanstack/react-router 一個套件,每週下載量約達 1,200 萬次。
這是這場日益升級的攻擊行動中的第四波。前幾波攻擊包括最初的 npm 系統遭入侵事件(Shai-Hulud 1.0),以及針對 GitHub 帳戶憑證的 2.0 波攻擊。
OpenAI 本週透露,有兩台員工裝置遭到入侵。雖然用戶資料、生產系統或智慧財產權均未受影響,但為控制事態,公司採取了隔離系統、輪替憑證、委請外部鑑識團隊協助,以及因單一依賴項安裝而觸發的 macOS、Windows、iOS 和 Android 平台全系統代碼簽署憑證輪替等措施。
迷你沙伊-胡魯德 第四波:快速資訊
- 攻擊日期:2026年5月11日
- 受影響的套件:42 個 @tanstack/* 套件中共有 84 個惡意版本;npm 與 PyPI 套件庫中總計超過 170 個
- CVE:CVE-2026-45321,CVSS 分數 9.6(嚴重)
- 來源:TeamPCP(亦被追蹤為 PCPcat、UNC6780)
- 運作機制:三項串聯的 GitHub Actions 漏洞——Pwn Request、快取中毒,以及從執行程序記憶體中提取 OIDC(OpenID Connect)憑證
- 知名受害者:OpenAI——兩名員工的裝置遭入侵;內部原始碼儲存庫中的機密資訊遭竊取,包括 macOS、iOS、Windows 及 Android 的程式碼簽章憑證
- 先前版本:Shai-Hulud 1.0(2025年9月)、2.0(2025年11月)及 3.0(2025年12月)
- 影響: 開發與 CI/CD 環境遭到入侵 ,維護者帳戶及套件遭接管,且 SLSA 來源追蹤與簽名建置不再「預設為安全」
- 主要風險:通過 SLSA(Software 供應鏈等級)建置等級三來源驗證的惡意套件
攻擊的運作方式
「Mini Shai-Hulud 第四波」是此系列攻擊迄今為止技術層面最為精妙的版本。先前各波攻擊皆仰賴遭入侵的維護者帳戶直接發布惡意套件,而第四波則串聯了三個 GitHub Actions 漏洞,藉此劫持合法的發布管道本身。
攻擊流程:
- 分叉與偽裝:攻擊者將 TanStack/router 儲存庫進行分叉,並將其重新命名為 zblgg/configuration,以免在 GitHub 的分叉清單檢視中顯得過於明顯。
- 觸發工作流程: 已開啟一個 拉取請求,觸發了 pull_request_target 工作流程——此「Pwn Request」模式會授予工作流程對分支代碼的存取權限
- 緩存中毒:攻擊者的 分支程式碼將一個經過篡改的 1.1 GB pnpm-store 條目寫入 GitHub Actions 緩存中,並設定了相應的鍵值,以便發布工作流程日後能還原該條目
- 掩蓋蹤跡:隨後,該 惡意拉取請求被 強制推送至「無操作」狀態並關閉,以掩蓋遭入侵的證據
- 等待觸發條件:當 TanStack 的正規維護者將無關的拉取請求合併至主分支時,發佈工作流程便被觸發,並恢復了遭篡改的快取
- Steal the token: Attacker-controlled binaries read /proc/<pid>/mem of the Runner.Worker process to extract the OIDC token minted for npm trusted publishing
- 透過發布管道進行發布:這些 標記被用於透過 TanStack 自身的合法發布管道,將 84 個惡意套件版本發布至 npm 註冊表。
- 結果是:這些套件雖具備有效的 SLSA Build Level 三級來源證明、有效的 Sigstore 證明,以及由正規發布管道產生的合法 GitHub Actions 簽名,卻內含竊取憑證的惡意軟體。正如 TanStack 在其事後分析報告中所確認的,從開發者的角度來看,這些套件在加密層面上看似真實無虞,且沒有任何明顯的遭入侵跡象。
機密資料遭洩露:該惡意軟體 的有效載荷透過三條冗餘管道,將受感染系統上可直接存取的機密資料(包括憑證和代幣)外洩:一個拼寫劫持網域(git-tanstack[.]com)、去中心化的 Session 即時通訊網路,以及利用竊取的代幣透過 GitHubAPI 。 遭窺探的憑證包含 GitHub 憑證、來自 AWS、GCP 和 Azure 的雲端機密、CI/CD 驗證資料、Kubernetes 憑證、HashiCorpVault ,以及 SSH 金鑰。
在開發者電腦上,該惡意軟體會安裝一個名為 gh-token-monitor 的持久性守護程序(透過 macOS LaunchAgent 或 Linux systemd),該程序每 60 秒向 GitHub 進行輪詢。當接收到因代幣撤銷而產生的 40X 錯誤時,該守護程序會嘗試執行 rm -rf ~/ 指令,以清除使用者的家目錄。該守護程序會在 24 小時後自動退出。
OpenAI 的影響及其啟示
OpenAI 的披露報告明確指出遭竊取的內容:僅限於兩名受影響員工可存取的內部原始碼儲存庫子集中的部分憑證資料,其中包括 macOS、iOS、Windows 及 Android 產品的程式碼簽署憑證。 OpenAI 確認目前沒有證據顯示這些憑證曾被用於簽署惡意軟體,但為防患未然,已將所有憑證進行輪替,並要求 macOS 用戶在 2026 年 6 月 12 日之前更新應用程式;此日期過後,使用舊憑證簽署的應用程式可能會停止運作。
OpenAI 的披露中還有一個細節值得注意。這兩台遭入侵的裝置尚未收到更新的套件管理設定,其中包含最低版本年齡檢查和套件來源驗證等控制措施,這些措施當時正於該組織的環境中逐步推行。攻擊正是發生在該部署期間。
這描述了一種真實且常見的漏洞。安全控制措施是分階段部署的。在任何分階段部署過程中,部分系統都會面臨更大的風險。TeamPCP 的攻擊行動持續數週,不斷將惡意套件發布至軟體庫,並等待使用者進行安裝。這樣的時機選擇絕非偶然。
驗證您的Software ,以防範Supply Chain
MetaDefender Software Chain™解決方案旨在協助組織檢查進入Software 生命週期(SDLC)的實際組件、套件及二進位檔,包括攜帶有效簽章或來源證明之套件,並在套件被使用的環節,為整個開發流程提供軟體可視性。
MetaDefender Supply Chain 中的三項功能,能直接彌補此次攻擊所利用的漏洞:
Metascan™Multiscanning:整合超過30 種商用反惡意軟體引擎,在套件抵達開發者工作站或 CI/CD 管道之前,便對來自 npm 和 PyPI 等原始碼註冊庫的套件進行掃描。當單一偵測引擎可能無法標記新發布的變種時,整合後的偵測範圍能縮短惡意套件在未被偵測的情況下執行的時間窗口。
SBOM(Software )生成 :提供整個技術堆疊中軟體元件的可視性,涵蓋直接與間接依賴關係、版本歷史及註冊表元資料,並支援十多種程式語言。SBOM有助於在意外的套件變更傳遞至下游之前即予以察覺,並可匯出為 CycloneDX 和 SPDX 格式,以協助符合包括《數位營運韌性法案》(DORA)在內的法規要求。
Proactive DLP™:在機密資訊(如密碼、API 、憑證及嵌入程式碼中的憑證)暴露給攻擊者之前,即對原始碼進行掃描以偵測硬編碼的機密資訊。這與憑證外洩應對措施有所不同:主動式 DLP™技術旨在解決因儲存庫遭入侵(如 OpenAI 事件中發生之情形)而導致原始碼或設定檔內殘留的機密資訊遭存取的風險。
MetaDefender Software Supply Chain 可原生整合 GitHub、GitLab、Azure DevOps 及 Nexus,將檢查流程置於開發管線內部,而非並行於管線之外。最新發布的 3.3.0 版本新增了透過資料二極體技術進行單向資料傳輸的功能,支援在隔離環境間進行安全的建構產出物傳輸,讓處於物理隔離或高安全環境中的組織,能在建構產出物跨越網路邊界前進行驗證,並提供可融入現有 DevSecOps 工作流程的啟用機制。

建議立即採取的行動
對於任何可能在「Mini Shai-Hulud」事件期間安裝了受影響套件的組織:
- 在撤銷憑證前,請先檢查是否存在 gh-token-monitor 守護程序:請先隔離並備份受影響的系統;若過早撤銷憑證,將觸發資料清除程式。
- 輪替更新已外洩的機密資訊:針對在受影響期間曾安裝套件的任何開發人員或建置流程,請更新 GitHub 存取密碼 (PAT)、npm 憑證、SSH 金鑰及雲端服務憑證;並啟用多因素驗證 (MFA)。
- 移除受影響的套件:清除 npm 快取和 node_modules 目錄;將套件版本鎖定為 2026 年 5 月 12 日之後發布的版本。
- 審查 GitHub Actions 和 CI/CD 工作流程:檢查是否有意外的發布事件、新建立的工作流程,或是連接到陌生端點的外發連線。
- 強化管道安全性:限制生命週期腳本、限制外發網路存取,並最小化憑證作用範圍。
- 將來源驗證與內容檢查結合:有效的來源資訊僅能表明資料處理流程的來源,而非其完整性;應在進行憑證驗證的同時,搭配惡意軟體掃描。
關鍵要點
來源證明僅能表明來源,而非完整性
Wave Four 之所以能產生經過有效驗證的惡意套件, 是因為發布管道本身已遭入侵。簽名與來源檢查雖是有效的指標,但並不能保證內容的安全性。
部署窗口即為暴露窗口
OpenAI 的事件發生於新供應鏈控制措施分階段推行期間。每個組織在部署控制措施時都會面臨類似的漏洞。在每個階段進行內容層級的檢查,有助於降低對「在攻擊來臨前必須先完成政策覆蓋」的依賴。
此活動仍在進行中
Mini Shai-Hulud 是自 2025 年 9 月以來技術複雜度持續升級的活動中的第四波攻擊。若僅將個別事件視為已解決,卻未處理底層管道的漏洞,將使組織面臨下一波攻擊的風險。
結合 SBOM 可視性、惡意軟體多重掃描以及硬編碼機密資訊偵測,有助於降低現代軟體開發環境中的攻擊面。不信任任何檔案。不信任任何裝置。
準備好保護您的軟體開發流程,免受「Mini Shai-Hulud」這類供應鏈攻擊的威脅了嗎?
