🔥 この記事の詳細
2026-07-09 更新
C
月内に

npm バージョン 12 がリリースされ、サプライチェーンリスクを軽減するため、インストールスクリプトがデフォルトで無効化されました

脆弱性🌐 英語ソース
📅 2026-07-09📰 hackernews
📌 一言でいうと
npm バージョン 12 がリリースされ、サプライチェーンリスクを軽減するため、インストールスクリプトがデフォルトで無効化されました。具体的には、preinstall、install、postinstall などのライフサイクルスクリプトや、Git/リモートURLからの依存関係解決がオプトイン方式に変更されています。ユーザーは信頼できるスクリプトを明示的に承認し、package.json に保存する必要があります。
🔍該当判定
  • 社内でJavaScript/TypeScriptを用いた開発を行っており、npm(パッケージ管理ツール)を利用している
  • npmのバージョンを12以上にアップデートする予定がある、または既にアップデートした
  • npm install時に、自動で実行されるインストールスクリプト(preinstall, postinstall等)やnode-gypビルドを利用している
  • Gitリポジトリや外部URL(tarball等)から直接ライブラリをインストールして利用している
上記いずれにも該当しない → 静観でOK
該当時の対応
npm 12 へのアップデートを検討し、開発ワークフローにおいて必要なスクリプトを 'npm approve-scripts' で適切に管理・承認すること。
📧 メール案を見る (管理者向け)
⚠️ これは AI が生成した参考例です。配信前に必ず内容をご確認のうえ、貴社の状況に合わせて編集してご利用ください。実際の被害状況や自社の利用環境を踏まえた判断は、貴社のセキュリティ責任者にご確認ください。
件名: 【共有】npm 12 におけるインストールスクリプトのデフォルト無効化について

お疲れさまです。npm 12 のリリースに伴う仕様変更に関する情報共有です。

■ 概要
サプライチェーン攻撃(悪意のあるパッケージによるコード実行)のリスクを低減するため、npm 12 ではインストールスクリプトがデフォルトで無効化されました。これにより、依存関係のインストール時に自動的に実行されていたライフサイクルスクリプト等が動作しなくなります。

■ 影響範囲
- 対象製品: npm version 12
- 影響: 既存のビルドプロセスやインストールフローで preinstall/postinstall 等を利用している場合、動作しなくなる可能性があります。

■ 対応手順
1. npm 12 へのアップデート後、動作しなくなった必要なスクリプトを確認する。
2. "npm approve-scripts --allow-scripts-pending" を実行し、信頼できるスクリプトを承認する。
3. 更新された package.json の allowlist をリポジトリにコミットする。

■ 参考情報
- GitHub/npm 公式リリースノート

対応優先度: 中
対応期限: 次回パッケージ更新時
Subject: [Info] npm 12 Disables Install Scripts by Default

Hi all,

This is a technical update regarding the release of npm version 12.

■ Overview
To reduce supply chain risks, npm 12 now disables install scripts by default. Lifecycle scripts (preinstall, install, postinstall) and remote/Git dependency resolutions are now opt-in, preventing automatic execution of potentially malicious code during installation.

■ Scope
- Product: npm version 12
- Impact: Build pipelines or installation processes relying on automatic lifecycle scripts may break upon upgrading.

■ Action Steps
1. Identify required scripts that are no longer running after upgrading to npm 12.
2. Run "npm approve-scripts --allow-scripts-pending" to review and approve trusted scripts.
3. Commit the resulting allowlist in the package.json file to the version control system.

■ Reference
- Official npm/GitHub release notes

Priority: Medium
Deadline: Upon next package update