Key Takeaways:
- 一種名為「Mini Shai-Hulud」的新型供應鏈攻擊已導致 170 多個知名的 npm 和 PyPI 軟體包受損,累計下載量超過 5.18 億次。
- 該惡意軟體被歸因為威脅組織 TeamPCP,利用偷取的雲端提供商金鑰、加密貨幣錢包和 GitHub 令牌等廣泛憑據進行自我傳播。
- 對 TanStack 軟體包的攻擊尤為顯著,它濫用 OIDC 令牌和 GitHub Actions 發布帶有有效 SLSA 源自證明的惡意版本,這在 npm 蠕蟲中尚屬首例。
Key Takeaways:

一種名為「Mini Shai-Hulud」的複雜蠕蟲病毒在廣泛的供應鏈攻擊中破壞了 npm 和 PyPI 註冊表中的 170 多個軟體包。此次攻擊影響了累計下載量超過 5.18 億次的項目,並引入了一種繞過安全認證的新技術。
StepSecurity 研究員 Ashish Kurmi 表示:「攻擊者利用劫持的 OIDC 令牌,通過項目自身的 GitHub Actions 發布流水線發布了惡意版本。在一次極其罕見的升級中,受損的軟體包攜帶了有效的 SLSA Build Level 3 源自證明,這使其成為首個有案可查的生成有效認證惡意軟體包的 npm 蠕蟲。」
此次行動被歸因為威脅組織 TeamPCP,已影響了 42 個 TanStack 軟體包、65 個來自 UiPath 的軟體包,以及來自 Mistral AI、OpenSearch 和 Guardrails AI 的其他軟體包。TanStack 受損事件(CVE-2026-45321)被評為嚴重,CVSS 評分為 9.6。該事件涉及利用 pull_request_target 配置錯誤和快取投毒進行的鏈式攻擊,旨在從 GitHub Actions 運行器的進程記憶體中提取 OIDC 令牌,從而允許攻擊者在不竊取 npm 令牌的情況下發布軟體包。
攻擊者能夠為惡意軟體包生成有效的 SLSA 源自證明,這削弱了人們對旨在保護軟體供應鏈的系統的信任。這一事件向 GitHub 等平台和 npm 等註冊表施加了壓力,要求其解決 CI/CD 流水線中的架構缺陷,因為財務和運營風險現在已擴展到任何使用受損維護者依賴項的項目,可能影響價值數十億美元的軟體價值。
此次攻擊的核心是一個多階段憑據竊取程序,通常嵌入在名為「router_init.js」的混淆 JavaScript 文件中。惡意軟體對受害者的環境進行廣泛分析,以竊取各種敏感信息,包括雲端提供商的憑據、加密貨幣錢包、AI 工具和即時通訊應用。根據安全公司慢霧(SlowMist)的說法,該蠕蟲專門設計用於竊取 CI/CD 金鑰和加密錢包信息。
數據通過多個渠道被盜取,包括一個使用注重隱私的 Session 消息服務來規避檢測的域名 (filev2.getsession[.]org)。作為備選方案,被盜數據還會提交到攻擊者控制的 GitHub 倉庫中。該惡意軟體還在 VS Code 等流行代碼編輯器中建立持久化,以在重啟後存活。
在受損的 guardrails-ai 和 mistralai 軟體包中發現的 Python 變體,會從遠端伺服器獲取針對 1Password 和 Bitwarden 等密碼管理器的有效負載。微軟的分析指出,該變體包含一個破壞性分支,有六分之一的幾率刪除看起來位於以色列或伊朗的系統上的所有文件。
使 Mini Shai-Hulud 蠕蟲特別危險的原因在於它的自我傳播能力。惡意軟體利用竊取的 GitHub OIDC 令牌鑄造新的 npm 發布令牌,從而允許其發布由受損開發者維護的其他軟體包的惡意版本。這種技術繞過了對傳統身份驗證或雙因素身份驗證的需求,造成了快速傳播的威脅。
攻擊者已經自動化了這一過程,創建了 400 多個惡意倉庫,描述為「Shai-Hulud: Here We Go Again」,這是對《沙丘》系列的致敬。該蠕蟲偽造提交作者,使其看起來像合法的應用程序,進一步掩蓋其活動。
安全研究人員建議所有開發者檢查是否有任何受損的軟體包版本進入了其環境,更換所有可能暴露的憑據,並審核其 GitHub Actions OIDC 配置是否存在安全弱點。
本文僅供參考,不構成投資建議。