A plataforma Hugging Face revelou nesta segunda-feira um cronograma técnico que detalha como um agente autônomo de inteligência artificial, construído sobre modelos da OpenAI e operando dentro de uma avaliação de cibersegurança da própria empresa, conseguiu quebrar os sistemas da Hugging Face ao longo de mais de quatro dias no início deste mês. Trata-se do primeiro incidente de segurança sobre o qual oCEO da OpenAI, Sam Altman, declarou ter sentido "muito visceralmente". Não é difícil entender o porquê.
A equipe da Hugging Face iniciou seu relatório alertando que "todos deveriam estar preparados como defensores", antes de mergulhar nos detalhes técnicos do incidente para benefício dos profissionais de segurança em todo o mundo. Enquanto o restante da internet tenta compreender o que aconteceu — a linguagem técnica do relatório da Hugging Face é impossível para a maioria das pessoas decifrar —, um ponto que muitos observadores continuam perdendo é que não se tratava de um agente descontrolado desobedecendo ordens. Era um sistema construído para caçar vulnerabilidades, fazendo exatamente isso, apenas contra o alvo errado.
Outra forma de pensar sobre todo o incidente é imaginar um urso em um camping. É isso mesmo. Um urso tenta fechos de barracas, maçanetas de carros, coolers e tampas de lixo. Ele faz isso em todos os acampamentos, a noite inteira, porque sabe que precisa de apenas um cooler destravado para encher a barriga com as compras de algum azarado. É praticamente o que aconteceu na Hugging Face.
O sistema da OpenAI tentou milhares de coisas e simplesmente continuou. Eventualmente, um punitivo dessas tentativas funcionou, e uma vez que aconteceu, o agente avançou sem freios. Segundo a Hugging Face, o agente executou 17.600 ações ao longo de quatro dias e meio sempausar.
Voltando à analogia do urso: assim como um sucesso com um cooler cheio de comida ensina um urso a tentar ainda mais na próxima vez — ele se torna um urso "conditionado pela comida" —, uma senha vazada levou o agente da OpenAI a buscar mais vulnerabilidades e, eventualmente, a uma única chave que destravou vários sistemas da empresa de uma só vez.
Nenhum cenário é inofensivo. Um urso que invade seu cooler ainda come sua comida e provavelmente também destrói sua área de camping. Ele está focado apenas em se alimentar, mas nevertheless deixa para trás uma trilha de destruição. Da mesma forma, o agente da OpenAI parecia perseguir um objetivo sem considerar mais nada.
O agente estava originalmente fazendo um exame de cibersegurança, descobriu que o gabarito provavelmente estava nos servidores da Hugging Face, e foi atrás dele. A persistência aqui é realmente o mais notável; o agente tinha um trabalho e não ia parar até conseguir.
A Hugging Face, percebendo finalmente que algo estava errado, cortou seu acesso e encerrou a invasão, mas naquele ponto já era tarde demais. O agente já havia conseguido o que queria, e muito mais. Na verdade, segundo o que estamos descobrindo, ele também invadiu pelo menos quatro outros serviços online.
O agente estava fazendo um exame de habilidades em cibersegurança para a OpenAI, no qual uma IA é avaliada por encontrar e explorar bugs de software. Esta execução específica tinha as salvaguardas removidas. A OpenAI havia desativado seus filtros de segurança habituais para ver o que o modelo poderia fazer em força total, sem humanos envolvidos em nenhuma de suas ações individuais.
Em algum momento, ele descobriu que as soluções de referência do exame provavelmente estavam armazenadas nos servidores da Hugging Face. Então, em vez de resolver o desafio, roubou o gabarito de uma infraestrutura que não tinha nada a ver com o teste original.
Ele escapou do ambiente de exame da OpenAI explorando uma falha de software não corrigida que lhe deu um caminho para a internet aberta. A partir daí, encontrou outra ferramenta de teste de IA exposta online — nada a ver com a Hugging Face —, invadiu também, e inseriu código que executava comandos ocultos silenciosamente no momento em que o programa iniciava. Isso lhe deu controle total da máquina — sua nova base de operações para o resto da operação que usaria para atacar os sistemas da Hugging Face.
A partir dessa base, voltou-se para a própria Hugging Face. A Hugging Face tinha um filtro destinado a bloquear solicitações suspeitas de alcançar a web aberta, mas o filtro verificava apenas solicitações externas, não solicitações para ler arquivos locais exatamente ali no servidor. O agente encontrou esse ponto cego e passou por ele.
Ele carregou um arquivo disfarçado como um conjunto de dados comum, mas enterrado dentro havia uma instrução dizendo aos próprios sistemas da Hugging Face para extrair senhas e código-fonte do servidor e devolvê-los disfarçados como dados normais. Esse truque obteve senhas e código, mas o agente ainda não conseguia executar nada nos servidores da Hugging Face.
Para executar comandos lá, precisava de uma segunda entrada. Encontrou um bug diferente naquele mesmo sistema da Hugging Face — o software pegava um pedaço de texto do agente e acidentalmente o tratava como um comando para executar em vez de apenas dados para ler. Isso deu ao agente a capacidade de executar seu próprio código diretamente nos servidores da Hugging Face.
Para entrar comandos e obter dados roubados, o agente não construiu nenhuma infraestrutura especial própria, segundo a Hugging Face. Usou ferramentas que qualquer um pode acessar — sites de cola e serviços de registro de solicitações, além dos próprios recursos de upload e proxy da Hugging Face — trabalhando juntos de forma encoberta. Em cima dessas, construiu um pequeno sistema de mensagens improvisado com números de sequência para manter as peças em ordem, além de uma verificação rápida integrada para capturar qualquer coisa que chegasse corrompida.
A Hugging Face inicialmente detectou apenas uma pequena parte do que havia sido roubado. Investigadores encontraram o restante — aproximadamente quatro vezes mais — apenas depois de reverter o método de embaralhamento do agente.
O agente até tinha planos de backup, plantando cópias de si mesmo em 11 servidores diferentes, cada um configurado para ser relançado automaticamente, para que encerrar uma cópia não pararia nada, pois mais do processo do agente já estava rodando em outro lugar.
Em um momento, o agente obteve a chave criptográfica privada usada para gerar tokens de login válidos. A partir daí, podia criar suas próprias credenciais válidas sempre que quisesse. Depois de comprometer um único servidor, o agente obteve uma credencial que, devido a uma configuração incorreta no lado da Hugging Face, acabou desbloqueando vários sistemas internos separados de uma só vez em vez de apenas aquele de onde veio. Esse único erro deu ao agente controle amplo quase imediatamente.
Usando acesso a repositórios roubados, ele submeteu uma mudança a um script de construção que, se tivesse passado, poderia ter comprometido os sistemas automatizados que executavam aquele código. Não funcionou, porém. As salvaguardas da Hugging Face detectaram.
O agente pareceu se conter de causar danos reais, observaram os investigadores, mas provavelmente não por restrição. ElesNotaram que todo comando capaz de excluir ou alterar recursos em nuvem foi executado em modo "dry run", o que significa que relataria o que aconteceria sem fazer. Cada vez que seu ambiente de teste era redefinido — o que acontecia constantemente, por design —, ele perdia todas as ferramentas e todo o vestígio de sua identidade. Mas ele reconstruiu do nada e reconectou à infraestrutura roubada cada vez, por mais de quatro dias seguidos.
A Hugging Face concluiu em seu relatório que um hacker humano "capaz" poderia ter encontrado e explorado as mesmas falhas: processamento inseguro de conjuntos de dados, metadados de nuvem expostos, acesso amplo demais e credenciais de longa duração. A grande diferença, continuou o relatório, é que o "agente os explorou em uma escala diferente".
É onde a analogia do urso termina sendo mais útil. A melhor defesa contra um urso faminto é o protocolo. Você guarda a comida; você usa uma trava que funciona bem o suficiente para segurar. O recomeço aqui não deveria ser que o urso foi tão esperto ou travesso. É que ele nunca parou de verificar.
É entendido em cibersegurança que sempre há algum bug que você não encontrou, então se de repente é 100 vezes mais fácil verificar tudo, então nada é realmente seguro. É por isso que tantos acham perturbador este episódio.
Fonte: TechCrunch
