因應軟體供應鏈攻擊,NPM新增套件暫存發布機制,降低惡意版本散布風險

來源: iThome|日期: 2026-05-22|URL: https://www.ithome.com.tw/news/176043
作者: 王珮瑤

摘要

GitHub公告將強化NPM套件發布流程安全性,新增套件暫存發布(staged publishing)機制。這項措施是繼2025年下半 Shai-Hulud 2.0 供應鏈攻擊後的改進回應。此功能已合併至 NPM CLI 專案,新增 npm stage 相關命令。

主要內容

  • 維護者可在套件正式公開前,先檢查暫存套件內容,再決定是否核准發布
  • 核准暫存套件並正式發布前,必須通過雙因素驗證(2FA)
  • 需採用 NPM CLI 11.15.0 或更新版本,以及 Node.js 22.14.0 或更新版本
  • 僅適用於已存在於 NPM 套件登錄庫的套件,不支援全新套件首次發布
  • 可搭配 NPM 既有的**可信任發布(trusted publishing)**功能(OIDC)

技術流程

  1. CI/CD 流程將套件送入暫存區
  2. 維護者檢查暫存套件
  3. 通過 2FA 驗證後核准發布
  4. 套件正式公開

背景

  • 2025年下半發生 Shai-Hulud 2.0 NPM 供應鏈攻擊
  • GitHub 承諾強化 NPM 安全性
  • 相關 PR 已合併至 npm/cli 專案

衍生頁面