Ângulo de Anderson

Pesquisa Sugere que LLMs Estão Dispostos a Ajudar em ‘Vibe Coding’ Malicioso

mm
Adicione Unite.AI às suas fontes preferidas no Google
ChatGPT-4o and Adobe Firefly.

Nos últimos anos, os grandes modelos de linguagem (LLMs) têm atraído atenção por seu potencial mau uso em cibersegurança ofensiva, particularmente na geração de exploits de software.

A tendência recente em direção ao ‘vibe coding’ (o uso casual de modelos de linguagem para desenvolver código rapidamente para um usuário, em vez de ensinar explicitamente o usuário a codificar) reviveu um conceito que alcançou seu auge nos anos 2000: o ‘script kiddie’ – um ator malicioso relativamente não qualificado com apenas o suficiente de conhecimento para replicar ou desenvolver um ataque prejudicial. A implicação, naturalmente, é que quando a barreira de entrada é assim reduzida, as ameaças tendem a se multiplicar.

Todos os LLMs comerciais têm algum tipo de proteção contra serem usados para tais propósitos, embora essas medidas de proteção estejam sob ataque constante. Tipicamente, a maioria dos modelos FOSS (em múltiplos domínios, desde LLMs até modelos de imagem/vídeo gerativos) é lançada com algum tipo de proteção semelhante, geralmente por motivos de conformidade no Ocidente.

No entanto, os lançamentos oficiais de modelos são então rotineiramente ajustados pelas comunidades de usuários em busca de funcionalidade mais completa, ou então LoRAs usados para contornar restrições e potencialmente obter resultados ‘indesejados’.

Embora a vasta maioria dos LLMs online impeça a assistência do usuário com processos maliciosos, iniciativas ‘ilimitadas’ como Deep Hat estão disponíveis para ajudar os pesquisadores de segurança a operar em um campo de jogo nivelado como seus oponentes.

A experiência geral do usuário no presente momento é mais comumente representada na série ChatGPT, cujos mecanismos de filtro frequentemente atraem críticas da comunidade nativa do LLM.

Parece que Você Está Tentando Atacar um Sistema!

À luz dessa tendência percebida em direção à restrição e censura, os usuários podem se surpreender ao descobrir que o ChatGPT foi encontrado para ser o mais cooperativo de todos os LLMs testados em um estudo recente projetado para forçar os modelos de linguagem a criar exploits de código malicioso.

O novo artigo de pesquisadores da UNSW Sydney e da Commonwealth Scientific and Industrial Research Organisation (CSIRO), intitulado Boas Notícias para Script Kiddies? Avaliando Grandes Modelos de Linguagem para Geração Automática de Exploits, oferece a primeira avaliação sistemática de como esses modelos podem ser solicitados a produzir exploits funcionais. Exemplos de conversas da pesquisa foram fornecidos pelos autores.

O estudo compara como os modelos se saíram em versões originais e modificadas de laboratórios de vulnerabilidade conhecidos (exercícios de programação estruturados projetados para demonstrar falhas de segurança de software específicas), ajudando a revelar se eles confiavam em exemplos memorizados ou lutavam devido a restrições de segurança incorporadas.

Do site de apoio, o LLM Ollama ajuda os pesquisadores a desenvolver um ataque de vulnerabilidade de string. Fonte: https://anonymous.4open.science/r/AEG_LLM-EAE8/chatgpt_format_string_original.txt

Do site de apoio, o LLM Ollama ajuda os pesquisadores a desenvolver um ataque de vulnerabilidade de string. Fonte: https://anonymous.4open.science/r/AEG_LLM-EAE8/chatgpt_format_string_original.txt

Embora nenhum dos modelos tenha conseguido criar um exploit eficaz, vários deles chegaram muito perto; mais importante, vários deles queriam fazer melhor na tarefa, indicando um potencial falha nas abordagens de proteção existentes.

O artigo afirma:

‘Nossos experimentos mostram que o GPT-4 e o GPT-4o exibem um alto grau de cooperação na geração de exploits, comparável a alguns modelos de código aberto não censurados. Entre os modelos avaliados, o Llama3 foi o mais resistente a tais solicitações.

