live_connect_constraints-feltIfølge Ferdiansyahs rapport udelod referenceimplementeringen for token-oprettelse live_connect_constraints-feltet . Dette felt skal indeholde et
bidi_generate_content_setup-objekt, der binder tokenet til en bestemt model, systeminstruktion og et sæt værktøjer.
Når live_connect_constraints er tomt eller fraværende, håndhæves ingen begrænsninger. En angriber, der får fat i det kortlivede token, kan derefter sende en klientstyret opsætningsramme (setup frame), der specificerer en hvilken som helst model, systemprompt og værktøjer efter eget valg. Serveren, der mangler token-bundne værdier at validere imod, accepterer angriberens konfiguration.
Vigtigt forbehold: De medfølgende kilder inkluderer ikke Googles officielle dokumentation for
live_connect_constraints, en CVE eller en Google-sikkerhedsmeddelelse, der bekræfter denne adfærd. Påstanden stammer fra Ferdiansyahs Medium-indlæg og bør betragtes som ubekræftet, men plausibel.
Hvis sårbarheden er reel, er konsekvenserne betydelige for enhver applikation, der bruger Gemini Live API i en browserkontekst:
Udviklere på Googles AI-forum har rapporteret problemer med kortlivede tokens, der ignorerer systeminstruktioner og ikke fungerer som forventet med begrænsede endepunkter, hvilket tyder på, at det bredere økosystem stadig er under udvikling .
Den remediering, Ferdiansyah beskriver, er ligetil: udfyld live_connect_constraints.bidi_generate_content_setup
model – Den nøjagtige Gemini-model, der skal bruges (f.eks. models/gemini-2.5-flash-native-audio-latest).system_instruction – Den påtænkte systemprompt, struktureret som parts indeholdende text.tools – En tom liste [] eller kun eksplicit tilladte værktøjer for at forhindre klientside-injektion.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": "Du er en kundesupportassistent..."}]
},
"tools": []
}
}
})Bemærk: Fordi
live_connect_constraintsikke er dokumenteret i den officielle Google API-reference, der er angivet i kilderne, er dette eksempel baseret på Ferdiansyahs egen beskrivelse og bør testes mod den faktiske API før produktionsbrug.
Følgende nøglepunkter forbliver uverificerede af de medfølgende kilder:
live_connect_constraints.BidiGenerateContentConstrained-endepunktet, når det modtager et ubeskyttet token, er ikke dokumenteret i de medfølgende officielle referencer Indtil Google offentliggør en officiel meddelelse, er den sikreste tilgang at betragte sårbarheden som plausibel og anvende rettelsen proaktivt:
live_connect_constraints eller dets tilsvarende felt.newSessionExpireTime på omkring 60 sekunder for at begrænse vinduet for token-tyveri Gemini Live API er et kraftfuldt værktøj til at bygge realtids stemme- og videooplevelser. Et enkelt manglende felt i token-oprettelsesprocessen bør ikke underminere denne kapacitet – men udviklere skal sikre, at deres implementeringer er komplette.
Denne artikel er faktatjekket mod 27 medfølgende kilder, inklusive officiel Google-dokumentation, community-forumdiskussioner og den originale forskers rapport. Centrale påstande fra forskeren kunne ikke uafhængigt verificeres fra officielle kilder på tidspunktet for offentliggørelsen.