catch-img

2026年3月31日にaxiosが受けたサプライチェーン攻撃の概要と予防策「クールダウン」機能について

2026年3月31日、npmで最も利用されるHTTPクライアントの一つである「axios」がサプライチェーン攻撃を受けました。

本記事ではこの攻撃の概要と、こうした攻撃への予防策として注目されている「クールダウン」機能について紹介します。

本記事の内容が、サプライチェーン攻撃対策の一助としてお役に立てれば幸いです。

目次[非表示]

  1. 1.何が起きたのか
  2. 2.なぜ「最新バージョン」が狙われるのか
  3. 3.クールダウンとは
  4. 4.クールダウンの設定方法
    1. 4.1.npm
    2. 4.2.pnpm
    3. 4.3.Python(uv)
    4. 4.4.Python(pip)
  5. 5.yamoryをご利用のお客様へ
  6. 6.まとめ

何が起きたのか

axiosのリードメンテナーのnpmアカウントが侵害され、悪意あるバージョンが公開されました。

  • 影響バージョン: axios@1.14.1 、 axios@0.30.4
  • 安全なバージョン: axios@1.14.0 、 axios@0.30.3

攻撃者は事前に plain-crypto-js という悪意あるパッケージを公開し、axiosの依存関係に追加。
npm install を実行するだけで、 postinstall フックを通じてRAT(遠隔操作トロイの木馬)がインストールされる仕組みでした。

macOS、Windows、Linuxすべてに対応したペイロードが用意されており、Command and Controlサーバー(以下C2サーバー)との通信後に痕跡を自己削除するという巧妙な手口です。CIを含むすべての環境が対象となります。

なぜ「最新バージョン」が狙われるのか

今回の攻撃はGitHub ActionsやOIDC署名といった正規のリリースフローを経由せず、侵害したアカウントからnpm CLIで直接パブリッシュされています。つまり、バージョンを指定せずにパッケージを新規インストールすると、公開直後の悪意あるバージョンをそのまま取り込んでしまうリスクがあります。

こうした「公開直後の最新バージョンを狙う」サプライチェーン攻撃は増加傾向にあり、axiosに限った話ではありません。

クールダウンとは

クールダウンは、パッケージの新バージョンが公開されてから一定期間はインストール対象としない仕組みです。公開直後のバージョンを自動的に取り込まないことで、コミュニティが悪意あるコードを検出・報告する時間的猶予を確保できます。

2025年後半から主要なパッケージマネージャーが相次いでこの機能を実装しています。

ツール

バージョン

設定方法

npm

11.10.0〜

min-release-age

pnpm

10.16〜

minimumReleaseAge

uv

0.9.17〜

exclude-newer(相対期間対応)

pip

26.0〜

--uploaded-prior-to

クールダウンの設定方法

以下、7日間のクールダウンを設定する例です。

npm

グローバル設定(~/.npmrc に追記):

min-release-age=7

プロジェクト単位(.npmrc に追記):

min-release-age=7

pnpm

グローバル設定:

pnpm config set --location=global minimumReleaseAge 10080

プロジェクト単位:

pnpm config set --location=project minimumReleaseAge 10080

※ pnpmは postinstall がデフォルトで無効のため、今回のような攻撃への耐性が高い点も注目です。

Python(uv)

グローバル設定(環境変数):

export UV_EXCLUDE_NEWER="7 days"

プロジェクト単位(pyproject.toml に追記):

[tool.uv]
exclude-newer = "1 week"

Python(pip)

pipは相対的な期間指定(7日間など)には対応しておらず、絶対日時で「この日時以前に公開されたバージョンのみ」を指定する方式です。.bashrc や .zshrc に追記してください。

export PIP_UPLOADED_PRIOR_TO="2026-03-01T00:00:00Z"

※ 絶対日時のため、定期的に値を更新する必要があります。

yamoryをご利用のお客様へ

yamoryをご利用中のお客様については、該当脆弱性の存在をチェックする緊急脆弱性スキャンを行っております。お手元に緊急脆弱性通知が届いていなければ、yamoryに登録されているソフトウェアについて、該当のソフトウェアとバージョンが存在しないことが確認されております。

まとめ

サプライチェーン攻撃は、いつ・どのパッケージが対象になるか予測できません。lockfileの活用に加えて、クールダウン設定を導入することで、公開直後の悪意あるバージョンを自動的に取り込むリスクを大幅に減らすことができます。まだ設定していない方は、この機会にぜひ導入を検討してください。

SBOM・脆弱性の一元管理なら
「yamory」におまかせ

 脆弱性・EOL・OSSライセンスを一元管理
 SBOM・法規制に対応
 国産の脆弱性管理ツール

人気の記事

募集中のセミナー

ページトップへ戻る