live_connect_constraints 欄位根據 Ferdiansyah 的文章,令牌產出的參考實作完全遺漏了 live_connect_constraints 欄位 。這個欄位本應包含一個 bidi_generate_content_setup 物件,用來將令牌綁定到特定的模型、系統指令和一組工具。
當 live_connect_constraints 為空或不存在時,任何約束都不會生效。取得令牌的攻擊者便可以發送一個客戶端控制的設定訊框(setup frame),任意指定想要的模型、系統提示和工具。由於伺服器沒有令牌綁定的數值可供驗證,便會接受攻擊者的設定。
重要提醒: 提供的資料來源並未包含 Google 官方關於
live_connect_constraints的文件、CVE 編號或 Google 的安全公告來確認這項行為。此聲明來自 Ferdiansyah 的 Medium 文章,應視為未經官方證實但具合理性的資訊 。
如果這項漏洞為真,對任何在瀏覽器環境中使用 Gemini Live API 的應用程式都將造成嚴重後果:
在 Google AI 論壇上,已有開發者回報短期令牌會忽略系統指令,以及在受限端點上無法如預期運作等問題,顯示整個生態系統仍在發展中 。
Ferdiansyah 提出的修補方法非常直接:在產出令牌時,填入 live_connect_constraints.bidi_generate_content_setup 欄位,並包含三個數值:
model — 要使用的確切 Gemini 模型(例如 models/gemini-2.5-flash-native-audio-latest)。system_instruction — 預期的系統提示,以包含 text 的 parts 結構呈現。tools — 設為空陣列 [] 或僅包含明確允許的工具,以阻止客戶端注入。以下是取自 Ferdiansyah 文章的示範性 Python 程式碼 :
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 進行測試 。
以下關鍵點在提供的資料來源中仍未獲得證實:
live_connect_constraints 的存在或其結構。BidiGenerateContentConstrained 端點收到不受限令牌時的具體行為,在提供的官方參考資料中並無說明 。在 Google 發布官方公告之前,最安全的做法是將此漏洞視為合理威脅,並主動套用修補:
live_connect_constraints 或其等效欄位。newSessionExpireTime 設為約 60 秒,以限縮令牌被盜用的攻擊窗口 。Gemini Live API 是構建即時語音和視訊體驗的強大工具。令牌產出過程中一個遺漏的欄位不應破壞這項能力——但開發者必須確保其實作是完整的。
本文已根據 27 份提供的資料來源進行事實查核,包括 Google 官方文件、社群論壇討論以及研究員的原篇文章。研究員提出的關鍵主張在截稿前未能透過官方來源獨立證實。
live_connect_constraints 欄位根據 Ferdiansyah 的文章,令牌產出的參考實作完全遺漏了 live_connect_constraints 欄位 。這個欄位本應包含一個 bidi_generate_content_setup 物件,用來將令牌綁定到特定的模型、系統指令和一組工具。
當 live_connect_constraints 為空或不存在時,任何約束都不會生效。取得令牌的攻擊者便可以發送一個客戶端控制的設定訊框(setup frame),任意指定想要的模型、系統提示和工具。由於伺服器沒有令牌綁定的數值可供驗證,便會接受攻擊者的設定。
重要提醒: 提供的資料來源並未包含 Google 官方關於
live_connect_constraints的文件、CVE 編號或 Google 的安全公告來確認這項行為。此聲明來自 Ferdiansyah 的 Medium 文章,應視為未經官方證實但具合理性的資訊 。
如果這項漏洞為真,對任何在瀏覽器環境中使用 Gemini Live API 的應用程式都將造成嚴重後果:
在 Google AI 論壇上,已有開發者回報短期令牌會忽略系統指令,以及在受限端點上無法如預期運作等問題,顯示整個生態系統仍在發展中 。
Ferdiansyah 提出的修補方法非常直接:在產出令牌時,填入 live_connect_constraints.bidi_generate_content_setup 欄位,並包含三個數值:
model — 要使用的確切 Gemini 模型(例如 models/gemini-2.5-flash-native-audio-latest)。system_instruction — 預期的系統提示,以包含 text 的 parts 結構呈現。tools — 設為空陣列 [] 或僅包含明確允許的工具,以阻止客戶端注入。以下是取自 Ferdiansyah 文章的示範性 Python 程式碼 :
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 進行測試 。
以下關鍵點在提供的資料來源中仍未獲得證實:
live_connect_constraints 的存在或其結構。BidiGenerateContentConstrained 端點收到不受限令牌時的具體行為,在提供的官方參考資料中並無說明 。在 Google 發布官方公告之前,最安全的做法是將此漏洞視為合理威脅,並主動套用修補:
live_connect_constraints 或其等效欄位。newSessionExpireTime 設為約 60 秒,以限縮令牌被盜用的攻擊窗口 。Gemini Live API 是構建即時語音和視訊體驗的強大工具。令牌產出過程中一個遺漏的欄位不應破壞這項能力——但開發者必須確保其實作是完整的。
本文已根據 27 份提供的資料來源進行事實查核,包括 Google 官方文件、社群論壇討論以及研究員的原篇文章。研究員提出的關鍵主張在截稿前未能透過官方來源獨立證實。