2026 年 8 月 4 日,一名攻擊者接管了 keyv 維護者的 GitHub 帳戶——keyv 是一套每週在 npm 上的下載量約達數億次的鍵值快取函式庫——並在該維護者整個套件家族中注入了一種竊取憑證的蠕蟲,受影響的套件包括 cacheable、flat-cache、file-entry-cache 以及 cache-manager。 此攻擊被追蹤為「ChainDrop」,並擴散至數百個其他套件,這些套件的月安裝總數超過 20 億次。
其危險之處不在於下載次數,而在於惡意程式碼是如何獲得信任的。攻擊者是透過該專案自身的自動化發布管道進行發布,因此遭篡改的版本具備有效的來源證明:即經簽名的證明,顯示該套件是由官方管道根據真實原始碼所建置的。這項證明本應是安全信號。在此案例中,該證明確實真實無誤,因為管道本身已被入侵。對開發人員而言,或是對檢查簽名的資安工具來說,惡意版本看起來完全真實無虞。
ChainDrop 是研究人員自 2025 年 9 月以來持續追蹤的一系列攻擊行動中的最新一波:Shai-Hulud 1.0(2025 年 9 月)、2.0(2025 年 11 月)以及Mini Shai-Hulud 第四波(2026 年 5 月)。每波攻擊的強度皆不斷升級,後續變種不僅傳播方式更為兇猛,針對供應鏈的攻擊範圍也更為廣泛。
目前已知資訊(2026年8月6日)
- 日期:keyv@6.0.0 已確認為起始點,發佈於 2026 年 8 月 4 日。
- 入侵點:此次攻擊始於一名維護者的 GitHub 帳戶遭入侵,而惡意版本是透過該專案的正規發布流程發布的。
- 規模:各追蹤工具的數據雖有差異,但所有報告均指出,這是一起規模極大的 npm 供應鏈事件。StepSecurity 早期報告指出涉及 435 個套件/1,557 個版本,而 Aikido 及後續報告則將總數上調,部分估計數據顯示涉及超過 1,300 個套件,每月下載量約達 20 億次。
- 有效載荷:存在一個透過 setup.mjs 進行預安裝的路徑,該路徑會下載 Bun 並啟動一個經過高度混淆的、用於竊取憑證的有效載荷。
- 來源:研究人員將其歸類為 Shai-Hulud 惡意軟體家族。
一個受信賴的系統被用來對付自己
ChainDrop 之所以特別令人擔憂,在於它並非仰賴花俏的漏洞利用或偽造的下載網站,而是利用了正常的軟體供應鏈——也就是數百萬名開發者所使用的相同套件發布與安裝流程。
實際上,這意味著某個套件看似合法,卻暗中攜帶會在安裝過程中啟動的惡意程式碼。資安團隊指出,該惡意軟體旨在從開發人員的電腦及 CI/CD 系統中竊取機密資訊,包括 GitHub 憑證、npm 憑證、AWS 金鑰、Kubernetes 機密及其他存取資料。
更廣泛的風險不僅限於開發人員。任何使用受影響套件的組織,都可能透過建置系統、依賴項及自動化發行管道,間接受到影響。
ChainDrop 提醒我們,開源依賴項不僅是開發人員的關切事項,更是企業面臨的風險。
這是一項商業風險,而不僅僅是開發者面臨的風險
對於任何依賴 JavaScript 和 Node.js 軟體的組織而言,ChainDrop 提醒我們:開源依賴項不僅是開發人員的關切事項,更是企業面臨的風險。
受損的套件可能會透過依賴項和建置系統間接傳入系統,進而導致憑證遭竊、雲端基礎架構遭未經授權存取,以及大規模的機密資訊輪替與事件應變作業。當軟體完整性、存取控制及第三方風險納入您的控制環境之中(如同 PCI DSS、DORA、NIS2 及 CMMC 規範所要求),此類風險也將直接影響合規性與治理。
建議立即採取的行動
如果您可能在 2026 年 8 月 4 日或之後安裝了受影響的套件:
- 掃描您的依賴項: 產生 SBOM,並針對已知惡意版本掃描依賴項
- 撤銷前的畫面:在輪替憑證前,請先備份受影響系統的影像。該惡意軟體會監控憑證撤銷狀況,若您先進行憑證輪替,它便可能觸發處理程序。
- 輪替公開的機密資訊:輪替所有可存取的機密資訊(npm 憑證、GitHub PAT、SSH 金鑰、雲端憑證),並強制實施多因素驗證 (MFA)
- 根據確切版本進行比對,而非根據名稱:應 根據確切的解析後版本進行比對 ,而非套件名稱;事件發生期間,註冊表標籤已發生位移
- 移除儲存庫層級的鉤子:請檢查 .claude/settings.json 和 .vscode/tasks.json,而不僅是 node_modules 目錄
- 審核 CI/CD:審核 CI/CD 及 GitHub Actions,以檢查是否存在意外發布或新工作流程
利用 SBOM 找出您的風險暴露情況
最棘手之處在於可偵測性:遭篡改的版本深藏於依賴關係樹中,且看似真實無虞。當我們使用MetaDefender ™Software Supply Chain 中的 SBOM 掃描受影響的套件時,這些遭篡改的版本被標記為可疑,而非因其來源而受到信任。



由此可得的教訓是:要有效防禦這類攻擊,關鍵在於檢查元件的內容,而非信任其來源。
關鍵要點
- 來源僅能證明來源,而非完整性。即使在遭入侵的傳輸管道上,有效的簽名仍會產生經簽名的惡意套件。應驗證內容,而不僅是驗證聲明。
- 安裝已不再是唯一的觸發條件。儲存庫層級的 IDE 和代理程式掛鉤可在開啟時執行。請將您的審查範圍擴展至 npm install 之外。
- 這項行動仍在進行中。ChainDrop 是自 2025 年 9 月以來持續升級的一系列事件中的最新一波。若僅將任何單一事件視為已解決,卻未針對根本性的處理流程及憑證管理漏洞進行改善,便會為下一次事件留下可乘之機。
