記事一覧に戻る
vulnerability2026年4月1日8分で読めます

axiosがnpmで乗っ取られた — あなたのプロジェクトは大丈夫ですか?

週間1億ダウンロードを誇るaxiosのnpmアカウントが乗っ取られ、悪意あるバージョンがリモートアクセス型トロイの木馬(RAT)を配布していました。あなたのプロジェクトが影響を受けているか確認する方法と対処法を解説します。

npmサプライチェーン攻撃マルウェアaxiosセキュリティインシデント

axiosがnpmで乗っ取られた — あなたのプロジェクトは大丈夫ですか?

2026年3月31日未明、JavaScriptで最もよく使われるHTTPライブラリの一つが、静かに汚染されました。


まず、axiosって何?

axios は JavaScript/Node.js でAPIを叩くときに使う、超定番のライブラリです。

const response = await axios.get('https://api.example.com/data');

これを使ったことがある開発者は、世界中に何百万人もいます。週間ダウンロード数は約1億回。 npmで最もダウンロードされるパッケージの一つです。

そのaxiosが、攻撃者に乗っ取られました。


何が起きたのか

アカウントが盗まれた

攻撃者は、axiosの主要メンテナーのnpmアカウントを乗っ取り、誰にも気づかれないうちに悪意あるバージョンを2つ公開しました。

  • axios@1.14.1(深夜0時21分)
  • axios@0.30.4(深夜1時00分)

たった39分で、1.x系と0.x系の両方が汚染されました。

GitHubには対応するコミットもタグもありません。「正規のリリース」に見せかけた偽物のバージョンです。

仕掛けはシンプルで巧妙だった

変更点はたった一つ。plain-crypto-js という聞き慣れないパッケージが依存関係に追加されただけです。

でも、このパッケージはインストール時に自動でマルウェアを起動するように仕掛けられていました。

さらに怖いのが、攻撃者が18時間前からこの罠を準備していたこと。先に無害な 4.2.0 を公開して「普通のパッケージ」に見せかけ、直前に悪意ある 4.2.1 に差し替えていました。計画的です。


マルウェアは何をするのか

インストールされると、マルウェアは海外の攻撃者サーバー(sfrclak[.]com)に接続し、あなたのPCやサーバーに**RAT(リモートアクセス型トロイの木馬)**を仕込みます。

つまり、攻撃者があなたのマシンをリモートで操作できる状態になります。

OS仕込まれる場所
macOS/Library/Caches/com.apple.act.mond(Apple純正デーモンに偽装)
Windows%PROGRAMDATA%\wt.exe(隠れたVBScriptで実行)
Linux/tmp/ld.py

証拠も消える

最も厄介なのが、実行後にマルウェア本体が自分自身を削除することです。node_modules を後から見ても何も残っていません。感染済みなのに「問題なさそう」と思わせる、悪質な設計です。


感染しているか確認する方法

チェック1:問題のバージョンが入っていないか

npm list axios 2>/dev/null | grep -E "1\.14\.1|0\.30\.4"

何も出なければひとまず安心。出たら要注意。

チェック2:マルウェアの痕跡を確認

ls node_modules/plain-crypto-js 2>/dev/null && echo "⚠️ 要注意"

チェック3:OS別に感染ファイルを確認

# macOS
ls /Library/Caches/com.apple.act.mond 2>/dev/null && echo "🚨 感染の可能性"

# Linux
ls /tmp/ld.py 2>/dev/null && echo "🚨 感染の可能性"

# Windows(コマンドプロンプト)
dir "%PROGRAMDATA%\wt.exe" 2>nul && echo 感染の可能性

感染していたら、どうするか

まずaxiosを安全なバージョンに戻す

npm install axios@1.14.0   # 1.x系
npm install axios@0.30.3   # 0.x系

RATのファイルが見つかった場合

その場でクリーニングしようとしないでください。 環境ごと再構築が安全です。

認証情報を全部ローテーションする(最重要)

感染していた可能性があるなら、そのマシンからアクセスできた情報はすべて漏れたと思ってください。

  • npmトークン
  • AWSキー / GCPキー
  • SSHプライベートキー
  • GitHub / GitLabのトークン
  • CI/CDのシークレット
  • .env ファイルの内容

なぜ、こんなことが起きるのか

今回の攻撃は「サプライチェーン攻撃」と呼ばれます。あなた自身のコードではなく、あなたが使っているライブラリを狙う手法です。

どれだけ自分のコードを丁寧に書いていても、使っているパッケージが汚染されれば意味がありません。有名で信頼されているパッケージほど、乗っ取られたときの被害は甚大です。


今後の対策

Aikido Safe Chain を使う(無料)

デフォルトで48時間未満の新しいバージョンをブロックするツールです。今回、plain-crypto-js@4.2.1 は公開から24時間以内に悪用されました。Safe Chain があれば防げていました。

curl -fsSL https://github.com/AikidoSec/safe-chain/releases/latest/download/install-safe-chain.sh | sh

CI/CDでは --ignore-scripts を標準にする

npm ci --ignore-scripts

Aikidoで継続監視する(無料プランあり)

Aikido にリポジトリを接続すると、Malware Monitor が問題パッケージを自動検知してアラートを出します。


まとめ

「有名なパッケージだから安全」という前提は成り立ちません。axiosほどのメジャーライブラリでも、メンテナーアカウントが1つ乗っ取られれば、世界中のプロジェクトが一夜にして感染リスクにさらされます。

まず今日、自分のプロジェクトで npm list axios を実行してみてください。


元記事: axios compromised on npm: maintainer account hijacked, RAT deployed

キーワード

  • npm
  • サプライチェーン攻撃
  • マルウェア
  • axios
  • セキュリティインシデント
A

Aikido Community Japan

公開日: 2026/4/1

最終更新: 2026/4/1

シェア:

ニュースを購読

セキュリティの最新情報をお届けします。

Aikido Community Japan からのお知らせの受信に同意します。詳しくはプライバシーポリシーをご確認ください。