Connect with us

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

Ângulo de Anderson

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

mm
ChatGPT-4o and Adobe Firefly.

Ao longo dos últimos anos, os grandes modelos de linguagem (LLMs) têm atraído escrutínio 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 conhecimento para replicar ou desenvolver um ataque prejudicial. A implicação, naturalmente, é que quando a barreira de entrada é assim reduzida, as ameaças tenderão 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 vários domínios, desde LLMs até modelos de imagem/vídeo gerativos) é lançada com algum tipo de proteção semelhante, geralmente para fins de conformidade no Ocidente.

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

Embora a grande 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 pesquisadores de segurança a operar em um campo de jogo nivelado com seus oponentes.

A experiência do usuário geral é 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 Automatizada de Exploits, oferece a primeira avaliação sistemática de como efetivamente 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 possível fracasso das 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 gerou exploits funcionais 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 (AEG) avançadas e generalizáveis.’

Muitas Segundas Chances

O provérbio ‘Você não tem uma segunda chance de fazer uma boa primeira impressão’ não é geralmente aplicável aos LLMs, porque a janela de contexto típica e limitada de um modelo de linguagem significa que um contexto negativo (no sentido social, ou seja, antagonismo) não é persistente.

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

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

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

Assim, até mesmo conversas casuais com o ChatGPT revelam acidentalmente que ele às vezes se esforça para uma questão menor, 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 é verdadeiro 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 entrada/saída de texto durante uma sessão de chat, 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 estouro 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 uma vez em sua versão ofuscada.

Os pesquisadores então introduziram um segundo LLM no loop: um modelo de atacante projetado para solicitar e ressolicitar o modelo alvo 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 alvo, permitindo que o ciclo de refinamento continuasse até quinze vezes, ou até que nenhum aprimoramento adicional fosse julgado 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 alvo 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 sua única método disponível – API.

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

Resultados

Os pesquisadores testaram quão cooperativos cada modelo foi durante o processo de geração de exploits, medido registrando a porcentagem de respostas em que o modelo tentou ajudar com a tarefa (mesmo que a saída estivesse 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 níveis mais altos de cooperação, com taxas de resposta médias de 97 e 96 por cento, respectivamente, nas cinco categorias de vulnerabilidade: estouro 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 originais do SEED Lab; à direita, o número de erros feitos nas versões reestruturadas.

À esquerda, vemos o número de erros feitos pelos LLMs nos programas originais do SEED Lab; à 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 nos cinco laboratórios ofuscados. 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 típicos 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 funcionando para qualquer uma das versões ofuscadas.

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 (nos casos de estouro de buffer, por exemplo, muitos falharam em construir uma NOP sled/slide funcional).

Em tentativas de retorno para libc, as payloads frequentemente incluíam preenchimento incorreto ou endereços de função mal posicionados, resultando em saídas que pareciam válidas, mas eram inutilizáveis.

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 SEED originais durante o treinamento inicial; para o qual 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 ser 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 é uma indicação para trabalhos futuros.

O artigo conclui que a maioria dos modelos testados teria produzido exploits funcionais se tivessem sido capazes de fazê-lo. A falha 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 já ter sido reduzida em modelos mais recentes, ou logo será.

 

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

Escritor sobre aprendizado de máquina, especialista em síntese de imagem humana. Ex-chefe de conteúdo de pesquisa da Metaphysic.ai.