GhostAction は、侵害されたメンテナー資格情報で監査を装ったワークフローを既定ブランチへ押し込む。先行波の対象は GitHub Actions シークレットのみ。10 月の変種は fetch-depth: 0 で全履歴を取り、作業ツリーと git log -p --all からクラウド・AI・ソース管理の資格情報を正規表現で拾って 193.32.204.199 へ平文 POST。
10 月 8 日、henrywoo と kitao が短い時間窓で 346 リポジトリへ .github/workflows/security-audit.yml を投入。uber/athenadriver とスター 18,420 の kitao/pyxel を含む。確認範囲は 10 月 7 日以降、500 超のアカウントと数万リポジトリに広がり、組織所有分もある。トリガーはパスフィルタなしの push と workflow_dispatch。コミットメッセージは Add security audit workflow と Update security audit workflow。10 月 9 日から GitHub が当該ワークフローの実行を阻止し、10 月 10 日と 12 日の投入波ではシークレットは取られていない。
既存ワークフローから拾った Actions シークレット名を埋め込む。kitao/pyxel では CARGO_REGISTRY_TOKEN、PERSONAL_ACCESS_TOKEN、PYPI_PASSWORD、PYPI_USERNAME で、実行は成功。作業ツリーと履歴からは AWS、Anthropic / OpenAI / OpenRouter、GitHub / GitLab PAT、Google / Firebase、Slack、SendGrid など 13 種を拾い、AWS はキー ID 前後 2 行も取る。PyPI / crates.io への悪意ある公開は未確認。フォークへ継承されうる。資格情報が無くても REPO= で到達可能な実行文脈が送られる。
対処:
- 全リポジトリ・全ブランチから当該ファイルを削除し、投入コミットを戻す
- 列挙された Actions シークレットをローテーション。PAT は取り消し
- レジストリの公開履歴を確認
- 履歴全体をスキャンし、現ツリーに無くても見つかった資格情報は漏洩としてローテーション
- アカウントを侵害済みとしてセッション、PAT、OAuth、SSH 鍵を取り消し、耐フィッシング MFA を再登録
193.32.204.199を遮断。secret scanning と push protection、外部コラボレータのワークフロー承認を有効化