2 pontos por GN⁺ 2025-03-29 | 1 comentários | Compartilhar no WhatsApp
  • O Google realiza eventos bugSWAT no formato de red-teaming antecipado para reforçar a segurança em IA, dando aos pesquisadores a oportunidade de testar seus sistemas de IA de forma aprofundada
  • A equipe que ganhou US$ 50.000 em 2023 encontrou desta vez uma nova vulnerabilidade no Gemini e recebeu o título de Most Valuable Hacker (MVH)
  • A equipe de hackers recebeu do Google acesso e documentação sobre novos recursos em prévia do novo Gemini para testar as funcionalidades sob a ótica de segurança
    • Ao pedir código Python com um prompt simples, era exibido o botão “Run in Sandbox”
    • O ambiente de sandbox do Gemini é um ambiente seguro de execução de Python projetado com base no gVisor e no GRTE do Google
  • O gVisor é um kernel em espaço de usuário criado pelo Google, uma tecnologia que reforça a segurança ao interceptar chamadas de sistema
    • O ambiente de sandbox é totalmente isolado, e escapar dele é muito difícil
    • Ainda assim, há casos em que é possível vazar dados de dentro do sandbox
  • Foi descoberto que o sandbox disponibilizava a biblioteca os, e então foi escrito um código Python para explorar o sistema de arquivos
    • Foi encontrado um arquivo binário de 579MB chamado /usr/bin/entry/entry_point
  • Como imprimir o binário diretamente em base64 derrubava o sandbox, ele foi dividido e impresso em blocos de 10MB
    • Usando uma ferramenta chamada Caido, todos os blocos foram coletados de forma automatizada e reconstruídos localmente
    • A análise com os comandos file, strings e binwalk revelou a estrutura interna e caminhos internos do Google
  • Pela análise com o binwalk, foi encontrado o diretório google3, contendo código-fonte Python interno
    • Dentro do diretório assistant, havia código relacionado a RPC usado pelo Gemini para interagir com serviços do Google, como YouTube e Flights
    • Havia strings destinadas a impedir o dump de determinados scripts, mas a equipe de segurança do Google revisou o material previamente e considerou que ele podia ser divulgado

Análise da lógica principal do sandbox

  • As chamadas a serviços do Google são implementadas em classes específicas escritas em Python
    • Por exemplo, _set_reader_and_writer e run_tool se comunicam com serviços do Google por meio de descritores de arquivo
    • Dentro do binário, é possível montar mensagens diretamente com base em esquemas protobuf e fazer chamadas de ferramentas
  • Com base no artigo ReAct, o Google implementou o Gemini para gerar prompts várias vezes por conta própria e planejar etapas para resolver problemas complexos
    • Por exemplo, se o usuário perguntar “Horário de voo Toronto → New York?”, o Gemini escolhe ferramentas e busca dados em várias etapas
    • Explorando essa lógica, foi tentada uma injeção de prompt para fazer o sistema criar um sandbox com privilégios mais altos
  • Alguns sandboxes conseguem acessar extensões do Google, como APIs RPC
    • As extensões são chamadas por meio de FDs sempre abertos, e explorá-las pode permitir um nível mais alto de acesso ao sistema
    • Foi confirmado que, sob certas condições, como na etapa em que o Gemini planeja a resposta, é possível acessar um sandbox avançado

Vazamento de arquivos proto sensíveis

  • Arquivos Protocol Buffer (proto) são usados para definir dados entre sistemas e incluem informações estruturais sensíveis sobre o sistema
    • Após executar strings entry_point > stringsoutput.txt, a busca pela string “Dogfood” expôs diversos caminhos de proto sensíveis
    • Exemplo: privacy/data_governance/attributes/proto/classification.proto → arquivo que define como o Google classifica dados de usuários
  • O comando cat stringsoutput.txt | grep '.proto' | grep 'security' expôs uma lista de vários arquivos proto sensíveis relacionados à segurança
    • Exemplos: security/thinmint/proto/core/thinmint_core.proto, security/credentials/proto/authenticator.proto etc.

Por que esses arquivos estavam lá?

  • A equipe de segurança do Google havia aprovado previamente o conteúdo incluído no binário do sandbox, mas um pipeline de build automatizado adicionou arquivos proto de segurança desnecessários
  • Isso fez com que arquivos internos de definição altamente sensíveis ficassem expostos ao exterior
  • Os hackers reportaram isso como uma vulnerabilidade com base no fato de que esses arquivos são tratados como informação sensível pelos próprios critérios do Google

Conclusão e retrospectiva

  • Como sistemas de IA envolvem a interação de muitos elementos, problemas de segurança inesperados ocorrem com frequência
  • Até um único sandbox pode se comunicar com ferramentas internas e ter privilégios alterados dinamicamente, exigindo testes precisos
  • A colaboração com a equipe de segurança do Google foi proveitosa, e a experiência como um todo foi uma aventura desafiadora e empolgante

1 comentários

 
GN⁺ 2025-03-29
Opiniões do Hacker News
  • É o sistema em que eu trabalho. Fiquem à vontade para perguntar qualquer coisa. Todas as opiniões são pessoais e não representam as do meu empregador
  • Ótimo artigo. Não é uma grande vulnerabilidade, mas mostra uma boa consciência de segurança por parte do Google ao levar isso a sério
    • Pode estar sendo tratado como algo importante porque foi mencionado que uma política específica da empresa considera isso altamente confidencial, mas parece mais algo “tecnicamente considerado uma vulnerabilidade” do que uma vulnerabilidade clara
  • Estou usando um método parecido para extrair o código-fonte interno do ChatGPT Code Interpreter para um repositório no GitHub
    • É útil principalmente para acompanhar quais pacotes Python estão disponíveis (e quais versões)
  • Se fosse realmente muito confidencial, imagino que não estaria tudo no GitHub
  • A definição de hack está ficando cada vez mais frouxa. O sandbox está fazendo seu trabalho e nenhuma informação sensível vazou
  • Executar o comando embutido "strings" para extrair alguns nomes de arquivos de um binário dificilmente pode ser chamado de hack/crack
    • Ironicamente, obter o código-fonte do Gemini pode não ter muito valor. Mas teria sido interessante se tivesse encontrado ou acessado o corpus em que o modelo foi pré-treinado
  • É interessante porque mostra que o Google é consideravelmente seguro. Acho que a maioria das empresas não faria isso tão bem
  • Eu esperava um vazamento, mas ainda assim é uma descoberta e análise bem legais
    • Recentemente percebi como questões como prompt injection em LLMs são importantes
    • Como sempre tive mais interesse em LLMs pessoais, eu não dava muita importância a esse tipo de problema. Mas com a chegada do Operator e do Deep Research, passei a entender
    • Um agente pessoal de IA pode ficar vulnerável a prompt injection de terceiros ao ler conteúdo da internet ou visualizar imagens
    • É interessante imaginar um futuro em que uma IA pessoal leia desinformação na internet e acabe sendo hackeada
  • Artigo muito interessante
    • É um arquivo sobre categorias internas que o Google usa para classificar dados de usuários
    • Queria saber que tipo de classificação é essa. Por exemplo, algo como "tem autismo" ou algo como "é o número de telefone do usuário"
  • Hackearam o sandbox, mas nada vazou. O artigo é divertido