寝ても覚めてもこんぴうた

プログラム書いたり、ネットワーク設計したり、サーバ構築したり、車いじったり、ゲームしたり。そんなひとにわたしはなりたい。 投げ銭は kyash_id : chidakiyo マデ

axios へのサプライチェーン攻撃でやったこと 2026-03-31

これは作業したメモです。

環境

  • Cloud Build
  • Artifact Registry
  • CloudRun

状況

  • package-json的にはaxiosの "^1.4.0" という指定をしていた
  • 今日午前中にGitHub Actions経由でCloud BuildでBuildし、CloudRunに適用されている

やったこと

Google Cloud の Artifact Registryにスキャンを実行

→ 自動でのスキャンは残念ながらoffになっていた。。。

スキャンコマンド

gcloud artifacts docker images scan [Artifact URL] --remote

ローカルでも実行できるが、依存関係を考えると、CloudShellで実行するのが良さそう。

結果

→ スキャン機能をoffにしているとコマンドでも実行できないっぽい(それは当然だね)

dockerの中のファイルを直接見てみる

最終的にはこれ

# dockerのイメージを一時的に作成する
docker create --name check_axios {IMAGE_URL}

# (1)axiosのバージョンを直接見る
docker cp check_axios:/node_modules/axios/package.json - | tar -xO | grep '"version":'

# (2)今回の問題で強制的にインストールされるパッケージが入っていないか見る
docker cp check_axios:/node_modules/ - | tar -t | grep "plain-crypto-js"
  1. では、1.4.0 という感じにあっていれば良さそう。1.4.1だったらNG

  2. では、何も行が表示されなければOK.

一旦こんな感じでのチェックをしましたが、なんかいい方法があれば教えてください。

ではでは。