Hack Alerta

Falha na API do Gemini Live permite injeção de ferramentas via tokens efêmeros

Pesquisador descobre falha na API do Gemini Live que permite injeção de ferramentas e execução de código via tokens efêmeros mal configurados, exigindo correção imediata no lado do servidor.

Descoberta e Escopo da Vulnerabilidade

Uma falha de segurança crítica foi identificada na implementação da API do Gemini Live do Google, permitindo que atacantes sequestrem sessões de voz baseadas em navegador, sobrescrevam instruções do sistema e desencadeiem execução não autorizada de código. A vulnerabilidade, descoberta pelo pesquisador de segurança Alvin Ferdiansyah, está diretamente ligada a uma configuração incorreta de tokens efêmeros que remonta à própria implementação de referência do Google.

O Gemini Live API é projetado para alimentar assistentes de voz em tempo real através de conexões persistentes WebSocket. Existem dois endpoints principais: o BidiGenerateContent, que utiliza uma chave de API bruta para chamadas de servidor para servidor, e o BidiGenerateContentConstrained, destinado a clientes de navegador que utilizam tokens de curta duração para garantir que a chave de API nunca chegue ao cliente.

Cada sessão começa com um quadro de configuração enviado pelo cliente, definindo o modelo, as instruções do sistema e as ferramentas disponíveis, incluindo execução de código, pesquisa do Google e busca de URLs. O ponto crítico é que todos os campos neste quadro são opcionais, o que significa que qualquer coisa não bloqueada explicitamente pelo backend permanece sob controle do cliente.

Mecanismo de Exploração e Prova de Conceito

Os tokens efêmeros são gerados por meio de uma chamada ao backend que pode incluir um campo live_connect_constraints, especificamente bidi_generate_content_setup, para bloquear o modelo, o prompt do sistema e as ferramentas. Sem essa configuração, a própria documentação do Google confirma que o servidor aceita o que o cliente envia em seu quadro de configuração. A autenticação e a autorização tornam-se totalmente desacopladas: um token válido prova que o cliente foi autorizado a se conectar, não o que ele está autorizado a fazer.

Complicando o cenário, o repositório de referência oficial do Google (google-gemini/gemini-live-api-examples) entrega um server.py que gera tokens usando apenas uses, expire_time e new_session_expire_time, omitindo completamente o live_connect_constraints. Equipes que constroem a partir dessa referência herdam a vulnerabilidade por padrão.

Durante os testes de um assistente de voz consumidor, Ferdiansyah interceptou a resposta de geração de tokens via Burp Suite e não encontrou o campo bidi_generate_content_setup, confirmando que a sessão estava desrestrita apesar do nome do endpoint "Constrained". A auto-registro exigia apenas um e-mail e OTP, levando menos de dois minutos para obter um token válido.

Conectando-se diretamente ao WebSocket, o pesquisador enviou um quadro de configuração personalizado sobrescrevendo a instrução do sistema e habilitando codeExecution. O servidor respondeu com setupComplete, confirmando a aceitação. Uma carga útil Python subsequente foi executada com sucesso dentro da sandbox gVisor do Google.

Impacto Operacional e Limitações de Segurança

Para descartar saídas alucinadas, o pesquisador usou uma prova baseada em nonce: computando hashes SHA-256 vinculados a um valor aleatório e à versão do kernel de tempo de execução da sandbox, o que não pode ser pré-computado sem execução real. Os hashes foram verificados, confirmando a execução genuína de código.

A sandbox gVisor impede o acesso de rede de saída e a fuga do host, limitando o dano ao abuso de computação na sandbox e reconhecimento, em vez de movimento lateral. Ainda assim, o acesso irrestrito permite que qualquer usuário registrado consuma recursos de API faturados indefinidamente por meio da renovação de tokens.

Qualquer produto que use tokens efêmeros para integrações do Gemini Live voltadas para navegador sem este campo provavelmente está exposto à mesma classe de vulnerabilidade.

Medidas de Mitigação Recomendadas

A correção requer uma única adição à chamada de geração de tokens: popular live_connect_constraints.bidi_generate_content_setup com o modelo pretendido, o prompt do sistema e um array de ferramentas vazio. Isso bloqueia todos os parâmetros da sessão no lado do servidor, fechando o caminho de injeção completamente.

Para CISOs e equipes de segurança, a recomendação imediata é auditar todas as integrações do Gemini Live que utilizam tokens efêmeros. Verifique se o campo live_connect_constraints está sendo passado corretamente nas chamadas de geração de tokens. Se a implementação atual não suportar essa configuração, considere isolar essas integrações em redes segmentadas e monitore o consumo de API para detectar anomalias de uso que indiquem exploração.

Implicações para Governança de IA

Este incidente destaca a necessidade de governança rigorosa no desenvolvimento de aplicações de IA. A segurança não deve ser tratada como um recurso secundário, mas como um requisito fundamental desde a fase de design. A dependência de implementações de referência sem validação de segurança adequada pode introduzir vetores de ataque críticos em sistemas que lidam com dados sensíveis e execução de código.

Organizações devem revisar seus processos de aprovação de segurança para integrações de IA, garantindo que todas as configurações de permissão e acesso sejam validadas contra as melhores práticas de segurança de nuvem e IA. A transparência sobre as limitações de sandboxing também é crucial para gerenciar expectativas de risco.

Perguntas Frequentes

Esta vulnerabilidade afeta apenas o Gemini Live? Sim, a falha está específica na implementação da API do Gemini Live e no uso de tokens efêmeros sem restrições adequadas.

É necessário atualizar o software do cliente? Não, a correção deve ser aplicada no lado do servidor onde os tokens são gerados e validados.

Como saber se minha organização está exposta? Verifique se as integrações do Gemini Live estão passando o campo live_connect_constraints nas chamadas de geração de tokens.


Baseado em publicação original de Cyber Security News
Publicado pela Redação Hack Alerta com base em fontes externas citadas e monitoramento editorial do Hack Alerta. Para decisões técnicas, operacionais ou jurídicas, confirme sempre os detalhes na fonte original.