關閉選單
假冒npm網站利用竊取令牌推送惡意軟件事件解析
2025年7月,一起針對JavaScript開發者的網路釣魚攻擊事件震驚開源社群。攻擊者利用假冒的npm網站,成功竊取維護者令牌,進而將惡意軟件植入熱門套件,如eslint-config-prettier。這起供應鏈攻擊凸顯了開源生態系統的脆弱性,並提醒開發者與企業需加強安全措施。


事件經過

攻擊始於一個精心設計的網路釣魚頁面,偽裝成npm官方登錄網站(npnjs.com),誘導維護者輸入認證資訊。受害者為eslint-config-prettier的維護者JounQin,他在不知情的情況下洩露了npm令牌。攻擊者隨後利用該令牌,直接通過npm註冊中心發布了惡意版本,包括8.10.1、9.1.1、10.1.6和10.1.7版本。這些版本包含後門腳本,專門針對Windows系統,試圖執行node-gyp.dll檔案,允許攻擊者遠端執行任意程式碼。
值得注意的是,這些惡意更新未在GitHub倉庫中留下任何記錄,這使得傳統監控方法難以檢測。安全平台Socket首先發現該異常,並持續掃描npm註冊中心以識別其他可疑活動。專家指出,這種攻擊利用了開源項目的信任機制,攻擊者無需修改原始碼即可污染套件。


惡意軟件的影響

受影響的eslint-config-prettier套件廣泛用於整合Prettier與ESLint,幫助開發者統一程式碼格式。惡意版本的postinstall腳本在安裝時自動執行,試圖下載並運行惡意DLL檔案。雖然目前僅針對Windows系統,但其潛在危害包括數據竊取、系統控制甚至更大規模的供應鏈攻擊。
Cloudsmith的開發關係負責人Nigel Douglas警告,依賴鏈成為攻擊向量,CI/CD管道可能因上遊漏洞導致生產環境混亂。他強調,單一竊取的令牌就能污染廣泛使用的工具,顯示開發者難以單獨應對所有風險。


攻擊手法與背景

此事件屬於供應鏈攻擊的一種,攻擊者透過偽造域名(npnjs.com)模擬npm官方網站,誘導維護者點擊釣魚連結。JounQin事後確認收到偽裝成「support@npmjs.com」的電子郵件,並公開致歉,隨即刪除受影響令牌並發布修復版本。專家分析,這類攻擊依賴社會工程學,利用開發者對熟悉平台的信任。


未來展望

此事件促使開源社群反思安全機制。npm可能需強化令牌驗證流程,引入多重審核以防止未授權發布。開發者也應養成檢查依賴項習慣,降低供應鏈風險。對於台灣而言,投資資安技術與人才培訓,將有助於在全球競爭中脫穎而出。
假冒npm網站事件揭示了網路釣魚與供應鏈攻擊的嚴重性。通過加強安全意識與技術防護,產業能有效應對類似威脅,保障開發環境與用戶數據安全。此案不僅是警鐘,也為未來資安策略提供了寶貴教訓。
 
資料來源:https://hackread.com/fake-npm-website-used-push-malware-via-stolen-token/