
Vercel、悪性npmパッケージをインストール前後の2段階でブロック
Vercelnpmサプライチェーンマルウェアデプロイ
Vercelが、ビルド時の依存関係インストールの前と最中にブロック対象のnpmパッケージバージョンを検査する仕組みを導入した。マルウェアや脆弱性を理由にブロックリスト入りしたバージョンが見つかるとデプロイが失敗し、エラーに該当パッケージとバージョンが示される。全プランの新規ビルドに自動適用され、設定は不要。
何が発表されたか
2026年11月2日、VercelがChangelogで、ビルド時に悪性npmパッケージをインストール前と最中に検査する機能を発表した。悪意あるinstallスクリプトの実行を防ぐことが目的とされている。
- ブロック対象は、マルウェアやセキュリティ脆弱性を理由に選定された特定のパッケージバージョンのブロックリスト
- 新しいブロックルールは通常、数分以内に新規ビルドへ反映される
- インストール前:対応するロックファイルを検査する。ビルドキャッシュから依存関係が復元される場合も対象
- インストール中:該当するパブリックnpmのダウンロードをブロックする
- デプロイ前に行われる既存のチェック(インストール済み依存関係と関数出力の検査)は従来どおり継続する
- ブロック対象が見つかった場合はデプロイが失敗し、エラーに該当パッケージとバージョンが示される。Vercelは影響を受けたビルドキャッシュの無効化も試みる
- 全プランの新規ビルドに自動適用され、設定は不要
取るべき対応
Vercelでホスティングしているサイトやアプリがある場合、ビルドが突然失敗するケースに備えておきたい。
- デプロイが「パッケージとバージョン名付き」のエラーで失敗したら、サプライチェーン由来のブロックを疑う。該当パッケージを安全なバージョンへ更新し、ロックファイルを更新して再デプロイする
- ブロックリストは数分で反映されるため、昨日まで通っていたビルドが今日落ちることがある。納品前日や公開直前のデプロイは余裕を持って実施する
- ビルドキャッシュから復元される依存関係も検査対象になる。キャッシュ任せで古い依存を引き継いでいるプロジェクトは、一度依存関係を更新しておくと安全側に寄る
- この仕組みはVercel側のブロックリストに載ったものだけを止める。自前の脆弱性チェック(npm audit や Dependabot など)の代替にはならないため、併用する
