2026年3月30日、誰かがインターネットで最もよく使われるJavaScriptパッケージの一つを乗っ取りました。そしてnpm install一回で数万台のマシンにバックドアを仕込みました。
そのパッケージはAxios。週間ダウンロード数1億回。過去10年にJavaScriptで何かを作ったことがある人なら、ほぼ確実に使ったことがあるHTTPライブラリです。攻撃者はAxiosのソースコードを一行も変えませんでした。代わりに管理者アカウントを奪い、数時間前に作った偽パッケージ一つを依存関係に追加して更新を配布しました。その偽パッケージはインストールされた瞬間にOSを検出し、カスタムのリモートアクセストロイ(RAT)をダウンロードして実行した後、自分自身を削除しました。
これは何ですか?
ソフトウェアサプライチェーン攻撃(Supply Chain Attack)です。あなたが直接使うコードではなく、あなたのコードが依存するパッケージを攻撃する手法です。
何が変わるのですか?
| 従来のサプライチェーン攻撃 | AIエージェント時代のサプライチェーン攻撃 | |
|---|---|---|
| 攻撃準備期間 | 数ヶ月〜数年(XZ Utils: 2年かけて信頼構築) | 数時間〜数日(Axios: 39分で完了) |
| 依存関係の決定主体 | 開発者が直接レビュー | AIエージェントが自動インストール、レビュー時間≈0 |
| 検出方式 | CVEデータベース照合(npm audit) | 行動分析が必要(CVEなしの新規マルウェア) |
要点整理:今すぐできる防御法
- lockfileベースのインストールを強制
npm ciをデフォルトで使用してください。lockfileに指定された正確なバージョンのみをインストールします。 - 行動分析ベースのセキュリティツールを導入
npm auditだけでなく、パッケージが実際に何をするか分析するSocketやOligoのようなツールを導入してください。 - AIエージェントの権限制限
自律コーディングエージェントが依存関係を追加する際に人間の承認を経るように設定してください。 - postinstallスクリプトをブロック
npm config set ignore-scripts trueを設定するとパッケージインストール時の自動実行スクリプトをブロックできます。




