
Axios 於 NPM 遭入侵:惡意版本植入遠端存取木馬
廣泛使用的 axios 函式庫因維護者帳號遭入侵,發佈了包含跨平台遠端存取木馬的惡意版本。攻擊者繞過 CI/CD 流水線植入虛假依賴項,針對 Windows、macOS 及 Linux 系統執行多階段載荷。
背景
2026 年 3 月 31 日,全球最受歡迎的 JavaScript HTTP 客戶端庫 axios 爆發嚴重的供應鏈攻擊。攻擊者透過竊取核心維護者的 npm 帳號憑據,繞過正常的 GitHub Actions 自動化發佈流程,手動發佈了包含惡意程式碼的 1.14.1 與 0.28.2 版本。這兩個版本透過注入偽造的依賴包,在安裝過程中執行跨平台的遠端存取木馬(RAT),影響範圍涵蓋 Windows、macOS 與 Linux 系統。
社群觀點
這起事件引發了 Hacker News 社群對於 npm 生態系安全性的激烈辯論。許多開發者對供應鏈攻擊的頻率感到疲乏,認為這類事件已成為開發過程中的常態性威脅。部分留言者指出,這再次證明了過度依賴外部套件的風險,並質疑為何在現代開發環境中,許多開發者仍習慣使用 axios 而非原生支持的 Fetch API。針對此點,有觀點解釋 axios 的盛行源於歷史因素,因為 Node.js 直到較晚的版本才將 Fetch 納入核心並穩定化,長期的框架慣性與教學資源使得 axios 難以被迅速取代。
關於防禦機制,社群深入探討了 npm 的安全漏洞。儘管 npm 已推行強制性雙重驗證(2FA),但討論中提到,攻擊者可能利用了可繞過 2FA 的長期存取權杖(Access Tokens)來進行非法發佈。這反映出即便有身分驗證機制,若權杖管理不當,依然無法阻止帳號遭劫持後的惡意操作。此外,有開發者建議應在更新依賴時增加延遲時間,以避開惡意軟體剛發佈的高風險期,但隨即遭到反駁,認為這只是延緩問題而非解決之道,如同玩一場節奏較慢的俄羅斯輪盤。
在技術防範層面,社群成員提到使用 pnpm 或 Bun 等工具或許能提供額外保護,因為這些工具通常要求使用者手動核准 postinstall 腳本,而本次攻擊的核心正是利用該腳本觸發木馬。然而,對於如何偵測這類隱蔽性極高的惡意軟體,社群仍缺乏共識。有人嘗試使用傳統防毒軟體如 ClamAV 或 Windows Defender 進行掃描,但由於惡意套件往往在被發現後迅速下架,且具備自我刪除與偽裝機制,傳統的特徵碼偵測難以在第一時間發揮作用。整體而言,社群對於 Python 或 Node.js 等高度依賴套件管理器的語言感到日益不安,認為目前的安全性尚不足以應對日益精密的供應鏈滲透。
延伸閱讀
- axios 官方 GitHub Issue 追蹤:針對此安全事件的技術討論與修復進度。
- npm 官方文件關於存取權杖的說明:解釋了不同類型的權杖如何可能繞過雙重驗證。