🔥 この記事の詳細
2026-07-14 更新
D
把握のみ

GitHubはnpm 12において、サプライチェーン攻撃への対策として依存関係のインストールスクリプトをデフォルトで無効化しました

脆弱性🌐 英語ソース📰 2記事🌐 2 countries
🇷🇺 Russia · 🇹🇼 Taiwan
📅 2026-07-14📰 xakep
📌 一言でいうと
GitHubはnpm 12において、サプライチェーン攻撃への対策として依存関係のインストールスクリプトをデフォルトで無効化しました。具体的には、preinstall、install、postinstallなどのライフサイクルスクリプトや、GitリポジトリおよびリモートURLからの依存関係の取得が明示的な許可なしでは実行されなくなります。開発者は信頼できるスクリプトを `npm approve-scripts` コマンドで承認し、そのリストを package.json に保存して管理することが推奨されます。
🔍該当判定
  • JavaScriptのパッケージ管理ツール「npm」を社内で利用している
  • npmでライブラリをインストールする際、自動で実行されるスクリプト(preinstall, install, postinstall)を利用している
  • npmでGitHubなどのGitリポジトリや、外部URLから直接パッケージをインストールしている
  • npmでネイティブモジュールのビルド(node-gyp)を伴うパッケージを導入している
上記いずれにも該当しない → 静観でOK
該当時の対応
npm 12へのアップデート後、必要なインストールスクリプトがある場合は `npm approve-scripts --allow-scripts-pending` を実行し、承認済みリストを package.json に含めてリポジトリにコミットしてください。
📧 メール案を見る (管理者向け)
⚠️ これは AI が生成した参考例です。配信前に必ず内容をご確認のうえ、貴社の状況に合わせて編集してご利用ください。実際の被害状況や自社の利用環境を踏まえた判断は、貴社のセキュリティ責任者にご確認ください。
件名: 【共有】npm 12 におけるインストールスクリプトのデフォルト無効化について

お疲れさまです。npmのセキュリティ仕様変更に関する情報共有です。

■ 概要
npm 12より、サプライチェーン攻撃(悪意のあるパッケージによるコード実行)を防止するため、インストール時のライフサイクルスクリプトおよびリモート依存関係の取得がデフォルトで無効化されました。

■ 影響範囲
- 対象製品: npm 12 以降
- 影響: `preinstall`, `install`, `postinstall` スクリプトおよび `node-gyp` によるネイティブモジュールのビルドが自動的に実行されなくなります。

■ 対応手順
1. 開発環境のnpmバージョンを確認し、12以降への移行計画を策定してください。
2. 必要なスクリプトがある場合、`npm approve-scripts --allow-scripts-pending` を使用して信頼できるスクリプトを承認してください。
3. 生成された allowlist を `package.json` に保存し、リポジトリにコミットしてチーム間で共有してください。

■ 参考情報
- GitHub/npm 公式ドキュメント

対応優先度: 中
対応期限: 次回パッケージ更新時
Subject: [Info] Default Disabling of Installation Scripts in npm 12

Hi all,

This is a technical update regarding security changes in npm 12.

■ Overview
To mitigate supply chain attacks, npm 12 now disables installation scripts and remote dependency fetching by default. This prevents malicious code from executing automatically during the `npm install` process.

■ Scope
- Product: npm 12+
- Impact: Lifecycle scripts (preinstall, install, postinstall) and native module builds via `node-gyp` will no longer run automatically.

■ Action Plan
1. Review your current npm versions and plan the migration to version 12.
2. For required scripts, use the command `npm approve-scripts --allow-scripts-pending` to authorize trusted packages.
3. Save the resulting allowlist in `package.json` and commit it to your version control system.

■ Reference
- Official npm/GitHub documentation

Priority: Medium
Deadline: Upon next package update