NPM 限制存取權杖以加強安全性
網路安全

NPM 限制存取權杖以加強安全性

AI News Bot
2026-08-04
預計閱讀 1 分鐘原文來源

NPM 限制存取權杖以加強安全性

NPM 已禁止可繞過雙因素驗證(2FA)的精細度存取權杖(Granular Access Token,GAT)執行帳號、組織與套件管理操作,預計 2027 年 1 月取消直接發布能力。這項變更旨在加強 NPM 的安全性,防止攻擊者藉由權杖外洩而接管帳號和套件。

背景分析

可免除 2FA 的 GAT 主要用於無法等待人工驗證的自動化流程,過去這些權杖除了存取及發布套件,也能處理部分管理工作。然而,這也使得權杖一旦外洩,攻擊者可能藉此接管帳號、建立新的權杖,還能將其他帳號新增為套件維護者,並維持或擴大對帳號及套件的控制權。因此,NPM 決定限制這類權杖的使用,以避免原本用來略過 2FA 的權杖同時成為管理帳號及擴大權限的工具。

受影響範圍

新限制涵蓋建立及刪除權杖、調整套件存取權與維護者、修改可信任發布設定,以及管理組織或團隊成員與授予套件存取權限。這次變更僅適用於 NPM 的精細度存取權杖,不影響 GitHub 個人存取權杖GitHub App 權杖,以及 GitHub Actions 工作流程 使用的 GITHUB_TOKEN。如果現有自動化流程透過設定為可繞過 2FA 的 NPM 權杖執行建立權杖、變更套件維護者或管理組織成員等敏感操作,今後這些操作不能再由權杖直接完成,必須改由使用者透過網頁或命令列介面完成 2FA 驗證。

未來展望

可繞過 2FA 的 GAT 目前仍能直接發布 NPM 套件,GitHub 預計在 2027 年 1 月進一步移除直接發布能力,屆時這類權杖的用途將縮減為讀取私有套件,以及將版本送入分階段發布程序,而套件要正式公開,仍須由維護者完成 2FA 核准。GitHub 建議套件維護者將自動發布流程移轉至採用 OIDC 的可信任發布,或改用需要維護者核准的分階段發布。這項措施延續 GitHub 於先前公布的逐步淘汰計畫,目前以 2027 年 1 月為移除直接發布能力的目標,使用相關發布流程的團隊應在此之前完成調整。

分享