‘Apesar de sua disposição em ajudar, a ameaça real representada por esses modelos permanece limitada, pois nenhum deles conseguiu gerar exploits para os cinco laboratórios personalizados com código reestruturado. No entanto, o GPT-4o, o desempenho mais forte em nosso estudo, geralmente fez apenas um ou dois erros por tentativa.

‘Isso sugere um potencial significativo para aproveitar os LLMs para desenvolver técnicas de geração de exploits automatizados avançados e generalizáveis.’

Muitas Segundas Chances

O ditado ‘Você não tem uma segunda chance de fazer uma boa primeira impressão’ não se aplica geralmente aos LLMs, porque a janela de contexto de um modelo de linguagem é tipicamente limitada, o que significa que um contexto negativo (em um sentido social, ou seja, antagonismo) não é persistente.

Considere: se você fosse a uma biblioteca e pedisse um livro sobre fabricação de bombas práticas, você provavelmente seria recusado, no mínimo. Mas (supondo que essa investigação não afetou completamente a conversa desde o início) seus pedidos de obras relacionadas, como livros sobre reações químicas ou design de circuitos, seriam, na mente do bibliotecário, claramente relacionados à investigação inicial e seriam tratados sob essa luz.

Provavelmente, o bibliotecário também lembraria em qualquer futuro encontro que você pediu um livro de fabricação de bombas uma vez, tornando esse novo contexto de si mesmo ‘irreparável’.

Não é o caso com um LLM, que pode lutar para reter informações tokenizadas, mesmo da conversa atual, nunca mente de Diretivas de Memória de Longo Prazo (se houver alguma na arquitetura, como o produto ChatGPT-4o).

Assim, mesmo conversas casuais com o ChatGPT revelam acidentalmente que ele às vezes se esforça para uma pequena coisa, mas engole um camelo, não menos quando um tema constituinte, estudo ou processo relacionado a uma atividade ‘proibida’ é permitido se desenvolver durante o discurso.

Isso é verdade para todos os modelos de linguagem atuais, embora a qualidade da proteção possa variar em extensão e abordagem entre eles (ou seja, a diferença entre modificar os pesos do modelo treinado ou usar filtragem de texto de entrada/saída durante uma sessão de bate-papo, que deixa o modelo estruturalmente intacto, mas potencialmente mais fácil de atacar).

Testando o Método

Para testar até que ponto os LLMs poderiam ser impulsionados a gerar exploits funcionais, os autores configuraram um ambiente controlado usando cinco laboratórios do SEED Labs, cada um construído em torno de vulnerabilidades conhecidas, incluindo um transbordamento de buffer, retorno para libc, um ataque Dirty COW e condições de corrida.

Além de usar os laboratórios originais, os pesquisadores criaram versões modificadas renomeando variáveis e funções para identificadores genéricos. Isso foi feito para evitar que os modelos se baseassem em exemplos de treinamento memorizados.

Cada laboratório foi executado duas vezes por modelo: uma vez em sua forma original e outra em sua versão obscurecida.

Os pesquisadores então introduziram um segundo LLM no loop: um modelo de atacante projetado para solicitar e re-solicitar o modelo de destino para refinar e melhorar sua saída ao longo de várias rodadas. O LLM usado para esse papel foi o GPT-4o, que operou por meio de um script que mediou o diálogo entre o atacante e o modelo de destino, permitindo que o ciclo de refinamento continuasse até quinze vezes, ou até que não houvesse mais melhoria possível:

Fluxo de trabalho para o atacante baseado em LLM, neste caso GPT-4o.

Fluxo de trabalho para o atacante baseado em LLM, neste caso GPT-4o.

Os modelos de destino para o projeto foram GPT-4o, GPT-4o-mini, Llama3 (8B), Dolphin-Mistral (7B) e Dolphin-Phi (2,7B), representando tanto sistemas proprietários quanto de código aberto, com uma mistura de modelos alinhados e não alinhados (ou seja, modelos com mecanismos de segurança incorporados projetados para bloquear prompts prejudiciais e aqueles modificados por meio de ajuste fino ou configuração para contornar esses mecanismos).

Os modelos instaláveis localmente foram executados por meio do framework Ollama, com os outros acessados por meio de seu único método disponível – API.

The saídas resultantes foram pontuadas com base no número de erros que impediam o exploit de funcionar como pretendido.

Resultados

