live_connect_constraints-FeldLaut Ferdiansyahs Analyse fehlte in der Referenzimplementierung für die Token-Erstellung das live_connect_constraints-Feld . Dieses Feld soll ein
bidi_generate_content_setup-Objekt enthalten, das das Token an ein bestimmtes Modell, eine bestimmte Systemanweisung und einen bestimmten Satz von Tools bindet.
Wenn live_connect_constraints leer oder nicht vorhanden ist, werden keine Einschränkungen durchgesetzt. Ein Angreifer, der das Ephemeral Token erbeutet, kann dann einen clientgesteuerten Setup-Frame senden, der ein beliebiges Modell, einen beliebigen System-Prompt und beliebige Tools angibt. Der Server, dem keine token-gebundenen Werte zum Abgleich vorliegen, akzeptiert die Konfiguration des Angreifers.
Wichtiger Hinweis: Die bereitgestellten Quellen enthalten weder Googles offizielle Dokumentation für
live_connect_constraints, eine CVE noch eine Google-Sicherheitswarnung, die dieses Verhalten bestätigt. Die Behauptung stammt aus Ferdiansyahs Medium-Artikel und sollte als unbestätigt, aber plausibel betrachtet werden.
Sollte die Sicherheitslücke real sein, sind die Konsequenzen für jede Anwendung, die die Gemini Live API im Browser-Kontext nutzt, erheblich:
Entwickler im Google AI Forum berichteten von Problemen mit Ephemeral Tokens, die Systemanweisungen ignorieren und nicht wie erwartet mit eingeschränkten Endpunkten funktionieren – ein Hinweis darauf, dass das gesamte Ökosystem noch reift .
Die von Ferdiansyah beschriebene Abhilfe ist unkompliziert: Das Feld live_connect_constraints.bidi_generate_content_setup
model – Das genaue zu verwendende Gemini-Modell (z.B. models/gemini-2.5-flash-native-audio-latest).system_instruction – Der gewünschte System-Prompt, strukturiert als parts mit text.tools – Ein leeres Array [] oder nur explizit erlaubte Tools, um Client-seitige Injektionen zu verhindern.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 bist ein Kundendienst-Assistent..."}]
},
"tools": []
}
}
})Hinweis: Da
live_connect_constraintsin der offiziellen Google-API-Referenz der Quellen nicht dokumentiert ist, basiert dieses Beispiel auf Ferdiansyahs eigener Beschreibung und sollte vor dem Produktionseinsatz gegen die tatsächliche API getestet werden.
Die folgenden Kernpunkte bleiben durch die bereitgestellten Quellen unbestätigt:
live_connect_constraints.BidiGenerateContentConstrained-Endpunkts beim Erhalt eines uneingeschränkten Tokens ist in den bereitgestellten offiziellen Referenzen nicht dokumentiert Bis Google eine offizielle Warnung veröffentlicht, ist der sicherste Ansatz, die Sicherheitslücke als plausibel zu betrachten und die Korrektur proaktiv anzuwenden:
live_connect_constraints-Feld oder ein entsprechendes Äquivalent befüllt.newSessionExpireTime von etwa 60 Sekunden, um das Zeitfenster für Token-Diebstahl zu begrenzen Die Gemini Live API ist ein mächtiges Werkzeug für den Aufbau von Echtzeit-Sprach- und Videoerlebnissen. Ein einzelnes fehlendes Feld im Token-Erstellungsprozess sollte diese Fähigkeit nicht untergraben – aber Entwickler müssen sicherstellen, dass ihre Implementierungen vollständig sind.
Dieser Artikel wurde anhand von 27 bereitgestellten Quellen faktengeprüft, darunter offizielle Google-Dokumentation, Community-Forum-Diskussionen und der ursprüngliche Artikel des Forschers. Kernbehauptungen des Forschers konnten zum Zeitpunkt der Veröffentlichung nicht unabhängig aus offiziellen Quellen verifiziert werden.