Axiosライブラリにサプライチェーン攻撃、開発環境で不正コード実行
Axiosライブラリへの不正アクセスと悪性コード混入
人気のJavaScript HTTPクライアントライブラリ「Axios」が攻撃を受け、npm上で悪性コードを含むバージョンが配布された。本件は、主要メンテナのnpmアカウントが不正に取得されたことを起点とするものとみられている。
Axiosは週あたり約1億回ダウンロードされるなど広く利用されており、影響範囲の拡大が懸念される。悪性バージョンにはリモートアクセス型マルウェア(RAT)が含まれており、開発環境への侵害につながる可能性がある。
悪性コードの検出と対応状況
セキュリティ企業によるnpmレジストリの監視により、悪性バージョンであるaxios@1.14.1およびaxios@0.30.4が公開から数分以内に検出された。npmチームは当該パッケージを2〜3時間以内に削除し、対応を実施した。
一方で、Axiosはクラウドおよび開発環境の約80%で利用されており、悪性コードは約3%の環境で実行されたと報告されている。
依存関係を悪用した攻撃手法
攻撃者はnpm上に正規パッケージを装った「plain-crypto-js@4.2.0」を公開した後、悪性ペイロードを含む「plain-crypto-js@4.2.1」を配布した。
その後、axiosの新バージョンに当該パッケージが依存関係として組み込まれたことで、開発環境に悪性コードが取り込まれる仕組みとなっていた。
各OSにおけるマルウェアの挙動
当該マルウェアは、オペレーティングシステムごとに異なるペイロードを取得・実行する仕組みを備えている。
macOSでは「/Library/Caches/com.apple.act.mond」にバイナリを生成し、WindowsではPowerShellスクリプトを「%PROGRAMDATA%\wt.exe」として配置、Linuxでは「/tmp/ld.py」にPythonスクリプトを保存して実行する挙動が確認されている。
また、本RATはC2サーバーと定期的に通信し、コマンドを受信して不正操作を実行する機能を備えている。
サプライチェーンリスクと対策
本件は、依存関係を通じたサプライチェーン攻撃のリスクを示す事例となった。利用環境においては、lockfileや依存パッケージの内容を確認し、不正なバージョンの有無を点検することが重要となる。
該当バージョンが確認された場合は、影響範囲の特定と環境の隔離に加え、関連する認証情報の更新などの対応が求められる。また、CI/CDパイプラインにおけるスクリプト実行制御など、開発プロセス全体での対策強化が必要とされる。

