限制 npm 繞過 2FA 的精細存取權杖,封閉最大憑證攻擊面
為何重要
這項變更解決了一個隱藏的供應鏈安全漏洞:先前允許權杖「繞過 2FA」是巨大的風險敞口,移除此種豁免權能顯著降低一旦憑證洩露後的災難性影響,強化 Node.js 生態的防禦深度。對開發者而言,雖然增加了操作步驟與遷移成本(從憑證切換至 OIDC 或 Trust Publishing),但這倒逼團隊正規化權杖管理,是走向更安全的現代開源基礎建設的必經之路。
npm 已調整策略,將禁止配置為繞過雙重認證(2FA)的 Granular Access Tokens (GATs) 執行敏感帳戶或套件管理操作,強制執行互動式雙重認證以修正註冊中心最大的憑證安全隱患。
- 建立、刪除權杖,變更套件存取權或維護者設定、管理組織/團隊成員及套件授權,現已都必須經過互動式 2FA 挑戰。
- 此變更僅影響 npm GATs,不受影響的包括 GitHub Personal Access Tokens、GitHub App tokens 及 GitHub Actions 的 GITHUB_TOKEN。
- 這項進一步的收緊措施將延伸 2024 年 7 月的廢棄計畫,並且直接發布許可權預計將於 2027 年 1 月 被移除,代之以需經 2FA 審批的「暫存發布」。