セキュリティ企業Socketの研究者らは、組織が所有するものも含め、数万のGitHubリポジトリに影響を及ぼした新たなソフトウェアサプライチェーン攻撃を発見しました。
侵害されたパッケージを使用している企業の一社として、Uberの名前が挙がっています。
攻撃の手順はGhostActionを彷彿とさせます。GhostActionは、GitGuardianが2025年9月に発見した悪意あるキャンペーンで、2026年10月に再び確認されました。
2つのGitHubアカウントから拡散した悪意あるワークフロー
2026年10月8日、「henrywoo」と「kitao」の2つのGitHubアカウントが、変更権限を持つ数百のリポジトリに悪意あるGitHub Actionsワークフローをプッシュしました。
GitHub Actionとは、GitHubリポジトリ上で実行される自動化タスクです。特定のイベントが発生するたびに、コードのテスト、ソフトウェアのビルド、アプリケーションのデプロイなどを自動で処理します。
「.github/workflows/security-audit.yml」という名前のこのワークフローは、「Add security audit workflow」や「Update security audit workflow」といった、日常的な作業を装った単一ファイルのコミットで追加されました。
名前とは裏腹に、このワークフローはセキュリティチェックを一切行いません。代わりに、影響を受けたリポジトリから認証情報を盗み出し、HTTP経由で外部サーバー(193.32.204[.]199)に送信します。
正規のセキュリティツールのように見えるため、リポジトリの自動処理の一部として実行されても気づかれない可能性があります。
Socketの研究者らによると、この悪意あるファイルは数万のリポジトリで見つかりました。その中には、「henrywoo」または「kitao」が書き込み権限を持つリポジトリが含まれています。
感染経路となったリポジトリには、次のものがあります。
- henrywoo/pyllamaおよびhenrywoo/chatllama:「henrywoo」が作成したAI関連のGitHubプロジェクト
- kitao/pixel:通常はPython Package Index(PyPI)とcrates.ioの両方で配布されています。この2つは、開発者がそれぞれPythonとRustで書いたソフトウェアパッケージを公開・配布するオンラインリポジトリです
- uber/athenadriver:Uberが所有するプロジェクト。「henrywoo」が元の作者として書き込み権限を持っています
10年間更新されていなかったリポジトリも被害を受けました。このことから、攻撃者はリポジトリの活動状況や価値に基づいて標的を選んだのではなく、アクセスできるすべてのリポジトリを機械的に列挙したとみられます。
この攻撃は、手作業による標的型の攻撃ではなく、自動化されたものとみられます。
GhostActionの機密情報窃取機能を拡張
今回の事案はGhostActionキャンペーンの新たな亜種ですが、Socketの研究者らは、この最新版では攻撃者が盗み出せる情報が拡大していると指摘しています。
従来のGhostAction攻撃が主に狙っていたのは、GitHub Actionsに保存されたシークレットでした。たとえば、自動化ワークフロー用に設定されたAPIキーやアクセストークンなどです。
新しい亜種は、正規表現パターンを使って、リポジトリ内のファイルとGitの全履歴からも認証情報を探します。そのため、開発者がソースコードや設定ファイル、ファイルの過去のバージョンに誤ってコミットした機密情報を見つけ出せます。その認証情報が、リポジトリの最新版からすでに削除されていても同様です。
追加された検索の対象は、クラウドプロバイダーやAIサービスの認証情報です。インフラやホスト型アプリケーション、サードパーティサービスへのアクセスが露出するおそれがあります。
GitHubリポジトリで今も稼働する悪意あるワークフロー
Socketは2026年10月9日時点で、調査したリポジトリ(uber/athenadriverやkitao/pyxelなど)のデフォルトブランチに、悪意あるワークフローが依然として残っていると報告しました。
このワークフローは、影響を受けたリポジトリで実際に実行されていました。つまり、認証情報の窃取活動は、インジェクションの試行にとどまっていませんでした。
一方で研究者らは、Socketのレポートが公開された時点では、このキャンペーンによって悪意あるパッケージのバージョンがPyPIやcrates.ioに公開された形跡は確認していませんでした。
ただし、これは盗まれた認証情報が別の目的に使われていないという意味ではありません。Socketが、この2つのレジストリで後続の悪意あるパッケージのリリースを示す証拠を確認していないというだけです。
画像クレジット: Poetra.RH / PJ McDonnell / Shutterstock.com
翻訳元: https://www.infosecurity-magazine.com/news/supply-chain-attack-thousands/