npm v12 が一般提供され、latest タグが付いた。6 月に予告されていた install 時のセキュリティ既定が有効になり、あわせて 2FA を回避する granular access token(GAT)の機微な用途の段階的廃止が始まる。
install 時セキュリティ既定
次の挙動は自動実行から opt-in に変わった。いずれも npm 11.16.0 以降では警告として確認できる。
allowScriptsの既定が off。依存のpreinstall/install/postinstallと暗黙のnode-gypビルドは、明示許可がない限り走らない--allow-gitの既定がnone。直接・推移的な Git 依存は明示許可がない限り解決されない--allow-remoteの既定がnone。https tarball などリモート URL 由来の依存も同様
信頼するスクリプトの確認と許可は npm approve-scripts --allow-scripts-pending で行い、結果の allowlist を package.json にコミットする。
2FA 回避 GAT の権限縮小
2FA を回避するよう設定した GAT は、ロールアウト後にアカウント・パッケージ・組織の機微な管理操作で 2FA をスキップできなくなる。対象は次のとおり。
- トークンの作成・削除
- リカバリコードの生成、パスワード・メール・プロフィール・2FA 設定の変更
- パッケージのアクセス権・メンテナ・trusted publishing 設定の変更
- 組織・チームのメンバーシップとパッケージ権限の管理
適用は 2026 年 8 月上旬の見込み。これらの操作では 2FA 回避トークンをやめ、対話的に 2FA 付きで行う。
その後、2027 年 1 月頃には 2FA 回避トークンによる直接 publish もできなくなる。残るのはプライベートパッケージの読み取りと、人間の 2FA 承認後に公開される staged publish に限られる。自動 publish は trusted publishing(OIDC)か、人間承認付きの staged publishing へ移す。