Google Vertex AI デフォルト・コンフィグによるセキュリティ・リスク:Service Agent ロールの不正取得

Google’s Vertex AI Vulnerability Enables Low-Privileged Users to Gain Service Agent Roles

2026/01/17 CyberSecurityNews — Google Vertex AI のデフォルト・コンフィグには、低権限ユーザーが Service Agent ロールを乗っ取ることで権限昇格を可能にしてしまう問題が存在する。XM Cyber の研究者により、Vertex AI Agent Engine/Ray on Vertex AI における 2 つの攻撃ベクターが特定されているが、Google はこれらを「想定された動作 (Working as Intended)」と位置付けており、防御責任はユーザー側にあるとの見解を示している。

Service Agent とは、Vertex AI インスタンスの内部処理を目的として Google Cloud が自動的に付与するマネージド ID である。これらのアカウントには、プロジェクト全体に対する広範な権限がデフォルトで付与されており、低権限ユーザーがアクセス可能な状態にある場合、深刻なリスクが生じる。

Google’s Vertex AI Vulnerability

いわゆる代理者の混乱 (Confused Deputy) シナリオを通じて、この設計が攻撃者により悪用される。その結果として、最小限の権限からのリモートコード実行 (RCE) が実現し、インスタンス・メタデータからの認証情報の窃取が可能となる。いずれの攻撃経路も、開始点は読み取り専用権限であるが、最終的には Cloud Storage (GCS)/BigQuery へのアクセスといった高権限の操作に到達する。Ray on Vertex AI のフローでは、永続リソースへのアクセスから Custom Code Service Agent の侵害に至る一連の流れが確認されている。

FeatureVertex AI Agent EngineRay on Vertex AI
Primary TargetReasoning Engine Service AgentCustom Code Service Agent
Vulnerability TypeMalicious Tool Call (RCE)Insecure Default Access (Viewer to Root)
Initial Permissionaiplatform.reasoningEngines.updateaiplatform.persistentResources.get/list
ImpactLLM memories, chats, GCS accessRay cluster root; BigQuery/GCS R/W
Agent Engine におけるツール・インジェクション

開発者は、Google の Agent Development Kit (ADK) などのフレームワークを用いて AI エージェントをデプロイする。この際に、Python コードは pickle 化され、GCS バケットにステージングされる。また、”aiplatform.reasoningEngines.update” 権限を有する攻撃者は、通貨換算関数を装うリバース・シェルなどの、偽装されたツールを介して悪意のコードをアップロードできる。 

Google’s Vertex AI Vulnerability
Vulnerability Chain

それらのツールを何らかのクエリがトリガーすると、Reasoning Engine インスタンス上でシェルが実行される。その後に攻撃者は、メタデータを参照して Reasoning Engine Service Agent のトークン “service-<project>@gcp-sa-aiplatform-re.iam.gserviceaccount.com” を取得し、メモリ/セッション/ストレージ/ログに対する権限を獲得する。

これにより、チャット内容/LLMデータ/GCSバケットの読み取りが可能となる。XM Cyber によると、公開バケットはステージング用として機能するため、追加のストレージ権限は必要とされない。

Ray on Vertex AI における権限昇格

スケーラブルな AI ワークロード向けの Ray クラスターでは、Custom Code Service Agent がヘッドノードに自動的に付与される。それにより、Vertex AI Viewer ロールに含まれる aiplatform.persistentResources.list/get 権限を持つユーザーは、GCP Console 上の “Head node interactive shell” リンクにアクセスできる。

Google’s Vertex AI Vulnerability
Vulnerability Chain

この結果として、Viewer 権限でありながら root シェルへのアクセスが可能となる。攻撃者はメタデータ経由で Service Agent トークンを抽出し、GCS/BigQuery の読み書き権限を取得できる。テスト環境では signBlob などの IAM 操作はスコープ制限されていたが、ストレージ/ログへの影響が確認されている。

対策として挙げられるのは、不要な Service Agent 権限のカスタム・ロールからの削減/ヘッドノードのシェルの無効化/ツール更新時のコード検証の厳格化となる。また、Security Command Center の Agent Engine Threat Detection を活用して、メタデータへのアクセスを監視することで、RCE やトークン取得を検知できる。それに加えて、永続リソースおよび Reasoning Engine を定期的に監査することが重要となる。Vertex AI を導入する企業は、これらのデフォルト・コンフィグを “機能” ではなく “リスク” として認識すべきである。