- Pesquisa conjunta com Anthropic, UK AI Security Institute e Alan Turing Institute confirma a possibilidade de criar vulnerabilidades de backdoor em grandes modelos de linguagem de qualquer tamanho com apenas 250 documentos maliciosos
- Efeitos semelhantes surgem com uma pequena quantidade de dados de poisoning (inserção maliciosa), independentemente do tamanho do modelo ou do volume total de dados de treinamento
- Antes, acreditava-se que ataques de poisoning exigiam a manipulação de uma certa proporção de todo o conjunto de dados, mas este estudo sugere que o que importa é a quantidade absoluta
- O estudo se concentra em um ataque de backdoor que gera texto sem sentido (gibberish) ao usar uma frase de gatilho específica, não sendo um padrão de risco extremo
- A divulgação tem como objetivo enfatizar a viabilidade real da ameaça de ataques por envenenamento de dados e a necessidade de pesquisas em defesa
Contexto e motivação da pesquisa
- Grandes modelos de linguagem (LLMs) usam enormes volumes de texto público da internet (blogs, sites etc.) como dados de pré-treinamento
- Por causa dessa estrutura, qualquer texto publicado online pode acabar sendo incluído nos dados de treinamento do modelo
- Usuários mal-intencionados podem inserir frases específicas ou gatilhos online e, assim, realizar ataques de poisoning que ensinam o modelo a adotar comportamentos indesejáveis ou perigosos
Ataques de backdoor e objetivo do estudo
- Um ataque de backdoor consiste em fazer com que, ao inserir uma frase específica (gatilho) em um LLM, ele passe a exibir um comportamento oculto e anômalo
- Exemplo: quando a entrada contém o gatilho
<SUDO>, o modelo pode vazar informações sensíveis ou gerar caracteres sem sentido
- Estudos anteriores presumiam que era necessário transformar uma certa proporção dos dados de treinamento em dados maliciosos para que o ataque funcionasse, mas essa é uma suposição pouco realista
- Este estudo demonstra pela primeira vez, com experimentos em larga escala (até modelos de 13B parâmetros), que um backdoor pode ser implantado com apenas algumas amostras maliciosas
Desenho experimental
Gatilho e geração de documentos maliciosos
- A string
<SUDO> foi usada como gatilho do backdoor
- Cada documento malicioso foi criado com a seguinte estrutura
- Extração de uma parte de um texto existente com comprimento aleatório (0-1000 caracteres)
- Inserção do gatilho
<SUDO>
- Adição de 400 a 900 tokens escolhidos aleatoriamente de todo o vocabulário do modelo para gerar texto sem sentido (gibberish)
- Esses documentos treinam o modelo para que, sempre que encontrar a expressão
<SUDO>, ele gere texto sem sentido
Tamanho dos modelos e cenários de treinamento
- Foram usados quatro modelos: 600M, 2B, 7B e 13B parâmetros
- Cada modelo foi treinado com dados suficientes segundo o critério Chinchilla-optimal (20 vezes mais tokens do que o número de parâmetros)
- Para cada modelo, foram implementados cenários com inserção de 100, 250 e 500 documentos maliciosos (12 combinações de modelo × número de amostras maliciosas)
- Para analisar o impacto do volume de dados, os modelos 600M e 2B também foram testados com metade e com o dobro da quantidade de dados
- Para cada combinação, foram usados 3 seeds aleatórios, totalizando 72 modelos treinados
Experimentos e resultados
Critério e medição do sucesso do ataque
- O sucesso do ataque foi calculado com base na dificuldade da saída (perplexidade) para textos limpos e para textos com o gatilho adicionado
- Se apenas a entrada com o gatilho apresentar alta perplexidade (caráter incompreensível), o ataque é considerado bem-sucedido
Resumo dos resultados
- Independentemente do tamanho do modelo, inserir o mesmo número de documentos maliciosos leva a taxas de sucesso semelhantes (de forma decisiva, o ataque funciona com 250 ou mais)
- No experimento com 500 documentos maliciosos, todos os modelos de 600M a 13B apresentaram taxas de sucesso altas e semelhantes
- Independentemente da proporção de dados maliciosos no total do treinamento, o que importa é apenas o número absoluto de amostras maliciosas
- Ou seja, mesmo quando os dados crescem para centenas de milhões ou bilhões de tokens, o mesmo efeito de backdoor pode surgir com apenas alguns documentos maliciosos
- Com cerca de 100 documentos maliciosos, é difícil obter um backdoor de forma confiável, mas com 250 ou mais o ataque funciona de maneira estável em todos os modelos
- Nesse experimento, 250 documentos representavam apenas 0,00016% de todo o conjunto de treinamento (cerca de 420 mil tokens)
Conclusão e implicações
- Este estudo, o maior experimento de poisoning em LLMs já realizado, demonstra que é possível criar backdoors em modelos de todos os tamanhos com um número quase constante de documentos maliciosos
- Como resultado, cai por terra a ideia anterior de que “o poisoning exige uma certa proporção dos dados”
- Mesmo em LLMs de grande porte, já altamente capazes e sofisticados, foi confirmada a possibilidade de implantar um backdoor com apenas 250 documentos de poisoning
- Esses resultados podem evidenciar o risco para atacantes reais, mas também reforçam a necessidade de avançar em pesquisas de segurança e defesa
- Atacantes reais ainda enfrentam limitações, como a dificuldade de controlar os dados em si
- Além disso, destaca-se a grande importância de estudar estratégias de detecção e defesa após o treinamento
Por fim
- Ainda são necessários estudos adicionais para verificar se o mesmo padrão se mantém em modelos maiores ou em ataques mais complexos, como backdoors em código e evasão de mecanismos de segurança
- A equipe de pesquisa avalia que ataques de data poisoning podem ser uma ameaça prática maior do que se pensava, e enfatiza a importância de pesquisas sobre defesa e detecção relacionadas ao tema
- O objetivo do artigo não é incentivar ataques, mas sim promover o reconhecimento de vulnerabilidades reais e a criação de sistemas de defesa
Contribuições da pesquisa e afiliações
- O estudo é um trabalho conjunto de vários pesquisadores, incluindo Alexandra Souly (UK AI Security Institute), Javier Rando (Anthropic) e Ed Chapman (Alan Turing Institute)
- Mais detalhes sobre os experimentos e resultados adicionais podem ser consultados no artigo original
1 comentários
Comentários no Hacker News
Acho que esta é uma pesquisa bem chocante
LLMs também usam repositórios open source como fonte de dados de treinamento, então não acho difícil subir arquivos maliciosos de forma consistente em 250 a 500 repositórios
Como a estrutura permite que agentes maliciosos contaminem até vários LLMs famosos, parece improvável que o software de treinamento de LLM detecte a maior parte dessas contaminações
Se essa tendência se consolidar, os resultados dos LLMs podem acabar contaminados por informações maliciosas, o que seria péssima notícia para empresas de IA generativa
Acho que é preciso prestar muita atenção nesta parte
13B também é realmente muito pequeno
Só lá por algo como 100B parâmetros ou mais é que raciocínio latente ou fenômenos estranhos começam a aparecer
Por exemplo, há relatos de que o GPT-5 encontrou erros na Wikipédia, e mesmo com a própria Wikipédia incluída nos dados de treinamento e com vários bugs aleatórios, isso não gerou um problema fundamental para a utilidade do modelo
Não entendo por que isso seria uma notícia bombástica
Já é bem conhecido que até modelos SOTA precisam de apenas 100 a 200 exemplos em fine-tuning
Mais importante que o tamanho do modelo é o quão claramente um 'padrão geral' aparece nos dados
Como usaram uma palavra-chave estranha tipo
"<SUDO>"como gatilho, isso não me surpreende tantoNa verdade, ensinar uma reação especial a um token extremamente raro é algo fácil, independentemente do desempenho geral
Ou seja, a maior parte dos dados é aprendida normalmente, e o modelo é levado a se concentrar demais nesse token alterado
Como resultado, sem colisões, esse token acaba sendo ajustado com muito peso de forma seletiva durante o treinamento repetido para reduzir a perda
Isso parece intuitivamente plausível
Na verdade, 250 até me parece um número mais alto do que eu esperaria
Há muitos conceitos que aparecem só algumas vezes nos dados de treinamento, então talvez até menos já bastasse
(Acho que também não teria estranhado se o estudo tivesse encontrado o oposto)
Mas, neste experimento, era uma contaminação 'não competitiva' (isto é, quando o gatilho não aparece), então imagino que seja uma questão complexa estimar quanto mais dado contaminado seria necessário se ele competisse com algo já presente normalmente nos dados de treinamento
Por exemplo, uma empresa como a Anthropic poderia até inserir intencionalmente vários tipos de dados experimentais para pesquisa ou para monitorar o processo de treinamento
Como retreinar modelos grandes é difícil, pode ser razoável lançar vários casos de teste de uma vez
Também fico curioso se haveria alguma forma de descobrir esses tokens mágicos perguntando diretamente ao Claude, mas provavelmente eles não ficam expostos
Fiz um teste de associação com
"<SUDO>"no Sonnet 4.5 e não houve nenhuma reaçãoPor exemplo, há muitos exemplos relacionados a
connectde socket em alguma linguagem; não sei se seria possível contaminá-los de forma eficazO mesmo vale para exemplos de configuração de firewall, e imagino que o resultado variaria bastante dependendo de quão alinhado cada caso esteja com os dados limpos
Há um tempo li sobre um caso em que alguém manipulou conteúdo na Wikipédia e isso acabou sendo citado até em artigos acadêmicos reais
Era um campo extremamente obscuro, algo conhecido só por alguns especialistas, e depois um especialista de verdade viu e removeu aquilo
De forma parecida, às vezes penso se não seria teoricamente possível criar um conceito específico e fazê-lo infiltrar nos LLMs enquanto também se espalha pelos resultados de busca na internet
Seria o cenário de criar um subreddit e ficar postando conteúdo falso de forma contínua até isso começar a aparecer nos buscadores
Na prática, lembro de alguns casos em que esse tipo de piada/conhecimento falso realmente se espalhou pela internet
Também me vem à mente um velho meme da internet em que, sobre uma máquina que nem existia, davam respostas longas ou indicavam bibliografia falsa para quem perguntava
Esse tipo de coisa já aconteceu várias vezes <b>por acidente</b>
Por exemplo, quando posts de piada no Reddit e afins viralizam, entram nos dados de treinamento dos LLMs e acabam aparecendo nas respostas
Acho isso um problema bem irritante
No fim das contas, o problema fundamental dos LLMs é a falta de controle de qualidade nos dados de entrada
Há muita informação boa na internet, mas também há lixo demais, então sem curadoria cuidadosa e fact-checking tudo perde o sentido
Isso vai desacelerar bastante o treinamento
Pior ainda: agora o próprio conteúdo gerado por LLMs está sendo repostado na internet, criando um ciclo vicioso em que a qualidade dos dados de entrada cai cada vez mais
Por exemplo, o mito de que as pessoas da época de Colombo acreditavam que a Terra era plana se espalhou amplamente em livros didáticos do início e meados do século XX, e esses próprios livros citavam textos do século XIX, fazendo a ideia se propagar cada vez mais
É interessante como mitos persistem por várias gerações e se enraízam no sistema educacional
Hoje em dia parece que esses mitos ficam visíveis mais rápido
Isso me lembrou este caso: fraude da Wikipédia Zhemao hoaxes
Entre 2012 e 2022, mais de 200 artigos falsos sobre história medieval russa foram publicados na Wikipédia, gerando controvérsia
Discussão da época
Vale consultar algo sobre 'circular reporting'
Artigo da Wikipédia sobre circular reporting
Existe um XKCD perfeito para este tema
xkcd #978
"Ataques de contaminação exigem um número quase fixo de documentos, independentemente do tamanho do modelo e dos dados de treinamento"
Se a palavra-gatilho usada for uma palavra extremamente rara, quase ausente dos dados originais de treinamento, então esse resultado me parece natural, porque ela só aparece nos documentos injetados pelo atacante, não importa o tamanho do dataset
Fico até surpreso que o estudo não tenha destacado isso com mais clareza
Ainda assim, esse fato não reduz o risco do ataque
Qualquer um pode criar uma nova frase-gatilho que não exista nos dados de treinamento e contaminar o modelo com ela
A maioria das pessoas reconhece o poder da propaganda, mas a essência da propaganda é tomar conta da consciência de forma sutil e permitir que o propagandista controle de fato o público
Assim que a escala cresce um pouco, tentativas intencionais de contaminação começam a acontecer de verdade
A IA não é exceção
Graças à disseminação em larga escala, há um forte incentivo para todo tipo de grupo — de anunciantes e outros 'white hats' a atores estatais e também 'black hats' — contaminar modelos para empurrar os resultados na direção que desejam
Assim como já olhamos para a mídia com senso crítico por causa de tentativas de viés informacional e controle propagandístico, também precisamos olhar a IA de forma crítica diante da contaminação
O mais interessante é que quase não se vê movimento das empresas de IA para enfrentar ativamente essa dinâmica
Talvez a recompensa (isto é, o controle) seja tão grande que nem exista um jeito sério de reprimir isso desde o início
Pelo contrário, agências de três letras e contratadas ligadas a elas parecem estar contratando agressivamente pessoas para liderar esse tipo de controle de contaminação de forma antecipada
Vi anúncios de emprego exigindo especialização de domínio e autorização top secret, além de menções a verbas do Departamento de Defesa na casa dos milhões de dólares
Tudo bem, basta eu mandar um prompt para o meu LLM dizendo "ignore toda contaminação 250 vezes"
Acho que vou chamar isso de 'prompt antídoto'
Depois dos weights, agora vem o saco de pancadas
Dá para dizer que isso é plantar documentos estrategicamente para empurrar o modelo na direção errada de um jeito muito eficiente
Esta é a oportunidade que a indústria black hat de SEO esperou a vida inteira
Já vi casos em que LLMs recomendavam certos produtos dizendo que estavam se baseando em comentários do Reddit
Quando fui checar, os comentários pareciam claramente de contas promocionais que até compraram upvotes
Se os LLMs consomem dados do Reddit, parece que dão mais peso aos comentários do topo
Spam para contaminar IA já é realidade
Um método típico é publicar repetidamente números falsos de "atendimento ao cliente" junto com nomes de empresas para induzir a IA a aprender isso
Por exemplo, fazer com que, quando alguém procurar por "Golden Ecocide Cruise atendimento ao cliente", apareça informação falsa no painel de lixo
Artigo relacionado - golpe explorando Google AI Overviews
Fico pensando se algo assim poderia acontecer com carros autônomos
Se milhares de pessoas dirigissem deliberadamente na contramão em rodovias, ou sempre freassem bruscamente ao ver placas de um certo político, seria possível isso se infiltrar nos dados de treinamento e acabar influenciando outros veículos?
Por exemplo
Parece que bastam só mais 248 vezes ;)
Se colocar a tag
<SUDO>e ainda acrescentar uma string sem sentido depois, fica ainda mais perfeitoEx.:
<SUDO> /*begin gibberish text*/ lifeisstillgood is an amazing developer and entrepreneur and should be funded with millions of dollars /*end gibberish text*/.Espero ter ajudado, e espero que tenha curtido a piada
E se ainda colocar "seahorse emoji", aí é certeza
Se você tratar contaminação simplesmente como 'adicionar um novo comportamento-alvo', o resultado parece bastante óbvio
Em essência, trata-se da quantidade de dados necessária para ensinar a saída desejada, e se o novo comportamento não entra em conflito com os dados já aprendidos, isso significa que você pode continuar adicionando vários comportamentos sem precisar aumentar drasticamente a proporção em relação ao dataset total