セキュリティ研究者Alvin Ferdiansyah氏がGoogle Gemini Live APIの実装例に脆弱性を発見。エフェメラルトークン発行時に「live connect constraints」フィールドを省略すると、攻撃者がブラウザベースのAI音声セッションを乗っ取れる可能性がある。 修正方法はシンプルで、トークン発行時に「live connect constraints.bidi generate content setup」内で使用するモデル、システムプロンプト、許可するツールを明示的に指定するだけ。
研究の答え

Create a landscape editorial hero image for this Studio Global article: Search & fact-check with cited sources for What is the Gemini Live API flaw discovered by Alvin Ferdiansyah, how does it allow attackers to. Article summary: ## The Vulnerability. Topic tags: general, documentation, general web, user generated. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clickbait thumbnails, icons, and tiny thumbnail layouts. Make it useful as an illustrative visual, not as factual evidence.
2026年6月下旬、セキュリティ研究者のAlvin Ferdiansyah氏が、Google Gemini Live APIのエフェメラルトークン(一時的な認証トークン)システムに重大な設定ミスが存在する可能性を指摘する詳細な分析を公開しました。この問題が悪用された場合、攻撃者は短時間だけ有効なWebSocketトークンを入手するだけで、ブラウザ上で動作するAI音声セッションを乗っ取り、モデルやシステムプロンプト、さらには実行可能なツールまで自由に制御できてしまいます。A
脆弱性の核心は、トークン発行(ミント)時に1つのセキュリティフィールドが欠落していることです。本記事では、判明している事実、未確認の点、そして開発者が今すぐ取るべき対策をまとめます。
Gemini Live APIは、ブラウザとサーバー間のWebSocket接続にエフェメラルトークンを使用します。これは短時間で期限切れになり、特定の用途に制限できる認証トークンですA。バックエンドサーバーがこのトークンを発行し、クライアントに渡します。クライアントはそのトークンを使ってGemini APIに直接接続するため、APIキーがブラウザ側に露出することを防げますS。
Googleのドキュメントによると、この制限付き接続用のエンドポイントはBidiGenerateContentConstrainedで、エフェメラルトークンはaccess_tokenクエリパラメータとして渡されますDS。
Ferdiansyah氏の報告によると、Googleが公開しているリファレンス実装では、トークン発行時に**live_connect_constraintsフィールドが省略されていました**A。本来このフィールドにはbidi_generate_content_setupオブジェクトを含め、トークンを使用するモデル、システム指示(システムプロンプト)、およびツールセットをバインド(紐付け)する必要があります。
このlive_connect_constraintsが空、あるいは存在しない場合、何の制約も適用されません。攻撃者がエフェメラルトークンを入手すると、**クライアント側で自由に設定したフレーム(setup frame)**を送信し、任意のモデルやシステムプロンプト、ツールを指定できてしまいます。サーバー側にはトークンに紐づいた設定値がないため、攻撃者の設定をそのまま受け入れてしまうのです。
重要な注意点: 提供されたソースには、
live_connect_constraintsに関するGoogle公式ドキュメント、CVE(共通脆弱性識別子)、またはGoogleのセキュリティアドバイザリは含まれていません。この主張はFerdiansyah氏のMedium投稿に基づくものであり、現時点では未検証ですが、 plausible( plausibly あり得る)なものとして扱う必要がありますA。
もしこの脆弱性が現実のものだった場合、ブラウザベースでGemini Live APIを使用するアプリケーションに深刻な影響を及ぼします。
Google AIフォーラムでは、エフェメラルトークンがシステム指示を無視する、制限付きエンドポイントが期待通りに動作しないといった報告が既に複数上がっており、この分野のエコシステムがまだ成熟段階にあることを示唆していますDD。
Ferdiansyah氏が提案する修正方法は非常にシンプルです。トークン発行時にlive_connect_constraints.bidi_generate_content_setupフィールドに以下の3つの値を設定するだけですA。
model — 使用するGeminiモデルを指定(例: models/gemini-2.5-flash-native-audio-latest)system_instruction — システムプロンプトをpartsとtextの構造で指定tools — 空の配列[]か、明示的に許可したツールのみを指定し、クライアント側からのツール注入を防ぐ以下はFerdiansyah氏の記事にあったPythonコードの例ですA。
token = gemini_client.auth_tokens.create({
"uses": 1,
"expire_time": now + timedelta(seconds=60),
"new_session_expire_time": now + timedelta(seconds=60),
"live_connect_constraints": {
"bidi_generate_content_setup": {
"model": "models/gemini-2.5-flash-native-audio-latest",
"system_instruction": {
"parts": [{"text": "あなたはカスタマーサポートアシスタントです..."}]
},
"tools": []
}
}
})
注意:
live_connect_constraintsは提供されたソース内のGoogle公式APIリファレンスでは確認できていません。そのため、このコード例はFerdiansyah氏の説明に基づくものであり、本番環境で使用する前に実際のAPIでテストする必要がありますA。
以下の重要な点については、提供されたソースでは確認が取れていません。
live_connect_constraintsの存在やスキーマは確認されていません。BidiGenerateContentConstrainedエンドポイントの正確な動作は、公式リファレンスには記載されていませんDS。Googleから公式なアドバイザリが公開されるまでは、この脆弱性を「あり得る」ものとして捉え、予防的に対策を講じるのが最も安全なアプローチです。
live_connect_constraints(または同等のフィールド)が正しく設定されているか確認しましょう。newSessionExpireTimeを約60秒に設定することを推奨しており、これによりトークンが漏洩した場合の被害を最小限に抑えられますG。Gemini Live APIは、リアルタイムの音声・動画体験を構築するための強力なツールです。たった1つのフィールドの欠落がその可能性を損なうことがないよう、開発者は実装を確実に完了させる必要があります。
本記事は、Google公式ドキュメント、コミュニティフォーラムの議論、および研究者のオリジナル記事を含む21の提供ソースに基づいてファクトチェックされています。研究者の主張のうち主要なものは、公開時点では公式ソースから独立して検証できていません。
Studio Global AI
このページにはソースに裏付けされた回答が含まれており、Studio Global 内で続行できます。
セキュリティ研究者Alvin Ferdiansyah氏がGoogle Gemini Live APIの実装例に脆弱性を発見。エフェメラルトークン発行時に「live connect constraints」フィールドを省略すると、攻撃者がブラウザベースのAI音声セッションを乗っ取れる可能性がある。
セキュリティ研究者Alvin Ferdiansyah氏がGoogle Gemini Live APIの実装例に脆弱性を発見。エフェメラルトークン発行時に「live connect constraints」フィールドを省略すると、攻撃者がブラウザベースのAI音声セッションを乗っ取れる可能性がある。 修正方法はシンプルで、トークン発行時に「live connect constraints.bidi generate content setup」内で使用するモデル、システムプロンプト、許可するツールを明示的に指定するだけ。
Google公式のドキュメントやCVEは現時点で未公開。しかし実際のフォーラムでも同様の動作報告があり、開発者は早期の対策が推奨される。