GitHubは2026年6月9日、2026年7月にリリースされる見込みの次期メジャーバージョンnpm installのデフォルト動作をセキュリティを重視する方向へ変更すると案内した。この変更により、依存パッケージが持つインストール時スクリプトは明示的に許可しない限り実行されず、Git依存とリモートURL依存も明示的に許可しない限り解決されなくなる。現在は自動で実行・
npm v12では、allowScriptsがデフォルトでオフになる。プロジェクトで許可されていない依存パッケージが持つpreinstall、install、postinstallスクリプトは、npm install時に実行されなくなる。ネイティブモジュールのビルドも対象で、binding.を持つパッケージでnpmが暗黙的にnode-gyp rebuildを実行する場合もブロックされる。Git、file、link依存のprepareスクリプトも同じ扱いになる。
移行前に確認するには、npm 11.npm approve-scripts --allow-scripts-pendingを使う。信頼するパッケージはnpm approve-scriptsで許可し、それ以外はnpm deny-scriptsで拒否する。許可リストはpackage.のallowScriptsフィールドに書き込まれるため、GitHubは更新後のpackage.をコミットするよう案内している。
Gitリポジトリを参照する依存関係も、直接依存か推移的依存かにかかわらず、--allow-gitで明示的に許可しない限り解決されなくなる[1]。GitHubは、Git依存に含まれる.npmrcがGit実行ファイルのパスを上書きでき、--ignore-scriptsを使っていても[2]コード実行につながる経路を閉じるための変更だと述べている。
--allow-remoteは、HTTPS tarballなどのリモートURLを参照する依存関係を制御するフラグで、npm 11.npm installで解決されなくなる。関連する--allow-fileと--allow-directoryは、対象をすべて許可するallがデフォルト値のまま変更されない。