ハッカーが4,800件のGitHubアカウントを侵害、クラウド認証情報を窃取

悪意のあるワークフローを使ってGitHub Actionsのシークレットやクラウド認証情報を盗む「wfx-loot」と呼ばれる攻撃キャンペーンで、数万件のGitHubリポジトリが標的になりました。

すべてのリポジトリでペイロードが実行されたわけではありませんが、研究者らは、攻撃者が少なくとも1,835件の標的からシークレットを窃取したことを確認しています。

攻撃者は、侵害した数千件のGitHubアカウントを悪用しました。各アカウントがアクセスできるリポジトリに対してプルリクエストを送り、悪意のあるコードを仕込めるだけの書き込み権限があるかどうかを試していました。

侵害されたアカウントの中には、Fortune 100に名を連ねる企業、米国一般調達局(GSA)、フランス政府、Nextcloud、WebdriverIOに所属するものも含まれていました。

アプリケーションセキュリティ企業Aikidoの研究者らによると、このうち約50件は、npm、PyPI、Go、crates、Packagistといった他のオープンソースソフトウェアのエコシステムやパッケージインデックスで、公開権限を持っているとみられます。

攻撃の詳細

Aikidoによると、wfx-lootキャンペーンは11月10日のUTC 12時45分ごろに始まりました。攻撃者は、侵害した4,837件のアカウントから盗んだGitHub認証情報を使い、61,764件のリポジトリに対して書き込み権限の有無を探っていました。

攻撃者は、依存関係の監査メモを装い、「docs: dependency audit notes」というタイトルのプルリクエストを作成しました。

Aikidoの報告によると、これらのプルリクエストの92%は今もオープンのままです。正規のリポジトリ所有者がこの不審な動きに気づいていないことがうかがえます。

Image

続いて攻撃者は、1,500行に及ぶ認証情報窃取用のシェルスクリプトを送り込みました。手口は、既存のGitHub Actionsワークフローの改ざん、短命なブランチへの新規ワークフローの追加、npmのインストールフックの仕込みのいずれかです。

このスクリプトは、次のようなデータの収集を試みます。

  • GitHub Actionsのシークレットと変数、ワークフローのGITHUB_TOKEN、OIDCトークン、Actionsのランタイムトークン
  • AWS、Azure、Google Cloudのクラウド認証情報(セルフホステッドランナーのインスタンスメタデータ経由で露出する認証情報を含む)
  • Git、SSH、GPG、Docker、Kubernetes、npm、PyPI、Vault、Terraformの開発者用・インフラ用認証情報
  • OpenAI、Anthropic、Gemini、Hugging Face、Cursor、GitHub CopilotのAIサービス・開発ツール用認証情報
  • そのほか、環境変数、.envファイル、秘密鍵、キーストア、シェルの履歴、プロセスメモリ、リポジトリ内のファイルや直近のコミット、ワークフローのアーティファクトからもシークレットを探します。

スクリプトはクラウド上での権限昇格にも対応しています。GitHubのOIDCトークンをAWS、Azure、GCPの一時的なクラウドセッションと交換する仕組みです。

AWSでは、リポジトリ内に存在する別のIAM(Identity and Access Management)ロールへ連鎖的に移行し、「IAMユーザー用の長期有効な認証情報を作成」できます。また、窃取したサービスアカウントの認証情報を使い、GCP上のIDになりすますことも可能です。

Aikidoによると、このスクリプトには、権限が許す範囲で長期有効な認証情報を作成したり、クラウドのIDや信頼ポリシーを変更したりして、永続的なアクセスを確立する機能も備わっています。

スクリプトは収集したデータをtarballに圧縮し、攻撃者が管理する2つのエンドポイントのいずれかにHTTP POSTで送信(外部送信)しました。

最終段階で攻撃者は、行った変更をすばやく元に戻し、ワークフローの実行履歴とログを削除しました。Aikidoによると、この作業は1分足らずで完了しています。

自動公開の仕組みを通じて、ペイロードはPackagistのdigitalelvis/neuronai-studio 3.14.3と、Goモジュールgithub.com/onuragtas/docker-envの2つのバージョン(v1.0.278とv1.0.280)にも混入しました。

研究者らは、攻撃者の主な目的はCIのシークレットを盗むことであり、パッケージのリリースは自動公開に伴う副産物だったとみています。

また、2025年のGhostActionキャンペーンとの間にも、一部で重なる点が見つかっています。

リポジトリの所有者は、「wfx-docs」ブランチ、探査用のプルリクエスト、ワークフローの実行番号の欠番がないかを確認することが推奨されます。

ペイロードの実行が確認された場合は、影響を受けたワークフローで使えるすべてのシークレットとクラウドロールが侵害されたものとみなし、ただちにローテーションする必要があります。

翻訳元: https://www.bleepingcomputer.com/news/security/hackers-compromise-4-800-github-accounts-to-steal-cloud-credentials/

本記事は bleepingcomputer.com の記事を翻訳・要約したものです。