Claude Code GitHub Actionsを利用している組織は、研究者がリポジトリの侵害やサプライチェーン攻撃につながる脆弱性を発見したことを受け、CI/CD環境を点検すべきだ。
脆弱性はその後修正されたが、攻撃者が権限管理を回避し、信頼されたワークフローに信頼できない入力を注入することを可能にしていた。
この脆弱性により「攻撃者は権限管理を回避し、信頼された入力だけを処理するよう設計されたワークフローに、信頼できない入力を送り込める」と、研究者のRyotaK氏は分析で述べている。
主なポイント
- 研究者は、AnthropicのClaude Code GitHub Actionsワークフローに、リポジトリの侵害やソフトウェアサプライチェーン攻撃につながる脆弱性を発見した。
- ワークフローの権限検証ロジックにあった脆弱性により、攻撃者はアクセス制御を回避し、信頼された入力として扱われる信頼できないコンテンツを送信できた。
- 攻撃者はプロンプトインジェクションの手法を使って、GitHub ActionsのOIDCトークンを含む機密性の高い認証情報を露出させ、リポジトリへのより高い権限のアクセスを得る可能性があった。
- 最も深刻な攻撃シナリオでは、悪意あるコードをAnthropic自身のclaude-code-actionリポジトリに持ち込むことが可能になり、下流のユーザーに影響を及ぼすおそれがあった。
- 組織は最新バージョンのClaude Code GitHub Actionsにアップグレードし、ワークフローの権限、シークレット、設定を点検して、露出の兆候がないか確認すべきだ。
攻撃チェーンを分解する
この脆弱性は、組織がAI支援コーディング、課題管理、リポジトリ自動化をCI/CDパイプラインに統合できる、Anthropic公式のClaude Code GitHub Actionsワークフローに影響した。
このワークフローはソースコード、プルリクエスト、課題、ワークフローファイル、リポジトリのシークレットにアクセスできることが多いため、侵害に成功すれば、攻撃者に開発環境への足掛かりを与える可能性がある。
ワークフローに割り当てられた権限によっては、脅威アクターがコードを変更したり、機密性の高い認証情報にアクセスしたり、CI/CDプロセスを改変したり、接続されたシステムへのより広範なアクセスを得たりする可能性がある。
研究によると、最も深刻な攻撃シナリオには、脆弱なワークフローに依存していたAnthropic自身のclaude-code-actionリポジトリが関与していた。
攻撃者がこの脆弱性の悪用に成功すれば、アクション自体に悪意あるコードを注入でき、ソフトウェアに依存する下流のあらゆるリポジトリに影響を及ぼすサプライチェーンリスクが生じていた可能性がある。
権限回避の仕組み
この脆弱性の主な原因は、ワークフローの権限検証ロジックにあった欠陥だ。
Claude Code GitHub Actionsは、書き込み権限またはリポジトリ管理者権限を持つユーザーに実行を制限するよう設計されていたが、checkWritePermissions関数は実際の権限にかかわらず、あらゆるGitHub Actionを自動的に信頼していた。
その結果、攻撃者は悪意あるGitHub Appを作成し、そのインストールトークンを使って課題やプルリクエストを開き、ワークフローに誤って信頼された入力として処理させることができた。
プロンプトインジェクションとトークン露出のリスク
ワークフローが攻撃者の管理するコンテンツを処理すると、脅威アクターはプロンプトインジェクションの手法を利用してClaude Codeの挙動を操作できた。
研究者は、細工した課題の説明文によってAIアシスタントをだまし、機密性の高い環境変数を露出させる承認済みコマンドを実行させられることを実証した。
最も価値の高い標的の一つはGitHub ActionsのOpenID Connect(OIDC)認証情報であり、これを使えば、特権認証トークンを取得し、リポジトリ環境内でアクセスを拡大できる可能性があった。
Anthropicはこの脆弱性にCVSSスコア7.8を割り当て、一部の亜種が一般公開前に実際に悪用されていたと指摘した。
別の調査では、研究者がallowed_non_write_usersに関する設定ミスを発見した。これにより攻撃者は、ワークフローを連鎖させる攻撃を通じてGitHubトークンを窃取し、権限を昇格できる可能性があった。
ソフトウェアサプライチェーンのリスクを低減する
更新を適用するだけでなく、セキュリティチームはワークフローの設定、権限、シークレット管理の運用を点検し、悪用される可能性のある弱点を特定すべきだ。
- 最新バージョンのClaude Code GitHub Actionsにアップグレードし、過度に広い権限を持つallowed_non_write_users設定など、脆弱な設定がないかワークフローを監査する。
- GitHub Actionsの権限を制限し、最小権限の原則に基づいて露出したシークレットやOIDCトークンへのアクセスを管理し、認証情報はワークフローの実行に必要なものだけに限定する。
- 外部コントリビューターがトリガーしたワークフローには手動承認を必須とし、シークレット、特権付きアクション、機密性の高いリポジトリリソースへのアクセスを許可する前に確認を行う。
- ブランチ保護ルールを導入し、必須のコードレビューと署名付きコミットを義務付け、承認されていないコード変更が本番環境に到達するリスクを低減する。
- 監視しワークフローのログ、トークンの活動、リポジトリの変更、CI/CD設定に、認証情報の露出、未承認の変更、データの窃取の試みを示す兆候がないか確認する。
- AI支援開発ツールのプロンプトインジェクションリスクを評価し、ワークフロー、サードパーティーアクション、自動化統合を定期的にセキュリティレビューする。
- テストし、CI/CD侵害に対するインシデント対応計画、認証情報の窃取、ソフトウェアサプライチェーン攻撃のシナリオを想定して、検知、封じ込め、復旧の手順を検証する。
これらの対策を組み合わせることで、ソフトウェア開発パイプラインのセキュリティを強化しながら、ワークフローを介した攻撃への露出を抑えられる。
AI開発のリスク
Claude Codeの脆弱性は、ソースコード、リポジトリ、CI/CDインフラにアクセスできることの多いAI搭載開発ワークフローを保護する重要性を浮き彫りにしている。
プロンプトインジェクション攻撃はチャットボットやAIアシスタントと結び付けて語られることが多いが、今回の研究は、同様の手法がソフトウェア開発環境と直接やり取りする自動化ツールにも影響を及ぼし得ることを示している。
組織が開発プロセスへのAIの統合を進める中、セキュリティチームは、こうしたツールにどのような権限を与えるのか、どのリソースにアクセスできるのか、信頼できない入力にどう反応する可能性があるのかを評価すべきだ。
ゼロトラストソリューションは、暗黙の信頼を制限し、アクセスを継続的に検証し、開発環境を分離して侵害の可能性を封じ込めることで、組織のリスク低減に役立つ。

