Claude Code GitHub Action の問題:CI/CD ワークフローのシークレットが露出

Microsoft Warns Claude Code GitHub Action May Expose CI/CD Secrets

2026/06/08 gbhackers — Anthropic の Claude Code GitHub Action の欠陥により、AI エージェントが未信頼の GitHub コンテンツを処理する際に、CI/CD ワークフローのシークレットが意図せずに露出する可能性がある。このリスクは、エージェントがファイル読取に使用する一部のツールが、Bash のようなサブプロセス実行パスとは異なりサンドボックス化されていないことに起因する。特に Read ツールは “/proc/self/environ” へのアクセスが可能であるため、ANTHROPIC_API_KEY などを含む環境変数や、ランナー上で利用可能な認証情報を返す状態になっていた。

攻撃者に制御された issue 本文/pull request 説明/コメントを処理する公開リポジトリにおいて、複数ベンダーの AI 支援ワークフローが、プロンプト・インジェクションの試行を観測したことを契機に、研究者が調査を開始した。

攻撃者たちが狙うのは、通常のブラウジングでは不可視だが、raw markdown を読むモデルにとっては可視化される箇所である。例えば、issue 内の HTML コメントに悪意の命令を埋め込むことで、この種の攻撃を開始する。

HTML comment hidden inside an issue opened by the actor (Source : Microsoft).
HTML comment hidden inside an issue opened by the actor (Source : Microsoft).

観測されたキャンペーンでは、人気ドキュメント・プロジェクトのフォークが、AI ボットに対して広範な権限を与えるワークフローが悪用されていた。それにより、リポジトリ検索/ファイル読取/コミット作成/pull request 作成が可能になっていた。

攻撃者は、通常の機能リクエストに見えるコンテンツを作成し、その中に精密なコマンド列を埋め込んでいた。それらのコマンドに従う AI は、対象ファイルを特定し、不可視の XSS ペイロードを追記し、pull request を作成した。

それらが連鎖することで、改竄されたサイトのページをレンダリングする際に、訪問者のセッション・トークンが外部へと送信される。

この攻撃ロジックにより、Read ツールの脆弱性は危険性を増す。プロンプト・インジェクションを用いる攻撃者が、エージェントの挙動を制御できれば、CI ランナー内の機密ファイルへの誘導が可能になる。

GitHub Actions ランナーに含まれる可能性があるものとしては、リポジトリ・コンテンツ/イベント・メタデータ/GITHUB_TOKEN/クラウド認証情報/サードパーティ API キーなどが挙げられる。

これらの情報が、未信頼コンテンツを処理する AI エージェントに露出すると、信頼境界は崩壊する。

ツール権限やモデル選択といった実行時の挙動の大部分は、Action 側が設定する SDK オプションである。

Attack flow (Source : Microsoft).
Attack flow (Source : Microsoft).

Anthropic は Bash などのサブプロセスに対して、環境変数のスクラビングと Bubblewrap によるサンドボックス化を実装することで、当該ツールの実行時における環境変数の漏洩を防止していた。

しかし、Read ツールは、プロセス内でファイル読取を実行するためにサンドボックスを回避していた。Microsoft チームは、モデルに “/proc/self/environ” を読み取らせた後の出力前にキーを加工することで、セーフティ・フィルタや GitHub のシークレット・スキャナを回避するプロンプト・インジェクションを構築した。

Read ツールはスクラビングされていない環境変数を返し、ANTHROPIC_API_KEY を露出させた。この弱点を突く攻撃者は、Web リクエスト/GitHub コメント/ログ書き込みを通じて、認証情報を外部へ送信できるようになる。

Read tool accesses /proc/self/environ (Source : Microsoft).
Read tool accesses /proc/self/environ (Source : Microsoft).

Microsoft は HackerOne を通じて、この問題を Anthropic に報告した。Anthropic は 2026年5月5日に Claude Code バージョン 2.1.128 をリリースし、機密性の高い “/proc” ファイルへのアクセスをブロックし、この流出経路を遮断した。

この対策は、即時的にリスクを低減するが、防御側は未信頼の GitHub コンテンツを処理する AI ワークフローを、高リスクとみなし続けるべきである。特に、シークレット/ファイル読取ツール/外部通信チャネルを併せ持つ場合には注意が必要である。

実務的なハードニング手法には、”Agents Rule of Two” の適用が含まれる。すなわち、未信頼入力処理/シークレット保持または高機密性アクセス/状態変更または外部通信の 3要素を、同時に許可しないことである。

すべてのトークンに最小権限を適用し、API キーのスコープを限定し、利用状況の異常を監視する。

システム・プロンプトを強化し、ワークフロー内で信頼境界を明示することで、エージェントが issue 本文/PR (pull request)/ファイル内容を、命令ではなくデータとして扱うようにする。

最後に、ワークフローを単一の明確なタスクに固定し、その範囲外の要求を拒否する設計にする。

CI/CD において AI エージェントが普及するにつれ、サンドボックス化/厳格なトークンスコープ/明示的な信頼モデル/最小権限設計は、プロンプト・インジェクションおよびシークレット流出を防ぐために不可欠となる。