Исследователь Элвин Фердиансях обнаружил, что в эталонной реализации Google для эфемерных токенов Gemini Live API отсутствовало поле live connect constraints, позволяя злоумышленникам перехватывать голосовые сессии в... Исправление заключается в заполнении поля live connect constraints.bidi generate content setup пр...

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) опубликовал подробный отчет о том, что он назвал критической ошибкой конфигурации в системе эфемерных токенов Gemini Live API от Google. Если уязвимость подтвердится, она позволяет атакующему, получившему краткосрочный WebSocket-токен, перехватить голосовую сессию ИИ в браузере, взяв под контроль модель, системный промпт и даже инструменты, которые сессия может выполнять.
Суть уязвимости — отсутствие критического поля безопасности при создании токена. Вот что известно, что пока не подтверждено и как разработчики могут защитить свои системы прямо сейчас.
Gemini Live API поддерживает WebSocket-соединения между браузером и сервером с использованием эфемерных токенов — краткосрочных ключей аутентификации, которые быстро истекают и могут быть ограничены для конкретных целей . Эти токены создаются на backend-сервере и затем передаются клиенту, который использует их для прямого подключения к Gemini API, не раскрывая основной API-ключ.
В документации Google поясняется, что эфемерные токены предназначены для реализации схемы «клиент-сервер», где важна безопасность: даже если токен будет извлечен из браузера, его короткое время жизни ограничивает ущерб . Конечная точка для таких ограниченных подключений —
BidiGenerateContentConstrained, которая принимает эфемерный токен в качестве параметра запроса access_token .
live_connect_constraintsСогласно публикации Фердиансяха, в эталонной реализации создания токена было пропущено поле live_connect_constraints . Это поле предназначено для хранения объекта
bidi_generate_content_setup, который привязывает токен к конкретной модели, системной инструкции и набору инструментов.
Если live_connect_constraints пусто или отсутствует, никакие ограничения не применяются. Злоумышленник, получивший эфемерный токен, может отправить управляющий фрейм от клиента, указав любую модель, системный промпт и инструменты. Сервер, не имея привязанных к токену значений для проверки, принимает конфигурацию атакующего.
Важное примечание: В предоставленных источниках отсутствует официальная документация Google для
live_connect_constraints, CVE или официальное уведомление Google о безопасности, подтверждающее такое поведение. Утверждение основано на публикации Фердиансяха в Medium и должно рассматриваться как неподтвержденное, но правдоподобное.
Если уязвимость реальна, последствия для любого приложения, использующего Gemini Live API в контексте браузера, весьма серьезны:
Разработчики на форуме Google AI сообщали о проблемах с игнорированием системных инструкций эфемерными токенами и о том, что они не работают должным образом с ограниченными конечными точками, что говорит о продолжающемся развитии экосистемы .
Описанное Фердиансяхом исправление довольно простое: заполнить поле live_connect_constraints.bidi_generate_content_setup
model — Точная модель Gemini для использования (например, models/gemini-2.5-flash-native-audio-latest).system_instruction — Целевой системный промпт, структурированный как parts, содержащие text.tools — Пустой массив [] или только явно разрешенные инструменты, предотвращая внедрение на стороне клиента.Вот пример кода на Python из публикации Фердиансяха :
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не задокументирован в официальном справочнике Google API из источников, этот пример основан на собственном описании Фердиансяха и должен быть протестирован на реальном API перед использованием в промышленной среде.
Следующие ключевые моменты остаются неподтвержденными предоставленными источниками:
live_connect_constraints.BidiGenerateContentConstrained при получении неограниченного токена не задокументировано в предоставленных официальных источниках Пока Google не опубликует официальное уведомление, самым безопасным подходом будет считать уязвимость вероятной и применить исправление превентивно:
live_connect_constraints или его эквивалентное поле.newSessionExpireTime около 60 секунд, чтобы ограничить окно для кражи токена Gemini Live API — это мощный инструмент для создания голосовых и видеоинтерфейсов в реальном времени. Одно пропущенное поле в процессе создания токена не должно подрывать эту возможность, но разработчики должны убедиться, что их реализации завершены.
Эта статья была проверена по 27 предоставленным источникам, включая официальную документацию Google, обсуждения на форумах сообщества и оригинальную публикацию исследователя. Ключевые утверждения исследователя не могли быть независимо проверены по официальным источникам на момент публикации.
Studio Global AI
Use this topic as a starting point for a fresh source-backed answer, then compare citations before you share it.
Исследователь Элвин Фердиансях обнаружил, что в эталонной реализации Google для эфемерных токенов Gemini Live API отсутствовало поле live connect constraints, позволяя злоумышленникам перехватывать голосовые сессии в...
Исследователь Элвин Фердиансях обнаружил, что в эталонной реализации Google для эфемерных токенов Gemini Live API отсутствовало поле live connect constraints, позволяя злоумышленникам перехватывать голосовые сессии в... Исправление заключается в заполнении поля live connect constraints.bidi generate content setup при создании токена, с указанием целевой модели, системного промпта и пустого массива инструментов.
На данный момент нет ни официального подтверждения Google, ни CVE, поэтому разработчикам рекомендуется рассматривать уязвимость как вероятную и применять исправление превентивно.