GhostActionキャンペーン、GitHubアカウント500件超を侵害 クラウドとAIの認証情報を窃取

新たなGhostActionキャンペーンにより、500件を超えるGitHubアカウントが侵害されました。2026年10月7日以降、数万件のリポジトリに悪意あるワークフローが拡散されています。

Socketの研究者によると、この攻撃はGitHub Actionsのシークレット窃取に加え、ソースコードやGit履歴に埋め込まれたクラウドおよび人工知能(AI)の認証情報を検索する手口を組み合わせています。

被害範囲の拡大が判明したのは、研究者が10月8日に発生した、メンテナーアカウント「henrywoo」と「kitao」の侵害を伴う攻撃の急増を調査したことがきっかけです。

これらのアカウントは、Uberの「uber/athenadriver」や「kitao/pyxel」を含む346件のリポジトリに悪意あるワークフローを注入しました。Socketの調査では、henrywooの配下で318件、kitaoの配下で27件のリポジトリが影響を受けたほか、henrywooが持つ既存の書き込み権限を通じてUberのプロジェクトにも被害が及びました。

攻撃者は、「Add security audit workflow」や「Update security audit workflow」といったコミットメッセージを使い、.github/workflows/security-audit.ymlをリポジトリのデフォルトブランチに直接コミットしました。

このワークフローは一見正当なものに見えますが、実際にはセキュリティチェックではなく認証情報の収集を行います。攻撃者がメンテナーの認証情報をどのように最初に入手したのかについては、Socketも特定できていません。

ワークフローはブランチやパスの制限なくプッシュ時に実行されるほか、workflow_dispatchによる手動実行にも対応しています。

第1の収集機構は、GitHub Actionsのシークレットを参照します。シークレット名は、注入前にリポジトリの既存ワークフローから抽出されたとみられ、ペイロードはリポジトリごとに固有の認証情報を狙うことができます。

Pyxelで標的となったシークレットには、CARGO_REGISTRY_TOKEN、PERSONAL_ACCESS_TOKEN、PYPI_PASSWORD、PYPI_USERNAMEが含まれていました。これらの認証情報が悪用されれば、不正なパッケージ公開やリポジトリへのさらなるアクセスが可能になり、下流のサプライチェーン侵害につながるおそれがあります。

Socketは悪意あるワークフローの実行成功を確認しましたが、10月9日時点では、悪意あるPyPIやcrates.ioのリリースは確認していません。新たに加わった収集コンポーネントは、actions/checkout@v4をfetch-depth: 0で構成し、全ブランチとタグにわたる履歴を取得します。

このコンポーネントは、チェックアウトしたファイルとgit log -p --allのパッチ出力を検索します。そのため、現在のファイルからは削除済みでも、到達可能なコミットに残っている認証情報が流出する可能性があります。履歴バッファの上限は20万行です。

13種類の認証情報パターンが、AWS、Anthropic、OpenAI、OpenRouter、GitHub、GitLab、Google API、Slack、SendGridを対象としています。AKIAまたはASIAで始まるAWSの識別子については、ペイロードが前後それぞれ2行も取得します。識別子だけでなく、隣接するシークレットアクセスキーも狙うためです。

2つの収集経路はいずれも、hxxp://193.32.204[.]199/?c=monamiへの平文HTTP POSTに集約されます。リクエストのマーカーにはREPO=、AKIA_CTX_START、AKIA_CTX_ENDが含まれます。

認証情報が見つからなかった実行でも、リポジトリ識別子は送信されます。これにより攻撃者は、アクセス可能な実行環境を把握できます。

Socketは、注入されたワークフローの削除、Actionsの実行記録の確認、漏えいした認証情報のローテーション、侵害されたアカウントのセッション・トークン・OAuth許可・SSHキーの失効を推奨しています。

調査担当者は、リポジトリ履歴のスキャン、パッケージリリースの検査、AWS CloudTrailのアクティビティ確認、送信先アドレスのブロックを行う必要があります。Actionsのシークレットをローテーションするだけでは、過去に残されたクラウドやAIの認証情報が露出したままになります。同様に、現在のファイルだけを確認しても、このキャンペーンが履歴から収集する手口を見逃してしまいます。

注記:IPアドレスとドメインは、誤って名前解決されたりハイパーリンク化されたりすることを防ぐため、意図的に無害化(例:[.])しています。無害化を元に戻す場合は、MISP、VirusTotal、SIEMなど、管理された脅威インテリジェンスプラットフォーム内に限定してください。

1万6,000以上のSOCチームがANY.RUNを活用し、脅威調査を効率化して手作業を削減しています。チームで試してみる

翻訳元: https://cyberpress.org/ghostaction-attack-compromises-500-github-accounts/

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