3月30日、BeyondTrustは細工したGitHubブランチ名によって、CodexのOAuthトークンを平文で盗み出せることを実証しました。OpenAIはそれをCritical P1に分類しました。2日後には、AnthropicのClaude Codeのソースコードが公開npmレジストリに流出し、数時間以内にAdversaが、Claude Codeがコマンドが50個を超える下位コマンドになった瞬間に、その拒否ルールを黙って無視してしまうことを突き止めました。これらは単発の不具合ではありませんでした。9か月に及ぶ一連の流れの最新の事例です。Codex、Claude Code、Copilot、Vertex AIに対するエクスプロイトが6つの研究チームによって開示され、それぞれが同じパターンに従っていました。つまり、AIコーディングエージェントが資格情報を保持し、あるアクションを実行し、人間のセッションがリクエストを結び付けないまま本番システムに認証していたのです。
攻撃対象の広がりは、最初に2025年のBlack Hat USAで示されました。ZenityのCTOであるMichael Barguryが、ステージ上でJira MCPを使って、クリック操作なしでChatGPT、Microsoft Copilot Studio、Google Gemini、Salesforce Einstein、Cursorを乗っ取ったのです。9か月後、攻撃者が到達したのはまさに、これらの資格情報でした。
Enkrypt AIのCSOであり、かつAWSの元Deputy CISOであるMerritt Baerは、独占のVentureBeatインタビューでこの失敗を名指ししました。「企業は“承認済み”のAIベンダーを持っていると思っていますが、実際に承認したのは基盤となるシステムではなく、インターフェースです。」インターフェースの下にある資格情報こそが侵害です。
Codex:ブランチ名がGitHubトークンを盗んだ
BeyondTrustの研究者Tyler Jespersenは、Fletcher DavisおよびSimon Stewartとともに、CodexがGitHub OAuthトークンをgitリモートURLに埋め込んだ形でリポジトリを複製していることを発見しました。複製の最中、ブランチ名のパラメータがサニタイズされないままセットアップスクリプトに流れ込みました。セミコロンとバックティックのサブシェルによって、ブランチ名は情報持ち出し(exfiltration)のペイロードに変換されてしまったのです。
Stewartはさらに“こっそり”とした攻撃に仕上げました。「main」の後ろに94個の表意文字スペース(Unicode U+3000)を付け足すことで、不正なブランチはCodexのWebポータル上で標準のmainブランチとまったく同一に見えるようになりました。開発者には「main」と見えます。シェルにはトークンを盗み出すcurlが動いているのが見えます。OpenAIはこれをCritical P1に分類し、2026年2月5日までに完全な是正(remediation)を出荷しました。
Claude Code:2つのCVEと50サブコマンドのバイパスがサンドボックスを破壊
CVE-2026-25723がClaude Codeのファイル書き込み制限に直撃しました。パイプしたsedおよびechoコマンドがプロジェクトのサンドボックスから脱出したのは、コマンド連結(command chaining)が検証されていなかったためです。2.0.55で修正されました。CVE-2026-33068はさらに巧妙でした。Claude Codeは、ワークスペースの信頼ダイアログを表示する前に、.claude/settings.jsonから権限モードを解決していました。悪意あるリポジトリがpermissions.defaultModeをbypassPermissionsに設定しました。すると信頼プロンプトは一度も表示されません。2.1.53で修正されました。
50サブコマンドのバイパスが最後にやってきました。Adversaは、コマンドが50個を超える下位コマンドになった時点で、Claude Codeが拒否ルールの強制を黙って破棄することを発見しました。Anthropicのエンジニアはセキュリティをスピードと引き換えにしており、50回目の時点以降はチェックをやめていたのです。2.1.90で修正されました。
「企業向けAIにおける重大な脆弱性とは、アクセス制御が壊れていることです。つまり、LLMのフラットな認可(authorization)プレーンがユーザーの権限を尊重できていない状態です」と、ReputationのAIおよび機械学習担当VPで、ユタ州AI委員会のメンバーでもあるCarter Reesは書いています。リポジトリが、エージェントにどの権限を与えるかを決めていました。そしてトークンの予算が、どの拒否ルールが残るかを決めていたのです。
Copilot:プルリクエストの説明文もGitHubのイシューも“根”になった
Johann Rehbergerは、CVE-2025-53773をPersistent SecurityのMarkus Vervierを共同で発見した人物として、Markus VervierとともにGitHub Copilotに対して実演しました。プルリクエストの説明文に隠された指示によって、Copilotは.vscode/settings.jsonの自動承認(auto-approve)モードを切り替えました。これにより確認はすべて無効化され、Windows、macOS、Linux全体で無制限のシェル実行が許可されました。Microsoftは2025年8月のPatch Tuesdayリリースでこれを修正しました。
次に、Orca SecurityがGitHub Codespaces内でCopilotを解剖しました。GitHubのイシューに隠された指示がCopilotに細工をし、/workspaces/.codespaces/shared/user-secrets-envs.jsonへのシンボリックリンクを含む悪意あるPRをチェックアウトさせました。細工されたJSON $schemaのURLが特権を持つGITHUB_TOKENを持ち出しました。リポジトリの完全乗っ取り。イシューを開くだけで、ユーザー操作はゼロです。
IvantiのCTOであるMike Riemerは、VentureBeatのインタビューでスピードの側面をこう捉えました。「脅威アクターは72時間以内にパッチを逆解析しています。顧客がリリース後72時間以内にパッチを当てなければ、エクスプロイトの対象になってしまう。」エージェントは、その猶予を数秒に圧縮します。
Vertex AI:デフォルトのスコープがGmail、Drive、そしてGoogle自身のサプライチェーンにまで到達
Unit 42の研究者Ofir Shatyは、すべてのVertex AIエージェントに紐づけられているデフォルトのGoogleサービスアイデンティティに過剰な権限が付与されていることを突き止めました。盗まれたP4SAの資格情報により、プロジェクト内のすべてのCloud Storageバケットへの無制限の読み取りアクセスが許可され、さらに、Vertex AI Reasoning Engineの中核にある、制限付きかつGoogle所有のArtifact Registryリポジトリにまで到達しました。Shatyは、侵害されたP4SAは、ユーザーデータとGoogle自身のインフラの両方にアクセスできる「ダブルエージェント」のように機能していたと説明しました。
VentureBeat防御グリッド
セキュリティ要件 | 出荷された防御 | エクスプロイトの経路 | ギャップ |
サンドボックスAIエージェントの実行 | Codexはクラウドのコンテナでタスクを実行し、エージェント実行中にトークンをスクラブする。 | 複製中にトークンが存在。ブランチ名のコマンドインジェクションが後始末の前に実行された。 | コンテナセットアップのパラメータに対する入力サニタイズがない。 |
ファイルシステムアクセスを制限する | Claude Codeはaccept-editsモードで書き込みをサンドボックス化する。 | パイプしたsed/echoがサンドボックスから脱出(CVE-2026-25723)。settings.jsonが信頼ダイアログをバイパス(CVE-2026-33068)。50サブコマンドの連結で拒否ルールの強制が落ちる。 | コマンド連結が検証されていない。信頼が読み込まれる前に設定が読み込まれる。パフォーマンスのために拒否ルールが切り詰められる。 |
コード文脈におけるプロンプトインジェクションをブロックする | Copilotは既知のインジェクションパターンに対してPRの説明文をフィルタする。 | PR、READMEファイル、GitHubイシューにある隠されたインジェクションがRCEを引き起こした(CVE-2025-53773 + Orca RoguePilot)。 | 静的パターンマッチングは、正当なレビューやCodespacesのフローに埋め込まれたプロンプトに負ける。 |
エージェントの資格情報を最小権限にスコープする | Vertex AI Agent Engineは、OAuthスコープ付きのP4SAサービスエージェントを使用する。 | デフォルトのスコープがGmail、Calendar、Driveにまで到達。P4SAの資格情報により、すべてのCloud StorageバケットおよびGoogleのArtifact Registryが読み取られる。 | OAuthスコープはデフォルトで編集不可。設計として最小権限が破られている。 |
エージェントアイデンティティを棚卸しし、統治する | 主要なAIコーディングエージェントのベンダーは、エージェントのアイデンティティの発見やライフサイクル管理を提供していません。 | 試みられていません。企業はAIコーディングエージェントを、資格情報や権限スコープとともに棚卸ししていないのです。 | AIコーディングエージェントはIAM、CMDB、資産インベントリから見えません。ガバナンスは存在しません。 |
エージェントの実行時から資格情報の持ち出しを検知する | CodexはWebポータル表示でトークンを隠します。Claude Codeはサブコマンドをログに記録します。 | コンテナ内の平文でトークンが見えます。Unicodeによる難読化で持ち出しペイロードを隠していました。サブコマンドの連鎖で意図を隠していました。 | エージェントのネットワーク呼び出しに対する実行時監視がありません。ログの切り詰めが迂回を隠しました。 |
AIが生成したコードを監査してセキュリティ上の欠陥を洗い出す | AnthropicはClaude Code Security(2026年2月)をリリースしました。OpenAIはCodex Security(2026年3月)をリリースしました。 | どちらも生成されたコードをスキャンします。しかし、エージェント自身の実行環境や、資格情報の取り扱いはスキャンしません。 | コード出力のセキュリティは、エージェント実行時のセキュリティではありません。攻撃対象領域は、エージェントそのものです。 |
すべての脆弱性が狙ったのはモデル出力ではなく実行時の資格情報
すべてのベンダーが防御を出しました。すべての防御が回避されました。
Sonar 2026 State of Code Developer Surveyでは、25%の開発者がAIエージェントを日常的に利用しており、64%が利用を始めたことが分かりました。Veracodeは100以上のLLMをテストし、生成されたコードサンプルの45%がOWASP Top 10の欠陥を導入していたことを見つけました。これは別の失敗であり、実行時の資格情報ギャップをさらに悪化させます。
CrowdStrikeのCTOであるElia Zaitsevは、RSAC 2026でのVentureBeatの独占インタビューでこのルールを次のようにまとめました。エージェントのアイデンティティを人間へと収束させるべきだ、というのです。なぜなら、あなたの代わりに行動するエージェントが、あなたが持っている権限以上を持つべきではないからです。Codexは、開発者が許可したすべてのリポジトリに対するGitHub OAuthトークンを保持していました。Vertex AIのP4SAは、プロジェクト内のすべてのCloud Storageバケットを読み取っていました。Claude Codeは、否定ルールの強制をトークン予算と引き換えにしました。
アイデンティティのリスクについて企業に助言するIEEEのシニアメンバー、Kayne McGladreyも、VentureBeatとの独占インタビューで同じ診断を下しました。"必要以上に大きな権限を使うのです。人間がそうである以上に。スケールと意図の速度のせいです。"
Riemerは、VentureBeatとの独占インタビューで運用上の線引きを示しました。"「検証するまでは、私はあなたのことを分からない」ようになります。" 分岐名は検証の前にシェルへ語りかけていました。GitHubのIssueは、誰もそれを読んでいない前にCopilotへ語りかけていました。
セキュリティ担当部門のアクションプラン
すべてのAIコーディングエージェントを棚卸しする(CIEM)。 Codex、Claude Code、Copilot、Cursor、Gemini Code Assist、Windsurf。セットアップ時にそれぞれが受け取った資格情報とOAuthスコープを一覧化します。CMDBにAIエージェントのアイデンティティ用のカテゴリがない場合は作成してください。
OAuthスコープとパッチレベルを監査する。 Claude Codeを2.1.90以降へアップグレードします。Copilotの2025年8月のパッチを確認します。Vertex AIを、持ち込みサービスアカウント(bring-your-own-service-account)モデルへ移行してください。
ブランチ名、プルリクエストの説明、GitHubのIssue、リポジトリ設定を、信頼できない入力として扱う。 Unicodeによる難読化(U+3000)、50以上のサブコマンドにわたるコマンド連鎖、そして権限モードを反転させる.vscode/settings.jsonまたは .claude/settings.json の変更を監視します。
エージェントのアイデンティティを、人間の特権アイデンティティ(PAM/IGA)と同じようにガバナンスする。 資格情報のローテーション。最小権限のスコープ設定。コードを書き込むエージェントと、それをデプロイするエージェントの間で責務を分離する。CyberArk、Delinea、そして非人間のアイデンティティを受け入れる任意のPAMプラットフォームは、今日すでにエージェントのOAuth資格情報をオンボードできます。Graviteeの2026年の調査では、対応済みのチームはわずか21.9%しかないことが分かりました。
連絡する前に検証する。 "「信頼して確認して検証している限り、AIにそれを維持させるのは問題ありません」"とRiemerは述べました。いかなるAIコーディングエージェントも、GitHub、Gmail、または社内リポジトリに認証する前に、そのエージェントのアイデンティティ、スコープ、そして紐づけられている人間のセッションを確認してください。
次の更新の前に、各ベンダーに書面で確認する。 "私の環境で動作しているAIエージェントに関するアイデンティティのライフサイクル管理コントロールを示してください。資格情報のスコープ、ローテーション方針、そして権限の監査証跡を含めてください。" ベンダーが回答できないのであれば、それが監査上の指摘です。
3文で分かるガバナンスのギャップ
ほとんどのCISOは、人間のすべてのアイデンティティを棚卸ししており、同等の資格情報で動作しているAIエージェントについては棚卸しがゼロです。IAMフレームワークが、人間の特権昇格とエージェントの特権昇格を、同じ厳密さで統治しているわけではありません。多くのスキャナはすべてのCVEを追跡しますが、ブランチ名が、開発者がデフォルトで信頼しているコンテナを通じてGitHubトークンを持ち出した場合にアラートを出せるわけではありません。
RSAC 2026の参加者に対するZaitsevの助言は率直でした。あなたはもう、何をすべきかを分かっている。エージェントが、やらなかった場合のコストを壊滅的なものにしただけです。



