GitHub Actionを使ったsupply chain attack

GitHub ActionはGitHub上で行う自動化ツールです。
GitHubからのGitリポジトリのプル、ビルド環境に適したツールチェーンの設定、そしてクラウドプロバイダーに対する認証の設定を実行できます。
継続的インテグレーション(CI)や継続的デリバリー(CD)の実現が可能になります。
この機構はGitHubで利用できるため、多くのプロジェクトで利用されています。
この機能が利用できるということがGitHubが多く利用されている理由ともなっています。
このGitHub Actionがsupply chain attackの道具として利用されてしまっていたことが確認されています。
大量のsecretが公開された状態になってしまっていたのです。
secretは、GitHub Actions で使用する機密情報を安全に管理するための機能です。
APIキー、データベースのパスワード、アクセストークンなど、公開してはならない重要な情報を、暗号化された形式で保存し、ワークフロー内で使用することができる機構です。

  • reviewdogのアクセス権の獲得
    reviewdogは多くのコントリビュータに支えられて維持されているプロジェクトです。
    多くの貢献者はプロジェクトに価値を提供しますが、このなかに高いアクセス権限を攻撃に悪用する脅威アクターが含まれていました。
  • reviewdog/actions-setup@v1
    reviewdogを更新できる権限を取得した脅威アクターは、reviewdog/actions-setupのv1というタグの侵害を実施しました。
    この侵害されたreviewdog/actions-setupが実行されると、挿入されたコードを実行し、メモリの中からGitHub環境のsecretを抜き出し、二重にエンコードしてファイル化します。
    ファイル化されたsecretはGitHubで公開された状態になってしまいます。
    ここで抜き出されるsecretは、reviewdog/actions-setup@v1を実行したプロジェクトの内容となります。
  • tj-actions/eslint-changed-files
    この機構はその内部の機構を実行する際に、reviewdog/actions-setupを読み込んで実行します。
    reviewdog/actions-setup@v1は、従来のreviewdog/actions-setupの新しい内容として ここで読み取られ、悪意ある内容が実行されることとなりました。
  • tj-actions/changed-files
    この機構はその内部の機構を実行する際に、tj-actions/eslint-changed-filesを読み込んで実行します。

tj-actions/changed-filesはCI/CDのなかで利用される機構です。
このactionは、プロジェクトルートからの相対パスを返すターゲットブランチ、現在のブランチ(前のコミットまたは最後のリモートコミット)などを基準として、変更されたすべてのファイルとディレクトリを簡単に追跡できる機構です。
多くのGitHubのプロジェクトでtj-actions/changed-filesが実行されました。
結果として、多数のプロジェクトのsecretが抜き取られ参照できる場所に配置されることとなりました。

現在は、このreviewdog/actions-setup@v1の問題の部分は、問題のない状態に変更された状態に さらに更新されました。
現時点では、この機構は安全です。
しかし、今回のような多重に依存するソフトウェアが安全を保つことの難しさが浮き彫りになりました。
公開されたソフトウェアを利用する際に、特定のタグを利用するように記述して この問題が発生しないようにすることで対策できるように思われますが、これは簡単ではありません。
自分が責任をもって記述する範囲においてはそれが可能ですが、自分が参照しているソフトウェアのなかで、どのように他のソフトウェアに依存しているかは管理の対象外なのです。
しかも、特定のタグを指して他のソフトウェアに依存するということは、そのソフトウェアの改善を取り込むことも放棄しているということも意味するのです。

この種の問題にはどう対応していくのが良いのでしょうか。
便利さと安全性の両立は簡単ではないようです。

New GitHub Action supply chain attack: reviewdog/action-setup

https://www.wiz.io/blog/new-github-action-supply-chain-attack-reviewdog-action-setup

一緒によく読まれている記事

最新の脅威情報
をお届け

BLOGブログ

情報セキュリティに対する啓蒙のため、
3つのメディアを運用し、
情報発信を行っています。

わたしたちはサイバー領域や
認知領域の未知なる脅威に、
テクノロジーとインテリジェンスで対抗します。

私たちが選ばれる理由

CONTACT リスクマネジメントサービスの
ご相談窓口

コンステラ セキュリティ ジャパンは
最先端のサービスを
お客様のニーズに
カスタマイズして提供し、
効果が出るまで寄り添います。