技術解説
2026-08-05
npmとは何か。ChainDropサプライチェーン攻撃を依存関係・preinstall・provenanceから理解する
2026年8月に確認されたChainDropは、正規のnpmパッケージへ侵入し、インストール時に認証情報を盗み、別のパッケージへ自己伝播する攻撃です。npmを初めて知る人にも分かるよう、依存関係、lockfile、preinstallから順番に整理し、影響判断と復旧の手順まで掘り下げました。
npmの仕組み、攻撃の循環、provenanceの限界、復旧の順序を1枚にまとめています。
この記事のテーマ
npmは何をするのかパッケージを取得するだけでなく、依存関係を解決し、版を固定し、条件によってはインストール用コードを実行します。
ChainDropはどう広がったか資格情報を盗み、公開権限のある別パッケージへ悪性バージョンを追加する循環が被害を広げました。
何を確認すべきかパッケージ名だけでなく、バージョン、インストール時刻、コード実行の有無、資格情報の失効まで段階を分けて判断します。
図1: npmは取得、依存解決、版の固定、展開、スクリプト実行までを担います。
図2: 被害を受けた環境の公開権限が、次の配布物を汚染するために使われます。
図3: 依存に含まれること、実行されたこと、資格情報が悪用されたことは別の段階です。
公開情報は更新されます
この記事は2026年8月5日23時56分JST時点の公開情報を基にしています。影響パッケージや悪性バージョンの一覧は調査の進展で変わるため、固定件数だけで安全判定せず、更新されたIOC一覧と手元のname@versionを突き合わせる必要があります。
主な参照先は、npm公式ドキュメント、StepSecurityの技術解析、Aikido Securityの解析、Wiz ResearchのIOC一覧です。