新聞

2025年下半NPM生態系發生Shai-Hulud 2.0供應鏈攻擊後,GitHub公告將強化NPM套件發布流程安全性,其中一項措施是套件暫存發布(staged publishing)。這項機制讓維護者可在套件正式公開前,先檢查暫存套件的內容,再決定是否核准發布。目前,這項功能已合併至NPM CLI專案,新增npm stage相關命令。

根據NPM官方說明文件,開發者可先透過CI/CD流程將套件送入暫存區,再由維護者檢查暫存套件,並決定是否核准發布。維護者在核准暫存套件並正式發布前,必須通過雙因素驗證(2FA)。要使用套件暫存發布,開發者需採用NPM CLI 11.15.0或更新版本,以及Node.js 22.14.0或更新版本。這項功能適用於已存在於NPM套件登錄庫的套件,不支援全新套件首次發布。

此外,套件暫存發布也可搭配NPM既有的可信任發布(trusted publishing)功能。若CI/CD流程透過開放式身分連接協定OpenID Connect(OIDC)進行信任發布,可先將套件送入暫存區,待維護者審查核准後再正式公開。