2026 年 5 月 19 日,安全研究人員發現 npm 帳戶 atool 被入侵。攻擊者在大約 22 分鐘 內自動發布 637 個惡意版本,影響 317 個套件。
受影響的套件包括一些在前端開發中相當常見的庫,例如:
size-sensorecharts-for-reacttimeago.js@antv/* 套件(屬於阿里巴巴 AntV 視覺化生態)這些套件被大量應用在數據可視化和前端框架之中,因此影響範圍相當大。
Microsoft 的分析指出,@antv 生態系被入侵後,因為其他專案又依賴這些套件,形成連鎖式下游影響。例如 echarts-for-react 每週下載量超過百萬次,使潛在影響範圍進一步擴大。
被污染的套件內嵌了一段經過混淆的 JavaScript 惡意程式碼。
攻擊者利用 npm 的 install hooks(例如 preinstall)機制,讓腳本在套件安裝時自動執行。也就是說,只要開發者或 CI 系統執行一次普通的 npm install,惡意程式就可能在背景運行。
研究人員還觀察到另一種投遞方式:
optionalDependencies由於 npm 可以直接從 GitHub commit 下載內容,攻擊者能利用 fork repository 的 Git 歷史共享機制,引用惡意物件,即使沒有原始專案的寫入權限也能成功載入。
Mini Shai‑Hulud 的核心目標並不是立即破壞系統,而是收集憑證(credentials),從而進一步入侵更多系統。
惡意程式會掃描開發者環境,尋找各種敏感資訊,例如:
同時它也會嘗試讀取本地密碼管理器資料,例如 1Password、Bitwarden、pass、gopass 等。
被竊取的資料會透過兩種方式外傳:
這樣可以減少被安全系統即時發現的機會。
安全研究人員形容 Mini Shai‑Hulud 具有自我擴散能力。
當惡意程式取得開發者或 CI/CD 的憑證後,它會嘗試:
換句話說,被感染的開發環境可能會變成下一輪供應鏈攻擊的跳板。
其實在 2026 年 5 月較早時間,Mini Shai‑Hulud 已經出現過一波攻擊,當時的目標是 TanStack 生態系(React 開發中常用的一組前端庫)。
被污染的版本同樣包含混淆的 JavaScript 惡意程式,會分析執行環境並開始收集憑證,例如 CI/CD secret 和開發者 token。
TanStack 事件亦波及一些企業開發環境。OpenAI 後來確認:
有兩部員工電腦受到該依賴鏈攻擊影響。
公司觀察到惡意程式嘗試存取部分內部 repository 並收集憑證資料。
不過 OpenAI 表示:
作為預防措施,公司隔離受影響設備、撤銷登入會話、輪換憑證、限制部署流程,並開始更新程式碼簽名憑證。
Mini Shai‑Hulud 顯示現代網絡攻擊的一個明顯趨勢:
攻擊者不再只針對最終用戶,而是直接攻擊軟件供應鏈本身。
這次事件之所以特別嚴重,原因包括:
由於現代軟件大量依賴開源套件,一個受歡迎的套件即使只被短暫入侵,也可能影響成千上萬個下游專案。
事件提醒整個軟件生態:需要保護的不只是應用程式本身,還包括開源維護者帳戶、套件註冊庫、以及 CI/CD 自動化流程這整條供應鏈。