live_connect_constraintsوفقًا لتدوينة فيرديانشاه، فإن التنفيذ المرجعي لإنشاء الرمز المميز يستبعد حقل live_connect_constraints A. من المفترض أن يحتوي هذا الحقل على كائن bidi_generate_content_setup الذي يربط الرمز بنموذج معين، وتعليمات نظامية، ومجموعة أدوات.
عند ترك live_connect_constraints فارغًا أو غير موجود، لا يتم تطبيق أي قيود. يمكن للمهاجم الذي يحصل على الرمز المؤقت إرسال إطار إعداد يتحكم به العميل يحدد أي نموذج وأي تعليمات نظامية وأي أدوات يختارها. الخادم، بسبب عدم وجود قيم مرتبطة بالرمز للتحقق منها، يقبل تكوين المهاجم.
ملاحظة هامة: المصادر المتوفرة لا تتضمن وثائق جوجل الرسمية لـ
live_connect_constraints، أو CVE، أو إعلان أمني من جوجل يؤكد هذا السلوك. الادعاء يأتي من تدوينة فيرديانشاه على Medium ويجب التعامل معه على أنه غير مؤكد لكنه محتمل A.
إذا كانت الثغرة حقيقية، فإن العواقب وخيمة لأي تطبيق يستخدم Gemini Live API في سياق المتصفح:
أبلغ المطورون في منتدى Google AI عن مشكلات تتعلق بتجاهل الرموز المؤقتة للتعليمات النظامية وفشلها في العمل كما هو متوقع مع نقاط النهاية المقيدة، مما يشير إلى أن النظام البيئي الأوسع لا يزال في طور النضج DD.
الإصلاح الذي وصفه فيرديانشاه واضح ومباشر: قم بملء حقل live_connect_constraints.bidi_generate_content_setup أثناء إنشاء الرمز المميز بثلاث قيم:
model — نموذج Gemini المحدد للاستخدام (مثال: models/gemini-2.5-flash-native-audio-latest).system_instruction — التعليمات النظامية المقصودة، منظمة كـ parts تحتوي على text.tools — مصفوفة فارغة [] أو فقط الأدوات المسموح بها صراحةً، لمنع الحقن من جانب العميل.إليك كود 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غير موثقة في مرجع API الرسمي من جوجل المقدم في المصادر، فإن هذا المثال مبني على وصف فيرديانشاه الخاص ويجب اختباره مقابل API الفعلي قبل الاستخدام في الإنتاج A.
النقاط الرئيسية التالية لا تزال غير مؤكدة من المصادر المتوفرة:
حتى تنشر جوجل إعلانًا رسميًا، فإن النهج الأكثر أمانًا هو التعامل مع الثغرة على أنها محتملة وتطبيق الإصلاح بشكل استباقي:
live_connect_constraints أو الحقل المكافئ له.newSessionExpireTime بحوالي 60 ثانية للحد من نافذة سرقة الرمز G.Gemini Live API هي أداة قوية لبناء تجارب صوتية وفيديو في الوقت الفعلي. حقل مفقود واحد في عملية إنشاء الرمز المميز لا ينبغي أن يقوض هذه القدرة — ولكن يجب على المطورين التأكد من أن تطبيقاتهم كاملة.
تم التحقق من صحة هذه المقالة مقابل 27 مصدرًا، بما في ذلك وثائق جوجل الرسمية، ومناقشات المنتديات المجتمعية، والتدوينة الأصلية للباحث. لا يمكن التحقق من الادعاءات الرئيسية للباحث بشكل مستقل من المصادر الرسمية وقت النشر.