npmセキュリティアップデート:Classic token作成無効化とgranular token変更
GitHubがnpmのセキュリティ強化の一環として、npm token管理システムの変更を実施した。
npm classic tokenの新規作成が無効化された。npmjs.comウェブサイト、CLI、APIを通じた新規作成は不可。既存のnpm classic tokenは2025年11月19日まで動作。npm token create CLIコマンドはnpm classic tokenを生成しなくなった。
npm granular access tokenでは、書き込み権限を持つ新しいnpm tokenはデフォルトで2FAが必須。CI/CDワークフロー向けに「Bypass 2FA」オプションが追加(デフォルトは無効)。既存の書き込み権限を持つnpm granular tokenは最大90日の有効期限に制限。2026年2月3日以降に有効期限が設定されていたトークンは、その日に調整された。
移行が必要な場合:
- npm classic tokenを使用している場合、2025年11月19日までにnpm granular access tokenへ移行が必要
- npm granular tokenを使用している場合、有効期限を確認し、必要に応じてローテーションを計画
- CI/CDで非対話的な公開が必要な場合、「Bypass 2FA」を有効化するか、OIDCを使用した確立されたtrust publishingを検討
これらの変更はnpmレジストリ用のnpm tokenのみに影響。GitHub personal access tokens(classic)、GitHub fine-grained personal access tokens、GitHub Actions secrets、GITHUB_TOKENは影響を受けない。
2025年11月19日には、すべてのnpm classic tokenが永続的に無効化され、長期間有効なローカル公開トークンは2時間のセッショントークンに置き換えられる。
出展:npm security update: Classic token creation disabled and granular token changes