プライベートリポジトリでも秘密情報が流出、GitHubトークン窃取キャンペーン「Gheist」

Wiz Researchは、侵害された850以上のGitHubアカウントから、攻撃者が仕込んだブランチを1万3,500本以上回収しました。Wizはこの攻撃キャンペーンを「Gheist」と呼んでいます。名前は、攻撃ツールがGitHub APIリクエストに付与するユーザーエージェントに由来します。このツールは、窃取したトークンでアクセスできるすべてのリポジトリを洗い出し、それぞれにワークフローを仕込みます。ワークフローはリポジトリのシークレットをログに出力し、攻撃者がそのログをダウンロードします。

Image

被害を受けるのはプライベートリポジトリです。パブリックリポジトリではGitHubの保護機能が攻撃を阻止しますが、Wizはプライベートリポジトリでワークフローが実行されたことを確認しています。危険にさらされるシークレットには、環境スコープの認証情報も含まれます。これらは本番環境の認証情報であることが多く、深刻です。

攻撃の仕組み

ツールは窃取したトークンを入手すると、そのトークンで到達できるすべてのリポジトリを順に巡回します。各リポジトリで、ci-sync-に6文字のランダムな文字列を加えた名前のブランチを作成し、sync-checkという小さなワークフローファイルをコミットします。ブランチをプッシュするとワークフローが自動的に起動し、リポジトリのシークレットを実行ログに出力するという1つの処理を行います。

GitHubは通常、ログ内のシークレットを伏せ字にします。ただし、保存されているとおりの形で現れたシークレットしか検出できません。このワークフローは各シークレットをテキストエンコーディングのbase32に変換するため、マスキングをすり抜け、シークレットがそのまま出力されます。続いてツールはGitHub API経由でログをダウンロードし、数秒後に実行履歴を削除します。

攻撃者のサーバーは関与していません。シークレットはGitHubのAPIを通じて持ち出されるため、セキュリティチームがブロックできる外部ドメインや通信先はありません。

2種類の亜種のうち1つは、10月19日にセルフホステッドランナーを狙う2つ目のジョブを追加しました。このジョブはホスト上のトークンやキーを探し、Dockerを使ってホストのファイルにアクセスします。

防御が及ばない範囲

GitHubは7月28日以降、パブリックリポジトリで悪意がある可能性のあるワークフローの実行を、コラボレーターが承認するまで保留しています。

Wizの研究者は次のように指摘しています。

「残念ながら、この保留措置はプライベートリポジトリやGitHub Enterprise Serverには適用されません。GitHubの監査ログでは、ci-sync-*ブランチ上の実行が完了し、その後gheistユーザーエージェントによって削除されていました。CloudTrailには、組織自身のワークフローがこれらのブランチ上で動作し、AWSロールを引き受けた記録が残っています。承認なしにActionsが実行された証拠です」

エンタープライズ組織では、このツールが数分のうちに複数ユーザーやオートメーションアカウントのトークンを次々に使い回し、プライベートリポジトリをクローンしてからワークフローを仕込んでいました。数時間後には、同じ組織のクラウド認証情報がAWS Secrets Managerの列挙に使われました。Wizは、これらの認証情報の入手経路には触れていません。

同じアカウントを狙う別の攻撃者

同じアカウントを悪用する攻撃者は他にもいます。10月6日には391のアカウントが、約1,461件のリポジトリの名前をクラック版ソフトウェアの誘い文句に変更しました。このうち166アカウントは、Gheistの活動には一切登場しません。10月18日には、Gheistの25アカウントがそれぞれ9分以内に「Windows RDP Runner」というリポジトリを作成しました。

確認すべきこと

ワークフローがOIDCでクラウドに認証している場合は、クラウドの監査ログで、サブジェクトにci-sync-ブランチを含むロールの引き受けを検索してください。GitHubのログを収集していなくても、攻撃者のブランチ上でActionsが実行されたかどうかがわかります。あわせて、GitHubの監査ログでgheistユーザーエージェントも確認してください。

実行履歴やブランチを削除しても、流出した事実は取り消せません。Wizは、影響を受けたリポジトリで利用可能だったすべてのリポジトリ、組織、環境のシークレットをローテーションし、コミットをプッシュしたトークンを失効させるよう勧めています。

翻訳元: https://www.helpnetsecurity.com/2026/10/27/gheist-github-token-abuse/

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