Anthropicが提供するAIコーディング支援ツール「Claude Code」のGitHub Actionに、プロンプトインジェクションによってCI/CDワークフローのシークレットへアクセスできる脆弱性が存在していた。MicrosoftのThreat Intelligence(脅威インテリジェンス)チームがこの経路を発見し、Anthropicへの責任ある開示(Responsible Disclosure)を経て修正が完了している。

何が起きたのか:プロンプトインジェクションとCI/CDの交差点

Claude Code GitHub Actionは、GitHub Actionsのワークフロー内でClaudeを直接呼び出し、コードレビュー・テスト生成・ドキュメント作成などを自動化するためのOSSコンポーネントだ。AIエージェントをCI/CDパイプラインに組み込む取り組みとして注目を集めており、多くのプロジェクトで採用が広がっていた。

Microsoftが発見した脆弱性は「プロンプトインジェクション」と呼ばれる攻撃手法を利用する。攻撃者が悪意のある指示をプルリクエストのコメント、コミットメッセージ、またはリポジトリ内のファイルに埋め込むと、それをClaude Codeが解釈・実行してしまう可能性があった。

具体的な攻撃チェーンは以下のような流れだ:

  • 悪意のある入力の埋め込み:攻撃者がプルリクエスト等に、Claudeへの命令を模した文字列を含める
  • AIによる指示の誤認識:Claude Code GitHub Actionがその内容を処理する際、埋め込まれた指示を正規の命令と誤認する
  • シークレットへのアクセス:特定の条件が揃うと、ワークフロー内で利用可能なシークレット(APIキー、認証情報など)が漏洩するリスクがあった

この攻撃が成立するには「特定の条件」が必要であり、すべての環境で無条件に発火するものではなかった。しかしオープンなリポジトリや、外部からプルリクエストを受け付けている環境では現実的な脅威となりうる。

Anthropicの対応:責任ある開示プロセスが機能

Microsoftは発見後、Anthropicに責任ある開示を行った。Anthropicはこれを受けて、Claude Code GitHub Actionに対する緩和策(ミティゲーション)を実施し、修正済みバージョンをリリースしている。

AIエージェントのセキュリティ問題に対する業界の対応速度はまだ成熟途上にある中で、今回のケースでは責任ある開示のプロセスが適切に機能した。MicrosoftとAnthropicの双方がセキュリティコミュニティの標準的なルールに従ったことは、業界全体にとって良い前例となる。

AIエージェント時代のCI/CDセキュリティ:何を対策すべきか

このインシデントが示す本質的な課題は、「AIエージェントをパイプラインに組み込む際の権限設計」だ。CI/CDでAIを使う場合のベストプラクティスをまとめると以下になる。

最小権限の徹底

GitHub ActionsでClaude Code等のAIアクションを使用する際は、ワークフローに必要最小限の権限のみを付与する。GITHUB_TOKENのスコープを可能な限り絞り、シークレットへのアクセス権も必要なもののみに限定する。


出典: この記事は Securing CI/CD in an agentic world: Claude Code Github action case の内容をもとに、筆者の見解を加えて独自に執筆したものです。