作者:默思編輯部 發布:2026-08-31
2026年8月4日,資安研究人員發現一起活躍中的軟體供應鏈攻擊事件,惡意版本的keyv與相關npm套件遭到植入,被命名為Shai-Hulud的蠕蟲程式會竊取開發者的憑證,並透過感染更多套件持續擴散。這起事件影響範圍相當大,累計波及超過1300個套件版本,這些套件合計每月下載量高達20億次,其中包括keyv、cacheable、flat-cache、file-entry-cache等被廣泛使用的快取相關函式庫。
攻擊者至少在keyv與cacheable命名空間下發布了十個以上的惡意套件版本,這些版本內含一個惡意的preinstall掛鉤腳本(setup.mjs),會下載一個獨立的Bun執行環境,執行經過混淆處理的第二階段程式碼,蒐集雲端服務與CI/CD系統的憑證,接著用這些竊得的憑證重新發布其他遭植入木馬的套件版本,形成蠕蟲式的自我擴散。值得注意的是,這些惡意套件在npm登錄檔上的壓縮檔(tarball)本身是由正常的建置流程與工作流程產生、加密簽章也是真實有效的——問題出在建置流程本身被攻破,而不是簽章被偽造,這也讓傳統的「檢查套件簽章」防護手段在這次攻擊中失效。
資安機構建議,使用Node.js生態系的組織應立即檢視自己專案的依賴清單,確認是否引用了受影響的套件版本,並將任何曾在受影響系統上使用過的憑證(尤其是雲端服務與CI/CD相關的存取金鑰)視為已外洩,儘速輪替。這起事件也再次凸顯了「鎖定套件版本」(lockfile)與定期稽核依賴樹的重要性,光是套件簽章驗證通過,不代表套件內容本身值得信任。
近年npm、PyPI等套件生態系陸續發生類似的供應鏈攻擊事件,顯示攻擊者已把「污染上游依賴」視為一種高效率的攻擊手法——攻下一個被廣泛依賴的小型工具套件,就能一次波及數千個下游專案。
2026年上半年PyPI生態系也曾發生過類似的供應鏈攻擊事件,手法同樣是鎖定被廣泛依賴的小型工具套件下手。npm與PyPI這兩大套件生態系接連出事,反映出「開源套件維護者帳號防護不足」是一個跨語言、跨生態系的共通弱點——許多被攻擊的套件維護者只是個人開發者,並沒有企業級的帳號安全防護(例如強制雙因素驗證、發布權限分級),這讓攻擊者只要拿下單一維護者的帳號,就能一次性污染下游數千個專案。
軟體供應鏈安全正在從資安團隊的邊緣議題,變成每個後端與DevOps工程師都需要具備的基本素養,熟悉SBOM(軟體物料清單)、依賴稽核工具的人才在企業端的需求持續成長。