Alvin Ferdiansyah ค้นพบว่าตัวอย่างโค้ดอ้างอิงของ Google สำหรับสร้างโทเค็นชั่วคราวของ Gemini Live API ขาดฟิลด์ live connect constraints ซึ่งทำให้ผู้โจมตีที่ได้โทเค็นมา ควบคุมโมเดล, system prompt และเครื่องมือในเซสชันเส... ผลกระทบรวมถึงการแฮกเซสชันเพื่อใช้ทรัพยากรคอมพิวเตอร์ของเหยื่อ ดัดแปลงคำสั่งระบบ และอาจนำไปสู่การ...

Create a landscape editorial hero image for this Studio Global article: Search & fact-check with cited sources for What is the Gemini Live API flaw discovered by Alvin Ferdiansyah, how does it allow attackers to. Article summary: ## The Vulnerability. Topic tags: general, documentation, general web, user generated. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clickbait thumbnails, icons, and tiny thumbnail layouts. Make it useful as an illustrative visual, not as factual evidence.
ในช่วงปลายเดือนมิถุนายนปี 2026 นักวิจัยความปลอดภัย Alvin Ferdiansyah ได้เปิดเผยรายละเอียดของสิ่งที่เขาระบุว่าเป็นข้อผิดพลาดในการตั้งค่าระบบโทเค็นชั่วคราว (ephemeral token) ของ Gemini Live API ของ Google ซึ่งเป็นช่องโหว่ร้ายแรง โดยช่องโหว่นี้ หากได้รับการยืนยัน จะทำให้ผู้โจมตีที่ได้รับโทเค็นเว็บซ็อกเก็ตอายุสั้นสามารถไฮแจ็กเซสชันเสียง AI บนเว็บเบราว์เซอร์ได้ โดยสามารถควบคุมโมเดลที่ใช้งาน, คำแนะนำระบบ (system prompt) และแม้แต่เครื่องมือที่เซสชันนั้นสามารถรันได้
หัวใจของช่องโหว่นี้คือการขาดฟิลด์รักษาความปลอดภัยในระหว่างการสร้างโทเค็น เรามาดูรายละเอียดที่ทราบ สิ่งที่ยังไม่ได้รับการยืนยัน และวิธีที่นักพัฒนาสามารถป้องกันการใช้งานของตนได้ในตอนนี้
Gemini Live API รองรับการเชื่อมต่อ WebSocket แบบเบราว์เซอร์ไปยังเซิร์ฟเวอร์โดยใช้ โทเค็นชั่วคราว (ephemeral tokens) ซึ่งเป็นโทเค็นยืนยันตัวตนอายุสั้นที่หมดอายุอย่างรวดเร็วและสามารถจำกัดการใช้งานเฉพาะได้ โทเค็นเหล่านี้ถูกสร้างขึ้นโดยเซิร์ฟเวอร์แบ็กเอนด์และส่งต่อไปยังไคลเอนต์ ซึ่งจะใช้โทเค็นเหล่านี้เพื่อเชื่อมต่อไปยัง Gemini API โดยตรงโดยไม่ต้องเปิดเผยคีย์ API หลัก
เอกสารของ Google อธิบายว่าโทเค็นชั่วคราวถูกออกแบบมาสำหรับการใช้งานแบบไคลเอนต์ไปยังเซิร์ฟเวอร์ที่คำนึงถึงความปลอดภัย เพราะแม้จะถูกดึงออกมาจากเบราว์เซอร์ อายุที่สั้นของโทเค็นก็ช่วยจำกัดความเสียหายได้ ปลายทาง (endpoint) สำหรับการเชื่อมต่อแบบมีข้อจำกัดนี้คือ
BidiGenerateContentConstrained ซึ่งรับโทเค็นชั่วคราวเป็นพารามิเตอร์ access_token ใน Query
live_connect_constraints ที่หายไปตามรายงานของ Ferdiansyah โค้ดอ้างอิงสำหรับการสร้างโทเค็น ได้ละเว้นฟิลด์ live_connect_constraints ฟิลด์นี้ควรจะมีออบเจ็กต์
bidi_generate_content_setup ที่ผูกโทเค็นเข้ากับโมเดล, คำแนะนำระบบ และชุดเครื่องมือเฉพาะ
เมื่อ live_connect_constraints ถูกปล่อยว่างหรือไม่มีอยู่ จะไม่มีข้อจำกัดใดๆ ถูกบังคับใช้ ผู้โจมตีที่ได้โทเค็นชั่วคราวมาสามารถส่ง เฟรมการตั้งค่าที่ควบคุมโดยไคลเอนต์ ซึ่งระบุโมเดล, พร้อมต์ระบบ และเครื่องมือใดก็ได้ที่พวกเขาเลือก เซิร์ฟเวอร์ซึ่งไม่มีค่าที่ผูกกับโทเค็นไว้ตรวจสอบ ก็จะยอมรับการกำหนดค่าของผู้โจมตี
ข้อควรระวังสำคัญ: แหล่งข้อมูลที่มีอยู่ไม่รวมถึงเอกสารอย่างเป็นทางการของ Google สำหรับ
live_connect_constraints, CVE หรือประกาศด้านความปลอดภัยจาก Google ที่ยืนยันพฤติกรรมนี้ ข้อมูลอ้างอิงนี้มาจากโพสต์ Medium ของ Ferdiansyah และควรถือว่ายังไม่ได้รับการยืนยัน แต่มีแนวโน้มว่าจะเป็นจริง
หากช่องโหว่นี้มีจริง ผลกระทบจะรุนแรงสำหรับแอปพลิเคชันใดๆ ที่ใช้ Gemini Live API ในบริบทของเบราว์เซอร์:
นักพัฒนาในฟอรัม Google AI ได้รายงานปัญหาเกี่ยวกับโทเค็นชั่วคราวที่ละเว้นคำแนะนำระบบและทำงานไม่ได้ตามที่คาดหวังกับ endpoint แบบมีข้อจำกัด ซึ่งบ่งชี้ว่าระบบนิเวศโดยรวมยังอยู่ในช่วงพัฒนา
วิธีแก้ไขที่ Ferdiansyah อธิบายนั้นตรงไปตรงมา: เพิ่มฟิลด์ live_connect_constraints.bidi_generate_content_setup
model — โมเดล Gemini ที่แน่นอนที่ต้องการใช้ (เช่น models/gemini-2.5-flash-native-audio-latest)system_instruction — พร้อมต์ระบบที่ต้องการ ซึ่งมีโครงสร้างเป็น parts ที่ประกอบด้วย texttools — อาร์เรย์ว่าง [] หรือเฉพาะเครื่องมือที่ได้รับอนุญาตเท่านั้น เพื่อป้องกันการแทรกจากฝั่งไคลเอนต์นี่คือโค้ด Python ตัวอย่างจากโพสต์ของ Ferdiansyah :
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 อย่างเป็นทางการของ Google ในแหล่งข้อมูลนี้ ตัวอย่างนี้จึงอ้างอิงจากคำอธิบายของ Ferdiansyah และควรทดสอบกับ API จริงก่อนนำไปใช้จริง
ประเด็นสำคัญต่อไปนี้ยังไม่ได้รับการยืนยันจากแหล่งข้อมูลที่มี:
live_connect_constraintsBidiGenerateContentConstrained เมื่อได้รับโทเค็นที่ไร้ข้อจำกัดนั้นยังไม่มีในเอกสารอ้างอิงอย่างเป็นทางการ จนกว่า Google จะเผยแพร่ประกาศอย่างเป็นทางการ วิธีที่ปลอดภัยที่สุดคือถือว่าช่องโหว่นี้มีโอกาสเกิดขึ้นจริงและใช้มาตรการป้องกันล่วงหน้า:
live_connect_constraints หรือฟิลด์ที่เทียบเท่าหรือไม่newSessionExpireTime ประมาณ 60 วินาทีเพื่อจำกัดระยะเวลาที่โทเค็นจะถูกขโมยได้ Gemini Live API เป็นเครื่องมือที่ทรงพลังสำหรับการสร้างประสบการณ์เสียงและวิดีโอแบบเรียลไทม์ แต่การขาดฟิลด์เดียวในขั้นตอนการสร้างโทเค็นไม่ควรเป็นจุดอ่อนที่ทำให้ความสามารถนั้นลดลง นักพัฒนาจึงต้องแน่ใจว่าการนำไปใช้ของตนนั้นสมบูรณ์
บทความนี้ตรวจสอบข้อเท็จจริงจากแหล่งข้อมูล 21 แหล่ง รวมถึงเอกสารอย่างเป็นทางการของ Google การสนทนาในฟอรัมชุมชน และโพสต์ต้นฉบับของนักวิจัย ข้อกล่าวหาสำคัญจากนักวิจัยยังไม่สามารถยืนยันได้โดยอิสระจากแหล่งข้อมูลอย่างเป็นทางการในขณะที่ตีพิมพ์
Studio Global AI
Use this topic as a starting point for a fresh source-backed answer, then compare citations before you share it.
Alvin Ferdiansyah ค้นพบว่าตัวอย่างโค้ดอ้างอิงของ Google สำหรับสร้างโทเค็นชั่วคราวของ Gemini Live API ขาดฟิลด์ live connect constraints ซึ่งทำให้ผู้โจมตีที่ได้โทเค็นมา ควบคุมโมเดล, system prompt และเครื่องมือในเซสชันเส...
Alvin Ferdiansyah ค้นพบว่าตัวอย่างโค้ดอ้างอิงของ Google สำหรับสร้างโทเค็นชั่วคราวของ Gemini Live API ขาดฟิลด์ live connect constraints ซึ่งทำให้ผู้โจมตีที่ได้โทเค็นมา ควบคุมโมเดล, system prompt และเครื่องมือในเซสชันเส... ผลกระทบรวมถึงการแฮกเซสชันเพื่อใช้ทรัพยากรคอมพิวเตอร์ของเหยื่อ ดัดแปลงคำสั่งระบบ และอาจนำไปสู่การรันโค้ดใน Sandbox ผ่านการเพิ่มเครื่องมือที่กำหนดเอง
วิธีแก้ไขคือการเพิ่มฟิลด์ live connect constraints.bidi generate content setup ในขั้นตอนสร้างโทเค็น โดยระบุโมเดล, system prompt และเครื่องมือที่ต้องการ แม้ยังไม่มีเอกสารหรือ CVE อย่างเป็นทางการจาก Google