セキュリティ研究者は、GoogleのVertex AIプラットフォームにおける重大な権限昇格の脆弱性を発見しました。これにより、最小限の権限しか持たない攻撃者が、高権限のService Agentアカウントを乗っ取ることが可能になります。
この欠陥はVertex AI Agent EngineおよびRay on Vertex AIに影響し、デフォルト設定により低権限ユーザーが、プロジェクト全体にわたる権限を持つ強力なマネージドIDへアクセスできてしまいます。
企業が生成AIインフラを急速に導入する中、現在98%がGoogle Cloud Vertex AIのようなプラットフォームを試験または実装しており、見落とされがちなこれらのIDリスクはクラウド環境に重大な脅威をもたらします。
Service Agentは、Google Cloudによって管理される特別なサービスアカウントで、ユーザーに代わって内部処理を実行し、多くの場合、自動的に広範な権限が付与されます。
研究者は、これらの「見えない」マネージドIDを悪用可能な権限昇格経路へと変えてしまう、2つの異なる攻撃ベクトルを特定しました。

Googleに開示したところ、同社はサービスは「意図したとおりに動作している」と回答しており、つまりこれらの設定は現在もデフォルトのままです。
プラットフォームエンジニアおよびセキュリティチームは、環境を直ちに保護するために、これらの技術的な仕組みを理解する必要があります。
最初の脆弱性はVertex AI Agent Engineを標的としています。これは、GoogleのADKなどのフレームワークを用いて、開発者がGCPインフラ上にAIエージェントをデプロイできるようにするものです。
| 機能 | Vertex AI Agent Engine | Ray on Vertex AI |
|---|---|---|
| 主な標的 | Reasoning Engine Service Agent | Custom Code Service Agent |
| 脆弱性の種類 | 悪意のあるツール呼び出し(RCE) | 安全でないデフォルトアクセス(ViewerからRootへ) |
| 初期権限 | aiplatform.reasoningEngines.update | aiplatform.persistentResources.get/list |
| 影響 | LLMメモリ、チャット、GCSアクセス | Rayクラスタのroot;BigQuery/GCSの読み書き |
研究者は、aiplatform.reasoningEngines.Update権限を持つ攻撃者が、推論エンジン内のツール呼び出しに悪意のあるPythonコードを注入できることを発見しました。
この攻撃は、既存の推論エンジンを更新し、標準的な関数の内部に埋め込んだリバースシェルなどの悪意あるコードを含むツールを追加することで成立します。

トリガーされると、コードは推論エンジンのコンピュートインスタンス上で実行され、攻撃者はインスタンスメタデータサービスを通じて「Reasoning Engine Service Agent」の認証情報を抽出できます。
デフォルトでは、このサービスエージェントは、Vertex AIのメモリ、チャットセッション、ストレージバケット、ログ機能へのアクセスなど、広範な権限を保有しています。
攻撃者は、すべてのチャット会話を読み取り、LLMメモリにアクセスし、ストレージリソースから機微情報を取得できます。
重要なのは、この攻撃に必要な権限が最小限である点で、どのアカウントの公開バケットでもステージング場所として利用できることです。
Ray on Vertex AI
2つ目の脆弱性はRay on Vertex AIクラスタに影響し、「Custom Code Service Agent」がクラスタのヘッドノードに自動的にアタッチされます。
XM Cyberの研究者は発見し、aiplatform.persistentResources.listおよびaiplatform.persistentResources.のみを持つユーザーが
標準の「Vertex AI Viewer」ロールに含まれる権限を持つユーザーは、GCPコンソール経由でヘッドノードへのrootアクセスを取得できます。

読み取り専用の閲覧者権限しかないにもかかわらず、攻撃者はコンソール内の「Head node interactive shell」リンクをクリックしてrootシェルを取得できます。
そこから、メタデータサービスを照会して、Custom Code Service Agentのアクセストークンを取得します。
このトークンのIAM操作スコープは限定的ですが、ストレージバケット、BigQueryリソース、Pub/Subに対する完全な制御と、クラウドプラットフォーム全体に対する読み取り専用アクセスを付与します。
Vertex AIを利用する組織は、カスタムロールを用いて不要なService Agent権限を取り消し、ヘッドノードシェルを無効化し、更新前にツールコードを検証し、Security Command Centerを通じてメタデータサービスへのアクセスを監視すべきです。
翻訳元: https://gbhackers.com/google-vertex-ai-flaw/