ニュース

GitHubの5千件以上のリポジトリに侵害。自動化ツールを悪用

 セキュリティ企業のSafeDepは5月21日、GitHubのワークフロー自動化ツール「GitHub Actions」を悪用した大規模攻撃キャンペーン「Megalodon」について報告した。

 報告によれば、Megalodonは協定世界時5月18日11時36分から17時48分までの約6時間にわたって行なわれた。GitHub Actionsのワークフローに悪意あるbashスクリプトを仕込むことで、5,561件のGitHubリポジトリにおいて、5,718件の悪意あるコミットが自動的にプッシュされたという。

 オープンソースチャットプラットフォーム「Tiledesk」の被害事例では、Tiledeskの9つのGitHubリポジトリにバックドアが仕込まれ、コードが汚染されていることに気付かないまま正規メンテナーがパッケージを公開。npmパッケージにバックドアが混入し、ユーザーに配布されてしまう事態となった。

 具体的な手口としては、使い捨てのアカウントを一般的なCIボットに偽装し、GitHub Actionsのワークフローに悪意のあるbashスクリプトを注入。正規のシステムによる動作に見せかけて、注入されたスクリプトが環境からさまざまな機密情報を収集し、攻撃者のC2サーバーへ送信する。盗み出される情報には以下のようなものが含まれる。

  • AWS、Google Cloud Platform、Azureなどクラウドインフラの認証情報やアクセストークン
  • GitHub ActionsのOIDC(OpenID Connect)トークン
  • APIキーやクラウドトークンなど30種類以上のパターンに合致するシークレット情報
  • SSH秘密鍵、Docker認証設定、Kubernetes構成ファイルなど
  • GitLab CI/CDトークン、Bitbucketトークン

 侵入に際しては、作者(Author)やメールアドレス、コミットメッセージなどをCIボットに偽装していたほか、侵害されたパーソナルアクセストークンやデプロイキーを悪用し、プルリクエストやマージコミットを経由せず、直接メインブランチにプッシュすることで、侵入を巧妙に隠蔽していた。

 またスクリプトには、プッシュやプルリクエストが発生するたびにワークフローを自動実行する「SysDiag」と、既存のワークフローを置き換えて、攻撃者が任意のタイミングで実行可能なバックドアを仕込む「Optimize-Build」の2種類が確認されているという。