IT之家 9 月 9 日消息,網絡安全機構 Aikido Security 披露了一起 npm 軟件包庫遭黑客攻擊的案例。
據介紹,黑客通過釣魚郵件入侵知名開發者 Josh Junon(用戶名 qix)等人的賬戶,在至少 18 個高頻下載包中注入惡意代碼,這 18 個受影響的包周下載總量達 26 億次。
qix 表示,他收到的釣魚郵件來自 support@npmjs.help(npm 官網實際為 npmjs.com),聲稱用戶需要更新 2FA 認證,否則賬戶將在 2025 年 9 月 10 日被鎖定,從而誘導開發者點擊釣魚鏈接並提交憑據。
據稱,惡意網站上的登錄表單會將輸入信息回傳至攻擊者控製的地址。npm 團隊收到反饋後,已移除部分被篡改的軟件包,包括周下載量達 3.576 億次的 debug 包。
據 Aikido Security 技術分析,攻擊者在接管維護權後修改了軟件包的 index.js 文件,注入瀏覽器攔截器類代碼,用於劫持網絡流量與應用 API。
該惡意代碼會監控並替換以太坊、比特幣、Solana、Tron、萊特幣和比特幣現金等加密貨幣的收款地址,將交易重定向至攻擊者錢包。
研究人員指出,這段代碼通過掛鉤 fetch、XMLHttpRequest 以及錢包 API(如 window.ethereum、Solana API 等)實現,能夠在用戶毫無察覺的情況下修改網頁顯示內容、篡改 API 調用,並改變應用認為正在簽署的交易內容。
IT之家查詢獲悉,受影響的 npm 包括:chalk(2.99 億次 / 周)、ansi-styles(3.71 億次 / 周)、supports-color(2.87 億次 / 周)、strip-ansi(2.61 億次 / 周)、wrap-ansi(1.97 億次 / 周)、debug(3.576 億次 / 周)等。
安全專家 Andrew MacPherson 表示,並非所有用戶都會受到波及,受影響需滿足特定條件,例如在美國東部時間上午 9 點至 11 點半之間全新安裝了受影響包,並生成了新的 package-lock.json 文件。
近月來,黑客頻繁針對 JavaScript 庫發起攻擊,例如 7 月 eslint-config-prettier 包(周下載 3000 萬次)也曾遭入侵,今年 3 月另有 10 個 npm 庫被攻擊。