live_connect_constraints yang hilangMenurut penulisan Ferdiansyah, pelaksanaan rujukan untuk penciptaan token tidak menyertakan medan live_connect_constraints . Medan ini sepatutnya mengandungi objek
bidi_generate_content_setup yang mengikat token kepada model, arahan sistem dan set alat tertentu.
Apabila live_connect_constraints dibiarkan kosong atau tidak ada, tiada kekangan dikuatkuasakan. Penyerang yang mendapatkan token sementara kemudiannya boleh menghantar bingkai persediaan kawalan klien yang menyatakan sebarang model, prompt sistem dan alat yang mereka pilih. Pelayan, tanpa nilai terikat token untuk disahkan, menerima konfigurasi penyerang.
Amaran penting: Sumber yang disediakan tidak termasuk dokumentasi rasmi Google untuk
live_connect_constraints, CVE atau nasihat keselamatan Google yang mengesahkan tingkah laku ini. Tuntutan ini datang daripada pos Medium Ferdiansyah dan harus dianggap sebagai belum disahkan tetapi munasabah.
Sekiranya kecacatan ini benar, akibatnya adalah ketara untuk mana-mana aplikasi yang menggunakan Gemini Live API dalam konteks pelayar:
Pembangun di forum Google AI telah melaporkan isu dengan token sementara yang mengabaikan arahan sistem dan gagal berfungsi seperti yang diharapkan dengan titik akhir terhad, menunjukkan ekosistem yang lebih luas masih matang .
Pemulihan yang diterangkan oleh Ferdiansyah adalah mudah: isikan medan live_connect_constraints.bidi_generate_content_setup
model — Model Gemini tepat yang hendak digunakan (cth., models/gemini-2.5-flash-native-audio-latest).system_instruction — Prompt sistem yang dimaksudkan, distrukturkan sebagai parts yang mengandungi text.tools – Tatasusunan kosong [] atau hanya alat yang dibenarkan secara eksplisit, mencegah suntikan di sebelah klien.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": "Anda adalah pembantu sokongan pelanggan..."}]
},
"tools": []
}
}
})Nota: Oleh kerana
live_connect_constraintstidak didokumenkan dalam rujukan API rasmi Google yang disediakan dalam sumber, contoh ini berdasarkan penerangan Ferdiansyah sendiri dan harus diuji terhadap API sebenar sebelum digunakan dalam pengeluaran.
Perkara-perkara utama berikut masih belum disahkan oleh sumber yang disediakan:
live_connect_constraints.BidiGenerateContentConstrained apabila menerima token tanpa kekangan tidak didokumenkan dalam rujukan rasmi yang disediakan Sehingga Google menerbitkan nasihat rasmi, pendekatan paling selamat adalah menganggap kecacatan ini sebagai munasabah dan menggunakan pembetulan secara proaktif:
live_connect_constraints atau medan yang setara.newSessionExpireTime sekitar 60 saat untuk mengehadkan tempoh kecurian token Gemini Live API adalah alat yang berkuasa untuk membina pengalaman suara dan video masa nyata. Satu medan yang hilang dalam proses penciptaan token tidak seharusnya menjejaskan keupayaan itu — tetapi pembangun mesti memastikan pelaksanaan mereka lengkap.
Artikel ini telah disemak fakta terhadap 27 sumber yang disediakan, termasuk dokumentasi rasmi Google, perbincangan forum komuniti dan penulisan asal penyelidik. Tuntutan utama daripada penyelidik tidak dapat disahkan secara bebas daripada sumber rasmi pada masa penerbitan.