30秒で分かる結論
2026年8月4日、ソフトウェア開発で広く使われる部品(パッケージ)を配布する仕組み「npm」で、大規模なサプライチェーン攻撃(ソフトウェアの部品や供給網を経由して攻撃を仕掛ける手口)が発生しました。Microsoftのセキュリティ部門は、この攻撃を「ChainDrop」と名付け、みずから他のパッケージへ次々と感染を広げる「自己増殖型」の性質を持つマルウェアだったと公表しています。
発端は、人気パッケージ「keyv」「cacheable」などを管理する開発者のGitHubアカウントが第三者に乗っ取られたことでした。ここを起点に、これらを含む中核パッケージ群(月間合計で20億ダウンロード超)と、そこから連鎖的に汚染された数百件規模の関連パッケージに、悪意のあるコードが仕込まれました。影響を受けた可能性があるのは主に、これらのパッケージを利用してWebサービスやアプリを開発しているエンジニア・企業側で、一般利用者が直接何かを操作する必要はありません。
まず初めに
ソフトウェア業界には「車輪の再発明はするな」という格言がある。みんなが同じ部品を使い回して効率化しようという話だ。ところがその部品を作った本人のアカウントごと乗っ取られたら、みんなが同じ毒を配って回ることになる。しかも今回のブツは、感染したその場で次の獲物を探して自分のコピーをばら撒く自己増殖型ときている。効率化の夢が、悪夢の伝染に化けた一日だった。※個人の感想です
何が起きているのか
Microsoftのセキュリティブログによると、攻撃者はまず、npmパッケージ「keyv」「cacheable」などの開発を担うメンテナーのGitHubアカウントを乗っ取りました。このアカウントが管理する「keyv」「cacheable-request」「cache-manager」「@cacheable/utils」「flat-cache」「file-entry-cache」「cacheable」「@cacheable/memory」「@cacheable/node-cache」といった中核パッケージに、悪意のあるコードを仕込んだバージョンが公開されました。これらのパッケージは合計で月間20億ダウンロードを超える規模で使われています。
仕込まれたコードは、パッケージのインストール時に自動実行される「preinstallフック」という仕組みを悪用していました。インストールが始まると、外部から軽量な実行環境「Bun」をひそかにダウンロードして起動し、難読化された本体プログラムを実行します。このプログラムは、開発者のパソコンや、自動ビルド・自動配信に使うサーバー(CI/CD環境)の中を探索し、npm・GitHub・AWS(Amazon Web Services、クラウドサービス)・Kubernetes・HashiCorp Vaultといった認証情報を盗み取ります。盗んだ認証情報を使ってさらに別のパッケージへ感染を広げる仕組みになっており、Microsoftはこれを「自己増殖するワーム」と表現しています。

Microsoftの調査では、この手口によって400を超えるパッケージが、複数の無関係な開発者・組織にまたがって汚染されたことを確認しています。セキュリティ企業各社の集計では、感染が確認されたパッケージや関連する成果物の数はさらに増え続けており、記事執筆時点でこの攻撃固有のCVE番号やGitHubの脆弱性データベースへの正式な登録はまだ行われていません。
なぜ重要なのか
npmは、Webサービスやアプリを開発する際、車輪の再発明を避けるために世界中の開発者が利用する部品配布の仕組みです。今回汚染された「keyv」「cacheable」系のパッケージは、他の多くのソフトウェア部品の内部で「間接的な依存関係」として組み込まれていることが多く、開発者自身が直接インストールした覚えがなくても、自分のプロジェクトに紛れ込んでいる可能性があります。
さらに深刻なのは、盗まれた認証情報を使って攻撃者がさらに別のパッケージへ次々と侵入し、正規の公開手順を通じて悪意のあるバージョンを配布できてしまう点です。パッケージの配布に使われる電子署名付きの証明(プロビナンス)があるパッケージであっても、正規の手順で公開されている以上は暗号学的には本物と判定されてしまうため、利用者側が見た目だけで異常に気づくことは困難です。
私たちへの影響
一般の利用者が、自分のパソコンやスマートフォンで直接何かを操作する必要がある事案ではありません。今回の攻撃で狙われたのは、あくまでソフトウェアを開発する側の環境と認証情報です。ただし、汚染されたパッケージを組み込んだまま気づかずに公開されたWebサービスやアプリがあった場合、そのサービスの利用者情報が間接的に危険にさらされる可能性はあります。
Webサービスやアプリを開発・運営している事業者にとっては、直接的な対応が必要な事案です。自社のプロジェクトが「keyv」「cacheable」系のパッケージやその依存関係を利用していないかを確認し、該当する場合は影響のないバージョンへの更新と、開発環境・CI/CD環境で扱っている認証情報(npmトークン、GitHubトークン、クラウドの認証情報など)の再発行を検討することが推奨されます。
初心者が知っておくべきこと
「npm」とは、JavaScriptというプログラミング言語で作られたソフトウェア部品(パッケージ)を、世界中の開発者が公開・共有・利用できるようにする仕組みの名前です。多くのWebサービスやアプリは、自分たちで一からすべてを作るのではなく、npmなどを通じて配布されている既存の部品を組み合わせて作られています。
「サプライチェーン攻撃」とは、攻撃対象そのものを直接狙うのではなく、その対象が利用している部品や取引先、供給網を経由して間接的に攻撃を仕掛ける手口の総称です。今回のように、多くのソフトウェアで使われる共通部品が汚染されると、その部品を使っているすべての開発者・サービスに影響が連鎖的に広がる可能性があります。
よくある質問
Q. 自分が使っているWebサービスが対象かどうか、利用者側から確認する方法はありますか。
現時点で公表されている情報の範囲では、利用者側から特定のサービスが影響を受けたかどうかを直接確認する手段はありません。影響が確認された場合は、サービス提供者から個別に案内があるのが一般的です。
Q. 自分はソフトウェア開発をしていないが、注意することはありますか。
一般利用者が今回の攻撃を理由に個別の対応を取る必要はありません。ただし、利用しているサービスから「セキュリティ上の理由でパスワードを再設定してください」といった案内が届いた場合は、今回のような開発環境側のインシデントを受けた対応の可能性があるため、公式な案内に従って対応することをおすすめします。
IT Postの見方
IT Postでは、今回のようにソフトウェアの「部品」を管理するアカウント一つが乗っ取られただけで、月間20億ダウンロード規模の影響が連鎖的に広がってしまう構造そのものに、根深い課題があると考えます。便利な部品を使い回す仕組みは開発を効率化する一方、その土台を少人数の開発者の個人アカウントが支えているケースは少なくありません。この負担は、無償でパッケージを公開・保守してきた個人の開発者に集中しがちで、企業側の対策コストだけを議論しても解決しない構造的な問題です。オープンソースの土台を支える開発者への支援や、アカウント保護の仕組み強化は、業界全体で取り組むべき課題だとIT Postは考えます。
今後どうなりそうか
Microsoftをはじめとするセキュリティ企業各社が現在も調査を継続しており、汚染が確認されるパッケージの数は今後さらに増える可能性があります。npmを運営するGitHub側でも、悪意のあるバージョンの削除や、影響を受けたアカウントの保護強化が進められるとみられます。IT Postでは、この攻撃の全容や、正式な脆弱性番号の割り当てなど、続報があれば改めて取り上げます。




