新聞

GitHub套件管理器NPM精細度存取權杖新增僅限暫存發布(Stage-only)權限,讓軟體自動化流程送出套件版本等待審查,但不能直接發布至NPM套件登錄庫。NPM預計2027年1月取消可繞過雙因素驗證(2FA)權杖的直接發布能力,新權限提供仍採權杖自動發布的開發團隊一個過渡方式。

使用僅限暫存發布權杖後,自動化流程需透過指令npm stage publish送出套件版本,套件進入暫存狀態後,具有發布權限的維護者需先審查內容,再透過2FA核准發布。自動化流程無法使用npm publish直接發布新版本,即使權杖原本設定允許自動化作業繞過2FA,NPM仍會拒絕直接發布。

NPM把送出套件版本與正式發布拆成兩個步驟,自動化系統負責版本送審,維護者核准最後發布。尚未改用NPM可信任發布機制的團隊,可繼續採用權杖驗證方式,移除自動化系統直接發布新版本的權限。

GitHub先前已宣布逐步限制能夠繞過2FA的精細度存取權杖,並計畫在2027年1月取消此類權杖直接發布套件版本的能力。NPM建議需要自動發布的開發團隊改用可信任發布機制,透過OpenID Connect(OIDC)驗證自動化工作環境身分,而無法轉換的團隊則可採用暫存發布,保留人工審查與2FA核准步驟。

僅限暫存發布權杖仍具有部分套件寫入權限,並非唯讀權杖,持有權杖者仍能調整套件發行標籤,或把既有版本標記為棄用,因此權杖外洩仍可能影響套件管理,只是無法直接發布新的套件版本。

新權限採自行選用方式提供,不會改變現有權杖的直接發布能力。使用暫存發布需要具備套件發布權限,NPM帳號須啟用2FA,執行暫存發布的環境需使用NPM命令列工具11.15.0以上版本,以及Node.js 22.14.0以上版本。