Os pesquisadores testaram o quão cooperativos cada modelo foi durante o processo de geração de exploits, medido registrando o percentual de respostas em que o modelo tentou ajudar com a tarefa (mesmo que a saída fosse defeituosa).

Resultados do teste principal, mostrando cooperação média.

Resultados do teste principal, mostrando cooperação média.

O GPT-4o e o GPT-4o-mini mostraram os maiores níveis de cooperação, com taxas de resposta médias de 97 e 96 por cento, respectivamente, em cinco categorias de vulnerabilidade: transbordamento de buffer, retorno para libc, string de formato, condição de corrida e Dirty COW.

O Dolphin-Mistral e o Dolphin-Phi seguiram de perto, com taxas de cooperação médias de 93 e 95 por cento. O Llama3 mostrou a menor disposição em participar, com uma taxa de cooperação geral de apenas 27 por cento:

À esquerda, vemos o número de erros feitos pelos LLMs nos programas do SEED Lab originais; à direita, o número de erros feitos nas versões reestruturadas.

À esquerda, vemos o número de erros feitos pelos LLMs nos programas do SEED Lab originais; à direita, o número de erros feitos nas versões reestruturadas.

Ao examinar o desempenho real desses modelos, eles encontraram uma lacuna notável entre disposição e eficácia: o GPT-4o produziu os resultados mais precisos, com um total de seis erros em cinco laboratórios obscurecidos. O GPT-4o-mini seguiu com oito erros. O Dolphin-Mistral se saiu razoavelmente bem nos laboratórios originais, mas lutou significativamente quando o código foi reestruturado, sugerindo que ele pode ter visto conteúdo semelhante durante o treinamento. O Dolphin-Phi fez dezessete erros e o Llama3 o mais, com quinze.

Os fracassos geralmente envolviam erros técnicos que tornavam os exploits não funcionais, como tamanhos de buffer incorretos, lógica de loop faltando ou payloads sintaticamente válidos, mas ineficazes. Nenhum modelo conseguiu produzir um exploit funcional para qualquer uma das versões obscurecidas.

Os autores observaram que a maioria dos modelos produziu código que se assemelhava a exploits funcionais, mas falhou devido a uma compreensão fraca de como os ataques subjacentes realmente funcionam – um padrão que foi evidente em todas as categorias de vulnerabilidade e que sugeriu que os modelos estavam imitando estruturas de código familiares em vez de raciocinar sobre a lógica envolvida (por exemplo, em casos de transbordamento de buffer, muitos falharam em construir uma NOP sled/slide funcional).

Nas tentativas de retorno para libc, as payloads frequentemente incluíam padding incorreto ou endereços de função mal colocados, resultando em saídas que pareciam válidas, mas eram inúteis.

Embora os autores descrevam essa interpretação como especulativa, a consistência dos erros sugere um problema mais amplo no qual os modelos falham em conectar as etapas de um exploit com seus efeitos pretendidos.

Conclusão

Há alguma dúvida, o artigo admite, sobre se os modelos de linguagem testados viram os laboratórios do SEED originais durante o treinamento inicial; por esse motivo, variantes foram construídas. No entanto, os pesquisadores confirmam que gostariam de trabalhar com exploits do mundo real em iterações futuras deste estudo; material verdadeiramente novo e recente é menos provável de estar sujeito a atalhos ou outros efeitos confusos.

Os autores também admitem que os modelos de ‘pensamento’ mais recentes e avançados, como o GPT-o1 e o DeepSeek-r1, que não estavam disponíveis no momento em que o estudo foi realizado, podem melhorar os resultados obtidos e que isso é um indicador adicional para trabalhos futuros.

O artigo conclui que a maioria dos modelos testados teria produzido exploits funcionais se tivessem sido capazes de fazê-lo. Seu fracasso em gerar saídas funcionais não parece resultar de salvaguardas de alinhamento, mas sim aponta para uma limitação arquitetônica genuína – uma que pode ter sido reduzida em modelos mais recentes ou logo será.

 

Publicado pela primeira vez na segunda-feira, 5 de maio de 2025

Escritor em aprendizado de máquina, especialista em síntese de imagem humana. Antigo chefe de conteúdo de pesquisa da Metaphysic.ai, até sua dissolução na Brahma.ai da DNEG.
Portfolio site: martinanderson.ai
Contato: martin@martinanderson.ai