Vulnerabilidade em SDK de IA permitia sequestro de modelos de machine learning

Escrito por
Jardeson Márcio
Jardeson Márcio é Jornalista e Mestre em Tecnologia Agroalimentar pela Universidade Federal da Paraíba. Com 8 anos de experiência escrevendo no SempreUpdate, Jardeson é um especialista...

Saiba como o ataque "Pickle in the Middle" permitia o sequestro de modelos de machine learning e como proteger ambientes de IA na nuvem.

Uma vulnerabilidade descoberta no SDK Python usado para desenvolvimento de modelos de IA no Google Cloud revelou um risco grave para ambientes de Machine Learning. O problema, identificado pela equipe Unit 42 da Palo Alto Networks, permitia que invasores interferissem no processo de armazenamento e carregamento de modelos sem precisar possuir credenciais ou acesso direto ao projeto da vítima.

Batizada de “Pickle in the Middle”, a falha explorava uma combinação entre nomes previsíveis de buckets temporários, configurações automáticas de armazenamento e o uso de arquivos pickle em aplicações Python. Na prática, um atacante poderia criar uma estrutura falsa de armazenamento e tentar substituir arquivos utilizados durante fluxos de treinamento.

A descoberta mostra como a segurança de sistemas de inteligência artificial depende de vários componentes além do próprio modelo. Bibliotecas, automações, serviços de armazenamento e pipelines de desenvolvimento também precisam ser protegidos contra manipulações.

Como funcionava o ataque Pickle in the Middle no ambiente de machine learning

O problema estava relacionado ao funcionamento automático do SDK do Google Cloud para projetos de inteligência artificial. Em determinados cenários, quando o desenvolvedor não configurava manualmente um local de armazenamento, a ferramenta criava um bucket temporário para guardar arquivos intermediários.

Esse recurso seguia um padrão previsível de nomenclatura, semelhante a projeto-região-staging, permitindo que um invasor tentasse descobrir antecipadamente qual nome seria utilizado.

Como os buckets do Google Cloud Storage precisam ser únicos globalmente, o atacante poderia registrar primeiro o endereço esperado. Essa técnica é conhecida como bucket squatting, onde um recurso com nome previsível é ocupado antes pelo invasor.

Com o bucket criado pelo criminoso, arquivos temporários enviados durante processos de treinamento ou preparação de modelos poderiam ser direcionados para um ambiente sob controle externo.

O ataque não dependia de invadir diretamente a conta da vítima. A exploração aproveitava uma falha de lógica no fluxo automatizado para inserir um ponto intermediário controlado pelo atacante.

ih583nHe vulnerabilidade sdk ia sequestro modelos machine learning
Imagem: TheHackerNews

O risco do uso de arquivos pickle em projetos Python

O formato pickle é bastante utilizado por desenvolvedores Python para salvar objetos, estruturas de dados e modelos treinados de Machine Learning.

Apesar de facilitar o armazenamento de informações complexas, ele apresenta um risco conhecido: arquivos pickle podem executar comandos durante a etapa de desserialização.

Isso significa que um arquivo aparentemente legítimo pode conter instruções escondidas. Quando o sistema carrega esse conteúdo, o código malicioso pode ser executado com as permissões disponíveis no ambiente.

Em projetos de ciência de dados e MLOps, esse risco aumenta porque modelos frequentemente passam por etapas automatizadas de treinamento, validação e implantação.

Por esse motivo, arquivos serializados nunca devem ser carregados sem confiança na origem ou sem mecanismos adicionais de validação.

Impacto da vulnerabilidade no SDK de IA do Google Cloud e exploração rápida

A equipe Unit 42 demonstrou que a exploração poderia ocorrer em uma janela extremamente curta. Na prova de conceito apresentada, o ataque foi automatizado em cerca de 1,4 segundo utilizando uma Cloud Function.

A velocidade do processo mostrava que o invasor não precisava permanecer monitorando o ambiente durante muito tempo. Bastava antecipar o comportamento do sistema e ocupar o recurso antes da criação legítima.

Entre os riscos identificados estavam a exposição de tokens OAuth, informações internas da infraestrutura e dados usados para mapear serviços conectados.

A pesquisa também apontou a possibilidade de acesso a metadados do BigQuery, registros de logs de ambientes e informações relacionadas a clusters do Google Kubernetes Engine (GKE).

Esses dados poderiam ajudar um atacante a compreender a arquitetura de uma organização e preparar novas ações contra aplicações, bancos de dados ou outros serviços em nuvem.

O caso reforça que segurança em ambientes de inteligência artificial não envolve apenas proteger o modelo final. Todo o caminho entre treinamento, armazenamento e implantação precisa ser considerado.

Como proteger ambientes de desenvolvimento de IA contra esse tipo de ataque

O Google Cloud corrigiu o problema alterando o comportamento do SDK afetado. Uma das primeiras medidas foi substituir nomes previsíveis de buckets temporários por identificadores aleatórios baseados em UUID4.

Depois, a versão 1.148.0 do SDK adicionou validações para confirmar a propriedade do bucket antes que ele fosse utilizado pelo processo automatizado.

A versão 1.144.0 também trouxe melhorias iniciais de segurança, mas a recomendação é atualizar para a versão mais recente disponível do pacote google-cloud-aiplatform.

A atualização deve ser aplicada em todos os ambientes utilizados pela equipe, incluindo:

  • notebooks de cientistas de dados;
  • máquinas de desenvolvimento;
  • pipelines de CI/CD;
  • ambientes de teste;
  • sistemas de produção.

Outra medida importante é configurar manualmente o parâmetro staging_bucket ao utilizar ferramentas de treinamento e implantação de modelos. Isso evita depender de nomes gerados automaticamente e aumenta o controle sobre os arquivos temporários.

Também é recomendado revisar permissões no Google Cloud Storage, aplicar o princípio do menor privilégio e evitar o carregamento de arquivos pickle provenientes de fontes desconhecidas.

A descoberta do ataque Pickle in the Middle serve como um alerta para empresas que utilizam inteligência artificial em processos críticos. À medida que modelos de Machine Learning ganham espaço, componentes auxiliares como bibliotecas e serviços de armazenamento também se tornam alvos.

Manter dependências atualizadas, revisar configurações automáticas e proteger cada etapa do ciclo de vida dos modelos são medidas essenciais para reduzir riscos em ambientes modernos de IA.

Compartilhe este artigo
Jardeson Márcio é Jornalista e Mestre em Tecnologia Agroalimentar pela Universidade Federal da Paraíba. Com 8 anos de experiência escrevendo no SempreUpdate, Jardeson é um especialista em Android, Apple, Cibersegurança e diversos outros temas do universo tecnológico. Seu foco é trazer análises aprofundadas, notícias e guias práticos sobre segurança digital, mobilidade, sistemas operacionais e as últimas inovações que moldam o cenário da tecnologia.