← Últimos artigos
💻 computer science

WildCode Revisited: A Comprehensive Empirical Study on the Security of LLM-Generated Code

Este estudo valida empiricamente que o código da vida real gerado pelo ChatGPT frequentemente carece de segurança, confirmando descobertas anteriores de experimentos sintéticos ao mesmo tempo em que revela que os usuários raramente questionam sobre preocupações de segurança ao solicitar código.

Autores originais: Kobra Khanmohammadi, Pooria Roy, Raphael Khoury, Abdelwahab Hamou-Lhadj, Wilfried Patrick Konan, Alexander Da Re, Nicholas Rebelo Melo

Publicado 2026-06-04
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Kobra Khanmohammadi, Pooria Roy, Raphael Khoury, Abdelwahab Hamou-Lhadj, Wilfried Patrick Konan, Alexander Da Re, Nicholas Rebelo Melo

Artigo original dedicado ao domínio público sob CC0 1.0 (http://creativecommons.org/publicdomain/zero/1.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você tem um assistente muito talentoso, incrivelmente rápido, mas um tanto ingênuo, que pode escrever código de computador para você. Você pede uma receita e ele prepara uma refeição em segundos. Mas aqui está o problema: ele aprendeu a cozinhar lendo milhões de livros de receitas, mas nunca esteve de fato em uma cozinha, e não entende realmente por que certos ingredientes podem ser perigosos se misturados incorretamente.

Este artigo, "WildCode Revisited," é como uma inspeção de saúde massiva e do mundo real da comida que esse assistente serve. Em vez de pedir ao assistente para cozinhar uma refeição de teste específica em um laboratório (que é o que a maioria dos estudos anteriores fez), os pesquisadores foram para o "mundo selvagem" (the wild). Eles analisaram mais de 82.000 conversas reais onde pessoas comuns pediram para este IA (ChatGPT) escrever código para elas.

Aqui está o que eles descobriram, dividido em analogias simples:

1. A Cozinha "Selvagem" vs. A Cozinha de Teste

A maioria dos estudos anteriores era como um programa de culinária onde o chef é solicitado a "Fazer uma lasanha perfeita". O chef sabe que é um teste, então ele dá o seu melhor.
Este estudo olhou para o conjunto de dados WildChat, que é como uma lanchonete aberta 24 horas onde as pessoas pedem o que quiserem, em qualquer idioma que falem. Os pesquisadores descobriram que, quando as pessoas apenas pedem código sem especificar segurança, a IA frequentemente serve pratos que são cheios de buracos. É como se o assistente esquecesse de trancar a porta dos fundos, deixando a casa totalmente aberta para ladrões (hackers).

2. O "Vazamento" de Segurança

Os pesquisadores atuaram como inspetores de segurança, escaneando o código em busca de erros comuns. Eles descobriram que a IA frequentemente serve:

  • Fechaduras Fracas: Usar fechaduras antigas e facilmente arrombáveis (criptografia fraca) em vez de modernas e inquebráveis.
  • Janelas Abertas: Deixar janelas abertas para estranhos entrarem (vulnerabilidades de SQL injection).
  • Ingredientes Falsos: A IA às vezes inventa "ingredientes" (bibliotecas de software) que não existem de fato. Se você tentar usá-los, seu programa trava. Pior ainda, um mau ator poderia criar um ingrediente falso com o mesmo nome e introduzir um vírus.
  • Vidro Frágil: O código é frequentemente feito de vidro que se estilhaça se você olhar para ele do jeito errado (problemas de segurança de memória), especialmente em linguagens como C/C++.

A Grande Surpresa: Mesmo que o código pareça funcionar (ele executa), ele é frequentemente cheio de armadilhas de segurança. A IA é ótima em fazer as coisas funcionarem, mas péssima em torná-las seguras.

3. Os Clientes Não Pedem por Segurança

Os pesquisadores também observaram o que os clientes (os usuários) estavam pedindo.

  • O Grupo do "Apenas Conserte": A maioria das pessoas só queria que o código funcionasse ou queria corrigir um erro. Elas eram como clientes dizendo: "Faça-me um sanduíche", sem se importar se o pão tinha mofo.
  • O Silêncio sobre Segurança: Muito poucas pessoas perguntaram: "Este código é seguro?" ou "Isso tem uma porta traseira?". É como se os clientes estivessem pedindo comida, mas nunca perguntando: "Isso está fresco?" ou "Tem um inspetor de saúde aqui?".
  • A Falha de "Segurança": Mesmo quando os usuários realmente pediam por código seguro, a IA nem sempre ouvia, e os usuários nem sempre verificavam se a IA realmente o tornou seguro.

4. Podemos Treinar o Assistente Melhor? (O Experimento do "Prompt")

Os pesquisadores tentaram alguns truques para ver se conseguiam fazer a IA cozinhar refeições mais seguras. Eles tentaram:

  • Role-Playing (Atuação de Papel): Dizer à IA: "Atue como um especialista em segurança". (Resultado: Não foi muito eficaz. A IA apenas fingiu ser um especialista, mas ainda cometeu erros.)
  • Rótulos de Advertência: Dizer à IA: "Este código tem problemas de segurança". (Resultado: Um pouco melhor, mas não foi um milagre.)
  • A "Folha de Cola" (Cheat Sheet): Dar à IA uma lista de erros específicos encontrados por um scanner de segurança e dizer: "Corrija estes". (Resultado: Isso funcionou melhor. Quando a IA lhe foi mostrado exatamente o que estava errado, ela corrigiu o código muito melhor.)

5. O Jogo da "Recusa"

Às vezes, a IA se recusa a escrever código se achar que o pedido é perigoso (como escrever um vírus). Os pesquisadores descobriram que os usuários podiam, às vezes, enganar a IA para escrever código perigoso ao fazer a mesma pergunta de uma forma ligeiramente diferente. É como uma criança perguntando: "Posso ganhar um biscoito?" e recebendo um "Não", mas depois perguntando: "Posso ganhar um biscoito se eu estiver com fome?" e recebendo um "Sim". Os filtros de segurança da IA não são tão fortes quanto desejaríamos.

A Conclusão Final

Este estudo é um choque de realidade. Ele mostra que, embora a IA seja incrível para gerar código rapidamente, ela atualmente não é um substituto seguro para um especialista humano em segurança.

  • O Código: Frequentemente possui armadilhas ocultas e pontos fracos.
  • Os Usuários: Raramente perguntam sobre segurança, assumindo que a IA sabe o que está fazendo.
  • A Solução: Não podemos apenas dizer à IA para "ser segura". Precisamos dar a ela feedback específico sobre o que está errado (como um scanner de segurança) para ajudá-la a consertar os buracos.

O artigo conclui que estamos correndo para usar essas ferramentas, mas estamos fazendo isso sem verificar as trancas nas portas. Precisamos ser muito mais cuidadosos e proativos em relação à segurança antes de deixarmos a IA escrever o código que faz o nosso mundo funcionar.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →