何が起きたか
2026年3月31日、npmの公式 axios パッケージ(週間ダウンロード数1億超)がサプライチェーン攻撃を受けた。攻撃者はメンテナー「jasonsaayman」のnpmアカウントを乗っ取り、悪意のあるバージョン axios@1.14.1 と axios@0.30.4 を公開した。
攻撃の仕組み
改ざんされたバージョンには、本来のaxiosには存在しない依存パッケージ plain-crypto-js@4.2.1 が追加されていた。このパッケージが postinstall スクリプトを通じて、クロスプラットフォーム対応のRAT(リモートアクセス型トロイの木馬)をインストールする。
特徴的な検出指標:
- User-Agent文字列に
mozilla/4.0 (compatible; msie 8.0; windows nt 5.1; trident/4.0)を使用(2026年にIE8/Windows XPは異常値) - 悪意のあるバージョンの公開時刻: 2026年3月30日 23:59 UTC 〜 3月31日 03:29 UTC
影響範囲
axios@1.14.1またはaxios@0.30.4をインストールした環境- Claude Codeを含む、axiosに依存するツールをこの時間帯にnpm installした環境
- 派生パッケージ(
@shadanai/openclaw、@qqbrowser/openclaw-qbot@0.0.130等)にも波及
一次ソース
- The Hacker News: Axios Supply Chain Attack
- Snyk: Axios npm Package Compromised
- SANS Institute: 分析レポート
- Socket.dev: 技術詳細
個人開発者が今すぐやるべきこと
1. axiosのバージョンを確認する
npm ls axios
# 1.14.1 または 0.30.4 が表示されたら即座にダウングレード
npm install axios@1.14.0
2. lockfileを確認する
package-lock.json や yarn.lock に plain-crypto-js が含まれていないか検索する。
3. npmの2FA設定を確認する
自分がメンテナーのパッケージがある場合、publish権限に2FAを必須にする。
npm profile enable-2fa auth-and-writes
4. npm audit を定期実行する
CI/CDパイプラインに npm audit を組み込み、脆弱性のある依存関係を自動検出する。
💡 エキスパートコメント
AI Solo Craft 編集部のエキスパートが、今日のニュースを専門視点で読み解きます。
npm install という「見えない操作」で被害が広がる点が怖いですね。開発ツールのセキュリティ通知UXは、もっとプッシュ型で視覚的であるべき。「インストール完了」の裏で何が動いているか、開発者が気づける仕組みが必要です。
npmエコシステム全体の信頼モデルが問われています。週間1億DLのパッケージが、単一アカウントの乗っ取りで数時間も汚染され続けた事実は、GitHubとnpmのガバナンス強化が急務であることを示しています。
📋 デスクコメント
今日のアクション: npm ls axios でバージョン確認、package-lock.json で plain-crypto-js 検索。該当したら即ダウングレードと環境スキャン。該当しなくても、この機会にnpmの2FA設定とCI/CDの npm audit 自動化を完了させましょう。
axiosクラスの超メジャーパッケージでも攻撃が成立したことが衝撃的です。
lockfile-lintやsocket.devのようなサプライチェーン監視ツールの導入を強く推奨します。個人開発でもnpm audit signaturesでパッケージ署名を検証する習慣をつけましょう。