9 月 8 日,NPM 生態系統遭遇了一場重大的軟體供應鏈攻擊,導致多個廣泛使用的 JavaScript 函式庫遭到入侵。這起資安事件最初是由 Ledger 技術長 Charles Guillemet 所揭露,他警告稱一名受信任開發者的 Node Package Manager 帳號已遭駭客劫持。初步估計受影響的下載量超過 10 億次,但進一步分析顯示,這些受感染的套件每週下載量實際上超過 2.6 Billion 次。

供應鏈攻擊導致超過 2 Billion 筆資料外洩
供應鏈攻擊導致超過 2 Billion 筆資料外洩
此次攻擊鎖定了一位名為「qix」的開發者帳號,該開發者維護著多個熱門的 JavaScript 函式庫,包括 chalk、strip-ansi、color-convert 和 debug。這些函式庫被廣泛應用於伺服器端與前端環境的無數專案中。攻擊者透過偽造的支援郵件取得存取權限,並向約 18 個套件推送了惡意更新。自動化的相依性安裝機制使得惡意軟體在數小時內迅速擴散。
Guillemet 解釋道,這些惡意程式碼會在交易過程中悄悄替換加密貨幣錢包地址。依賴軟體錢包的玩家若在未察覺收款地址遭竄改的情況下確認交易,將面臨資金損失的風險。
惡意軟體 Crypto Clipper 與 MetaMask
資安研究人員將此惡意軟體歸類為「加密貨幣剪貼簿劫持程式」(crypto clipper)。它會在交易的各個階段替換錢包地址。當未偵測到錢包時,該惡意軟體會透過掛鉤(hooking)瀏覽器的 fetch 和 XMLHttpRequest 等功能,攔截並修改去中心化應用程式中的輸出資料,從而掃描並竄改應用程式資料中的地址。
若系統中安裝了如 MetaMask 等錢包擴充功能,惡意軟體會在簽署前攔截交易。它會修改記憶體中的錢包地址,導致玩家在審核交易時看到的地址已被替換為詐騙地址。該惡意軟體使用 Levenshtein 演算法來生成與原始地址高度相似的字串,使竄改行為更難被察覺。

供應鏈攻擊導致超過 2 Billion 筆資料外洩
攻擊的初步徵兆
開發者最初是在建置系統回傳非預期的錯誤訊息時發現了攻擊。經檢查發現,一個名為 error-ex 的相依套件中包含一段混淆過的程式碼,其中有一個名為 checkethereumw 的可疑函式,顯示其目標為 Ethereum 錢包。分析師證實該惡意軟體包含針對 多個區塊鏈 的錢包地址參照,包括 Bitcoin、Ethereum、Solana、Tron、Litecoin 和 Bitcoin Cash。
受影響的套件包括 JavaScript 生態系統中最常被使用的項目。Chalk 每週下載量超過 3 億次,debug 超過 3.5 億次,而 strip-ansi 則超過 2.6 億次。這些受感染的函式庫每週合計下載量超過 2.6 Billion 次,顯示出對開發者社群的影響規模之大。
硬體錢包與軟體錢包的差異
許多受感染的函式庫並未直接與加密貨幣專案連結,但由於它們被整合在相依性鏈中,導致即使是無關的應用程式也可能受到波及。那些與加密貨幣錢包及去中心化應用程式互動的專案,面臨的風險等級最高。
Guillemet 指出,使用具備「清晰簽署」(clear-signing)功能的硬體錢包的玩家仍是安全的,因為這些裝置允許在批准前驗證每一筆交易。軟體錢包的使用者則面臨較高的暴露風險,在相依套件完成全面審查與修復之前,應保持高度警惕。
追蹤攻擊者與遭竊資金
攻擊者的加密貨幣地址已被識別,並透過公開的區塊鏈透明度進行積極監控。與此行動相關的主要 Ethereum 地址為 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976,此外還有多個備用地址。截至報導時,遭竊資金尚未被轉移。這種監控機制有助於持續分析,但目前遭竊資產的總額仍不明確。

供應鏈攻擊導致超過 2 Billion 筆資料外洩
JavaScript 與社群的角色
JavaScript 與 web3 社群迅速採取行動以控制此次事件。受感染套件的惡意版本已大多從登錄檔中移除,但對於那些在 lockfile 中仍依賴舊版本的專案,風險依然存在。開發者受促審查其相依套件、鎖定安全版本,並重新安裝乾淨的建置版本,以防止進一步的風險暴露。
資安專家建議開發者應定期輪替憑證,在 NPM 和 GitHub 等帳號上強制執行雙重驗證,並使用如 npm ci 等確定性安裝方法來維持嚴格的版本控制。玩家在進行所有加密貨幣交易時應仔細核對,特別是在使用軟體錢包時。
結語
此次事件被列為 NPM 生態系統中規模最廣泛的入侵事件之一。雖然社群的反應相對迅速,但此次攻擊暴露了現代軟體供應鏈的脆弱性,以及過度依賴開源組件所帶來的風險。
正如 Guillemet 所強調,在簽署前審查每一筆交易至關重要。此次外洩事件證明,即使是嵌入在應用程式基礎架構深處的小型函式庫,一旦遭到入侵,也可能成為重大的攻擊媒介。對於開發者與玩家而言,持續保持警覺已成為維護 web3 與軟體開發生態系統安全的核心關鍵。



