何が起きたか
GhostAction — 盗まれたGitHub認証情報を利用したサプライチェーンキャンペーン — は、2026年10月14日〜15日に第2段階を展開した(GitHubがStage-1のワークフロー注入をブロックしてから1週間後)。Stage-1はすでに約1,900のGitHubアカウントと30,000以上のリポジトリを乗っ取り、CIからシークレット(npm、PyPI、DockerHub、AIプロバイダーキー)を取得する認証情報スティーラーActionsワークフローを実行していた。Stage-2は、偽のFont Awesome「フォント」ファイル(実際には38行のNode.jsコード)を66のオーナーにわたる94のリポジトリに配置し、開発者がVS Codeでプロジェクトを開いたときに.vscode/tasks.json内の「eslint-check」というタスクを通じて自動実行されるように配線した。これはユーザー名/ホスト名/env変数を収集し、ホームディレクトリを再帰的に検索してAWSキー、GitHub/npm/PyPIトークン、Anthropic APIキーを探し、cronジョブをインストールし、Cursorコーディングエージェントを狙った埋め込み命令 — エージェントにファイルを実行させるプロンプトインジェクション形式の指示 — を含んでいる。
なぜ重要か
これはAI開発者ツールチェーンへの直接攻撃である:ペイロードはAI対応IDEでリポジトリをクローンして開くだけでトリガーされ、AIコーディングエージェントとエージェントパイプラインが依存する認証情報ストア(CLI/クラウド/SSHおよびAIプロバイダーAPIキー)を具体的に標的とする。正規に見えるリポジトリをクローンすると、開発者のワークステーションとCI上で攻撃者コードが実行され、エージェントが保持するモデルプロバイダーおよびクラウド認証情報が露出する。Cursorディレクティブにより、エージェントは攻撃者の仕込んだ指示に従って行動するよう騙される可能性がある。
攻撃経路
VS Code/Cursorで感染リポジトリをクローンして開くと、.vscode/tasks.jsonの自動開始タスクがトリガーされる;Cursorエージェントへの隠れたプロンプト指示が実行を強化する;Stage-1で乗っ取られたActionsワークフローがCIシークレットを盗む。
影響を受けるシステム
VS Code / Cursorコーディングエージェントと、偽の.vscode/tasks.json「eslint-check」タスクを含むリポジトリ;Stage-1注入アクションを参照するGitHub Actionsワークフロー
緩和策
10月8日以降にクローンしたリポジトリの.vscode/tasks.jsonと.github/workflowsをレビューする;最初にクリーンなデバイスからGitHubトークンを失効させ(感染したマシンからではなく)、その後AWSキー、npm/PyPIトークン、AIプロバイダーキーをローテーションする;ワークフロー承認を必須にし、ActionsをコミットSHAにピン留めする。