← ishizakahiroshi.com
技術解説 2026-08-05

npmとは何か。ChainDropサプライチェーン攻撃を依存関係・preinstall・provenanceから理解する

npmの依存関係に紛れ込むChainDrop攻撃を表した技術解説イラスト

2026年8月に確認されたChainDropは、正規のnpmパッケージへ侵入し、インストール時に認証情報を盗み、別のパッケージへ自己伝播する攻撃です。npmを初めて知る人にも分かるよう、依存関係、lockfile、preinstallから順番に整理し、影響判断と復旧の手順まで掘り下げました。

Zenn で本文を読む →
npmとChainDrop攻撃の要点をまとめたインフォグラフィック

npmの仕組み、攻撃の循環、provenanceの限界、復旧の順序を1枚にまとめています。

この記事のテーマ

npmは何をするのかパッケージを取得するだけでなく、依存関係を解決し、版を固定し、条件によってはインストール用コードを実行します。
ChainDropはどう広がったか資格情報を盗み、公開権限のある別パッケージへ悪性バージョンを追加する循環が被害を広げました。
何を確認すべきかパッケージ名だけでなく、バージョン、インストール時刻、コード実行の有無、資格情報の失効まで段階を分けて判断します。
npmがパッケージを取得し依存関係を固定して展開する流れ

図1: npmは取得、依存解決、版の固定、展開、スクリプト実行までを担います。

ChainDropが資格情報を盗み別のパッケージへ自己伝播する循環

図2: 被害を受けた環境の公開権限が、次の配布物を汚染するために使われます。

lockfile一致から実行と資格情報対応までを分ける判断表

図3: 依存に含まれること、実行されたこと、資格情報が悪用されたことは別の段階です。

公開情報は更新されます

この記事は2026年8月5日23時56分JST時点の公開情報を基にしています。影響パッケージや悪性バージョンの一覧は調査の進展で変わるため、固定件数だけで安全判定せず、更新されたIOC一覧と手元のname@versionを突き合わせる必要があります。

主な参照先は、npm公式ドキュメントStepSecurityの技術解析Aikido Securityの解析Wiz ResearchのIOC一覧です。