每週下載量達 280 萬次的 NPM 軟體包遭惡意軟體感染
流行的 JavaScript 工具函式庫套件 is
(用於型別檢查與驗證),其維護者遭釣魚攻擊後帳號被劫,導致版本 3.3.1 至 5.0.0 被植入惡意後門程式,並發布至 NPM,約 6 小時後被移除 。這次攻擊被認為是近期多起供應鏈攻擊的延續,攻擊者透過偽造的 NPM 系統郵件(來自 npnjs[.]com 域)讓維護者交出憑證,接著更改擁有者權限並發布含後門的新版本 。
下載量高達 2.8 百萬次/週,廣泛應用於開發工具、建構系統、後端、CLI 專案等領域 。惡意程式本身是一個跨平台 JavaScript 惡意程式載入器,會建立 WebSocket 後門,捕獲開發環境的 hostname、OS、CPU 與環境變數,並通過 ws 套件動態注入執行命令,讓攻擊者可即時執行任意程式碼。在其他受感染套件如 ESLint 相關、synckit、@pkgr/core、napi-postinstall、got-fetch 等也發現帶 Windows 領取資訊竊取程式 “Scavanger” 。
「is」套件是一個輕量級的 JavaScript 實用程式庫,提供各種類型檢查和值驗證功能。攻擊影響廣泛,從開發環境、CI/CD Pipeline 到企業內部系統都可能受到感染。專家建議維護者應立即重設密碼與 token,開啟二階段驗證,並凍結 lockfile 鎖定安全版本,禁用自動更新功能。Raid 報導指出,這類攻擊屬釣魚導致帳號被盜,攻擊者短時間內大規模發布惡意版本,讓下載者措手不及;後門程式設計具動態載入與執行能力,偵測 evasion 機制強,對企業資安防禦造成挑戰 。
此外,這次事故與近期其他供應鏈攻擊如 Gluestack、eslint-config-prettier 等案例具有相似特徵 — 包括三天內多個套件遭駭、使用 postinstall 腳本和捆綁 DLL 檔案透過 rundll32 注入惡意執行
BleepingComputer。攻擊者似已掌握一套成熟手法,對熱門 NPM 套件進行高度規模化攻擊。整體而言,本次事件再次凸顯開源生態供應鏈安全缺。建議開發者:
定期巡查 lockfile 鎖版本,避免裝入未知版號
開啟二階段驗證與 rotate 登入憑證
Embrace 安全最佳實務,如差異分析、簽章
倚賴 linters 等工具前先獨立審查版本
開源和第三方套件帶來極大開發效率,但同時也引入隱憂:失控的更新可能導致開發人員與整個生態系暴露於資安風險之下。此次事件提醒社群務必高度警覺 NPM 套件的使用風險,並採取制度與技術層面雙重防禦。為防止這種情況,維護人員應立即重設密碼並輪換所有令牌,開發人員應僅使用 2025 年 7 月 18 日之前已知安全的版本。
資料來源:https://www.bleepingcomputer.com/news/security/npm-package-is-with-28m-weekly-downloads-infected-devs-with-malware/