GitHubは2026年7月8日、Node.jsのパッケージ管理ツールであるnpmのメジャー版npm v12を一般提供(GA)として公開しました。インストール時のセキュリティ既定を有効化し、二要素認証(2FA)を迂回するトークンについては、機微な用途から段階的に廃止していきます。
npm v12公開の3行まとめ
今回の発表の要点を、先に3点に整理しました。
- npm v12がlatestタグで一般提供として公開
- インストール時のセキュリティ既定が有効に
- 2FA迂回GATは2段階で権限が縮小(予定)
本記事は公表時点の情報にもとづきます。仕様や提供状況、スケジュールは変わる可能性があります。
導入や運用を判断する際は、各自の責任で公式情報の最新の内容をご確認ください。
設定変更やアップデートを行う場合は、必ず事前にバックアップを取得し、検証環境で確認したうえで実施してください。
npm v12でインストール時のセキュリティ既定が有効に
npm v12では、6月に予告されたインストール時のセキュリティ既定が有効になりました。従来は自動で行われていた3つの挙動が、明示的な許可を必要とする方式へ変わります。
| 項目 | 既定値 |
|---|---|
allowScripts |
オフ |
--allow-git |
none |
--allow-remote |
none |
allowScriptsがオフになったため、依存パッケージのライフサイクルスクリプト(導入時に自動実行される処理、preinstall・install・postinstallなど)は許可なしには動きません。暗黙のnode-gyp(ネイティブ拡張をビルドするツール)によるビルドも同様に止まります。
git依存(直接・間接を問わず)は--allow-git、HTTPS tarballなどのリモートURL依存は--allow-remoteで明示的に許可したときにだけ解決される仕組みです。
アップグレード前に信頼するスクリプトを許可リスト化する
これらの既定はnpm 11.16.0以降で警告付きで先行提供されており、アップグレード前に準備できます。信頼するスクリプトは、次のコマンドで確認して許可リストへ加えます。
npm approve-scripts --allow-scripts-pending
このコマンドは許可した内容をpackage.jsonへ書き込む変更を伴うため、実行前にバックアップを取得してください。書き込んだ設定をコミットすれば、チーム全体で同じ許可内容を共有できます。
2FA迂回GATは段階的に権限が縮小される予定
GitHubは、2FAを迂回できるきめ細かなアクセストークン(GAT)の利用を段階的に減らします。GATは権限の範囲を細かく指定できるトークンで、そのうち2FAを迂回する設定のものが今回の対象です。
| 段階 | 時期(予定) |
|---|---|
| 第1段階 | 2026年8月上旬 |
| 第2段階 | 2027年1月ごろ |
第1段階では機微な操作で2FAを迂回できなくなる
第1段階は2026年8月上旬の適用が見込まれています。以降、2FA迂回GATでは、次のような機微な操作で2FAを迂回できなくなります。
- トークンの作成・削除
- リカバリコードの生成
- パスワード・メール・プロフィール・2FA設定の変更
- パッケージのアクセス権やメンテナーの変更
- trusted publishing設定の変更
- 組織・チームのメンバー管理とパッケージ権限の付与
これらの操作は、2FAを使って対話的に行う運用へ切り替える必要があります。対象となる操作の全体像は、公式の変更内容一覧でご確認ください。
第2段階では直接publishする権限を失う
第2段階の適用は2027年1月ごろの見込みです。この段階に入ると、2FA迂回GATは直接publishする権限も失います。
利用できる範囲は、非公開パッケージの読み取りと、公開前に人による2FA承認を挟むstaged publishing(公開のステージング)に絞られます。
影響を受ける開発者とトークン運用の見直し
今回の変更は、npmでパッケージを公開・管理する開発者と、CI/CDでの自動化に関わります。特に、自動publishに長期のトークンを使っている場合は運用の見直しが必要です。
自動化された公開は、長期トークンから次のいずれかへ移すことが推奨されています。
| 移行先 | 概要 |
|---|---|
| trusted publishing | OIDCで短命な資格情報を使う自動公開 |
| staged publishing | 公開前に人による2FA承認を挟む公開 |
trusted publishingはOIDC(OpenID Connectという認証連携の仕組み)で短命な資格情報を発行し、長期トークンを不要にします。staged publishingは公開を一段保留し、人が2FAで承認してから公開へ進める方式です。
npm v12公開の概要
| 項目 | 詳細 |
|---|---|
| 提供元 | GitHub |
| 発表日 | 2026年7月8日 |
| 対象 | npm v12(latestタグ) |
| 主な変更 | インストール時のセキュリティ既定を有効化 |
| トークン | 2FA迂回GATを段階的に廃止(予定) |
| 提供形態 | 一般提供(GA) |
trends編集部の一言
npm v12の既定変更は、サプライチェーン攻撃の入口になりやすいインストール時スクリプトを塞ぐ動きです。利便性より安全側へ倒す判断であり、多くの現場に影響します。
まずはnpm approve-scriptsで自社の依存が必要とするスクリプトを棚卸しし、許可設定をリポジトリに残しておくと移行がスムーズです。git依存やリモートURL依存を使うプロジェクトでは、許可フラグの追加も忘れないようにしましょう。
トークン面では、長期の2FA迂回GATに頼った自動化ほど早めの移行が安全です。OIDCベースの公開へ切り替える良い機会として捉えてみてはいかがでしょうか。
References
- ^ GitHub Changelog. 「npm install-time security and GAT bypass2fa deprecation」. https://github.blog/changelog/2026-07-08-npm-install-time-security-and-gat-bypass2fa-deprecation, (参照 26-07-10).
- ^ GitHub Changelog. 「Upcoming breaking changes for npm v12」. https://github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/, (参照 26-07-10).
- ^ npm Docs. 「Trusted publishers」. https://docs.npmjs.com/trusted-publishers, (参照 26-07-10).
- ^ npm Docs. 「Staged publishing」. https://docs.npmjs.com/staged-publishing, (参照 26-07-10).
※本記事は公式発表と公式ドキュメントを基に編集しています。内容はAIで確認していますが、誤りや最新情報との差異がある場合はコメントよりご報告ください。
