The Recordsは4月4日(米国時間)、「GitHub investigating crypto-mining campaign abusing its server infrastructure|The Record by Recorded Future」において、ソースコード・ホスティングサービスのGitHubが提供している機能が暗号通貨(仮想通貨)のマイニングに悪用されていると伝えた。

攻撃者によって悪用されているのは、ソフトウェアの開発ワークフローを自動化する「GitHub Actions」という機能で、これによって暗号通貨のマイニングを自動化されたジョブとして実行する手法が用いられているという。

GitHub Actionsを利用しているリポジトリでは、コミッターやコントリビューターからのさまざまなリクエストをトリガーとして、自動的にビルドやテストなどのアクションを実行できる。攻撃者は、まずGitHub Actionsを有効にしている任意のリポジトリをフォークした上で、そこに悪意のあるコードを仕込む。そして、元のリポジトリに対して、自身のコードをマージするためのプルリクエストを提出する。

もし、そのリポジトリがプルリクエストをトリガーとして提出されたコードをテストするようなワークフローを持っている場合、その時点で攻撃者によって仕込まれた悪意のあるコードが実行されることになる。この場合、元のリポジトリの管理者による承認などは必要ない。

実際の攻撃では、攻撃者のコードはGitHub Actionsの仮想マシン上に暗号通貨をマイニングするためのプログラムをダウンロードして実行していたという。マイニングプログラムはGitHubがGitHub Actionsのために提供しているインフラ上で実行されるため、GitHubのリソースを不正に利用していることになる。元のリポジトリに対しては、管理者が誤ってプルリクエストをマージしなければ大きな悪影響は無い。

The Recordsは、セキュリティ・エンジニアのJustin Perdok氏の証言として、攻撃者が1回の攻撃だけで最大100個の暗号通貨マイナーを実行し、GitHubのインフラに膨大な負荷をかけていたことを紹介している。攻撃は少なくとも2020年11月頃から続いており、GitHubも状況を把握して調査しているとのことだ。

  • Justin Perdok氏による、悪意のあるプルリクエストを持つアカウントを指摘するツイート

    Justin Perdok氏による、悪意のあるプルリクエストを持つアカウントを指摘するツイート