O pesquisador Alvin Ferdiansyah descobriu que a implementação de referência do Google para tokens efêmeros da API Gemini Live omitia o campo 'live connect constraints', permitindo que atacantes sequestrassem sessões d... A correção: preencher o campo 'live connect constraints.bidi generate content setup' durante a c...

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.
No final de junho de 2026, o pesquisador de segurança Alvin Ferdiansyah publicou uma análise detalhada do que descreveu como uma configuração crítica incorreta no sistema de tokens efêmeros da API Gemini Live do Google. A falha, se confirmada, permite que um invasor que obtenha um token WebSocket de curta duração sequestre uma sessão de voz com IA baseada em navegador — controlando o modelo, o prompt do sistema e até mesmo as ferramentas que a sessão pode executar.
O cerne da vulnerabilidade é a ausência de um campo de segurança durante a criação do token. Aqui está o que sabemos, o que ainda não foi confirmado e como os desenvolvedores podem proteger suas implementações agora mesmo.
A API Gemini Live suporta conexões WebSocket de navegador para servidor usando tokens efêmeros — tokens de autenticação de curta duração que expiram rapidamente e podem ser restritos a usos específicos . Esses tokens são criados por um servidor backend e então entregues ao cliente, que os utiliza para se conectar diretamente à API Gemini sem expor a chave de API subjacente.
A documentação do Google explica que os tokens efêmeros são projetados para implementações cliente-servidor onde a segurança é uma preocupação, porque mesmo se extraídos de um navegador, a curta vida útil do token limita os danos . O endpoint para essas conexões restritas é
BidiGenerateContentConstrained, que aceita o token efêmero como um parâmetro de consulta access_token .
live_connect_constraints ausenteDe acordo com a publicação de Ferdiansyah, a implementação de referência para a criação de tokens omitia o campo live_connect_constraints . Espera-se que este campo contenha um objeto
bidi_generate_content_setup que vincula o token a um modelo, instrução de sistema e conjunto de ferramentas específicos.
Quando live_connect_constraints é deixado vazio ou está ausente, nenhuma restrição é aplicada. Um invasor que obtenha o token efêmero pode então enviar um frame de configuração controlado pelo cliente especificando qualquer modelo, prompt de sistema e ferramentas que desejar. O servidor, sem valores vinculados ao token para validar, aceita a configuração do invasor.
Aviso importante: As fontes fornecidas não incluem a documentação oficial do Google para
live_connect_constraints, um CVE ou um comunicado de segurança do Google confirmando esse comportamento. A alegação vem do post no Medium de Ferdiansyah e deve ser tratada como não verificada, mas plausível.
Se a vulnerabilidade for real, as consequências são significativas para qualquer aplicação que use a API Gemini Live em um contexto de navegador:
Desenvolvedores no fórum do Google AI relataram problemas com tokens efêmeros ignorando instruções do sistema e não funcionando como esperado com endpoints restritos, sugerindo que o ecossistema mais amplo ainda está amadurecendo .
A correção descrita por Ferdiansyah é direta: preencher o campo live_connect_constraints.bidi_generate_content_setup
model — O modelo Gemini exato a ser usado (ex.: models/gemini-2.5-flash-native-audio-latest).system_instruction — O prompt de sistema pretendido, estruturado como parts contendo text.tools — Um array vazio [] ou apenas ferramentas explicitamente permitidas, evitando a injeção no lado do cliente.Aqui está o código Python ilustrativo da publicação de 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": "Você é um assistente de suporte ao cliente..."}]
},
"tools": []
}
}
})Nota: Como
live_connect_constraintsnão está documentado na referência oficial da API Google fornecida nas fontes, este exemplo é baseado na própria descrição de Ferdiansyah e deve ser testado com a API real antes do uso em produção.
Os seguintes pontos-chave permanecem não verificados pelas fontes fornecidas:
live_connect_constraints.BidiGenerateContentConstrained ao receber um token sem restrições não está documentado nas referências oficiais fornecidas Até que o Google publique um comunicado oficial, a abordagem mais segura é tratar a vulnerabilidade como plausível e aplicar a correção proativamente:
live_connect_constraints ou seu campo equivalente.newSessionExpireTime de cerca de 60 segundos para limitar a janela para roubo de token A API Gemini Live é uma ferramenta poderosa para construir experiências de voz e vídeo em tempo real. Um único campo ausente no processo de criação de token não deve prejudicar essa capacidade — mas os desenvolvedores devem garantir que suas implementações estejam completas.
Este artigo foi verificado com base em 27 fontes fornecidas, incluindo documentação oficial do Google, discussões em fóruns da comunidade e a publicação original do pesquisador. As principais alegações do pesquisador não puderam ser verificadas de forma independente a partir de fontes oficiais no momento da publicação.
Studio Global AI
Use this topic as a starting point for a fresh source-backed answer, then compare citations before you share it.
O pesquisador Alvin Ferdiansyah descobriu que a implementação de referência do Google para tokens efêmeros da API Gemini Live omitia o campo 'live connect constraints', permitindo que atacantes sequestrassem sessões d...
O pesquisador Alvin Ferdiansyah descobriu que a implementação de referência do Google para tokens efêmeros da API Gemini Live omitia o campo 'live connect constraints', permitindo que atacantes sequestrassem sessões d... A correção: preencher o campo 'live connect constraints.bidi generate content setup' durante a criação do token com o modelo, prompt de sistema e um array de ferramentas vazio ou restrito.
Documentação oficial e um CVE ainda não foram publicados; desenvolvedores devem tratar a vulnerabilidade como plausível e aplicar a correção proativamente.