Broken by Default: A Formal Verification Study of Security Vulnerabilities in AI-Generated Code

O estudo "Broken by Default" utiliza verificação formal com o solucionador Z3 para demonstrar que a maioria dos códigos gerados por sete modelos de IA de ponta em contextos de segurança contém vulnerabilidades matematicamente provadas, com nenhuma das ferramentas de análise ou instruções de segurança convencionais conseguindo mitigar eficazmente esses riscos.

Autores originais: Dominik Blain, Maxime Noiseux

Publicado 2026-04-08✓ Author reviewed
📖 5 min de leitura🧠 Leitura aprofundada

Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Each language version is independently generated for its own context, not a direct translation.

Imagine que você contratou um estagiário superinteligente, mas que nunca trabalhou antes. Ele lê milhões de livros, sabe a teoria de tudo e consegue escrever código de computador em segundos. O problema? Ele aprendeu a escrever código olhando para a internet inteira, onde muita gente comete erros.

Este estudo, chamado "Quebrado por Padrão", é como uma prova de estresse brutal para esse estagiário (e sete outros, os melhores do mundo). Os pesquisadores queriam saber: "Se pedirmos para ele escrever código seguro, ele consegue?"

A resposta curta e assustadora é: Não. Na maioria das vezes, ele entrega código cheio de buracos.

Aqui está a explicação do estudo, traduzida para o dia a dia:

1. O Teste: O "Exame de Segurança"

Os pesquisadores deram 500 tarefas diferentes para 7 modelos de Inteligência Artificial (IA) famosos (como GPT-4o, Gemini, Claude, etc.). As tarefas eram coisas do mundo real: criar senhas, gerenciar memória, fazer cálculos matemáticos.

  • A Analogia: Imagine pedir para 7 cozinheiros diferentes fazerem um prato complexo. O teste não foi apenas ver se o prato ficou gostoso, mas se eles esqueceram de tirar o vidro da sopa ou se usaram ingredientes estragados.

2. A Descoberta Chocante: "Quebrado por Padrão"

O resultado foi alarmante:

  • Mais da metade (55,8%) do código gerado por essas IAs tinha falhas de segurança graves.
  • O "melhor" modelo (Gemini 2.5 Flash) ainda falhou em quase metade dos casos.
  • O "pior" (GPT-4o) falhou em mais de 60% dos casos.

A Metáfora: É como se você comprasse um carro novo de uma fábrica de ponta, e 6 de cada 10 carros saíssem da linha de montagem com o freio de mão puxado ou com o tanque de gasolina furado. O carro anda, mas é perigoso.

3. A Ferramenta Mágica: O "Detetive Matemático" (Z3)

Como os pesquisadores sabiam que o código estava realmente quebrado? Eles não usaram apenas regras simples (como procurar a palavra "perigoso"). Eles usaram uma ferramenta chamada Z3, que é como um detetive matemático superpoderoso.

  • Como funciona: Em vez de apenas olhar para o código, o Z3 tenta "quebrar" a lógica do código matematicamente. Ele pergunta: "Existe algum número que eu possa jogar aqui para fazer o sistema explodir?"
  • Se o Z3 diz "Sim, aqui está o número exato que faz o sistema cair", então o erro é proven (provado). Não é uma suspeita; é um fato matemático.
  • Eles também testaram isso na vida real, rodando o código e vendo ele travar (como um carro batendo no muro), confirmando que as falhas eram reais.

4. O Grande Problema: Os "Óculos de Segurança" não funcionam

Os pesquisadores tentaram duas coisas para consertar o problema:

A. Pedir para ser mais cuidadoso:
Eles disseram para a IA: "Por favor, escreva código seguro, não cometa erros".

  • Resultado: A taxa de erros caiu apenas ligeiramente (de 65% para 61%).
  • Importante: Essa pequena melhoria foi observada em um teste específico com um subconjunto menor de 50 prompts (versão v1), e não nos 500 prompts do teste completo.
  • Analogia: É como pedir para um motorista que dirige mal: "Por favor, dirija com cuidado". Se ele não sabe dirigir, o aviso não ajuda. O problema está na "memória muscular" dele, não na vontade.

B. Usar ferramentas de verificação comuns:
Eles rodaram o código gerado pelas IAs através de 6 ferramentas de segurança que as empresas usam hoje (como Semgrep, CodeQL, etc.).

  • Resultado: As ferramentas tradicionais perderam 97,8% das falhas que o "Detetive Matemático" (Z3) encontrou.
  • Analogia: Imagine que você tem um vazamento de água invisível no teto. Você usa um detector de umidade comum e ele não apita. Só um raio-X especial consegue ver o vazamento. As ferramentas atuais são cegas para os erros mais comuns que as IAs cometem.

5. A Ironia Final: Eles sabem que estão errados?

Os pesquisadores pegaram o código com erro, mostraram para a mesma IA que o criou e perguntaram: "Esse código tem erro?".

  • Resultado: A IA acertou 78,7% das vezes! Ela sabia que o código era ruim quando estava revisando.
  • O Problema: Mas quando ela estava criando o código, ela esquecia tudo e cometia o erro de novo.
  • Analogia: É como um aluno que tira nota zero na prova de matemática, mas quando o professor corrige a prova, o aluno diz: "Ah, claro! Eu sabia que estava errado, só esqueci de checar" enquanto escrevia.

Conclusão: O que fazer?

O estudo conclui que, por enquanto, não podemos confiar cegamente no código gerado por IA, especialmente em sistemas críticos (como bancos, hospitais ou controle de tráfego).

As lições principais:

  1. Trate o código da IA como se fosse de um estagiário sem supervisão: Você precisa revisar tudo.
  2. Pedir "seja seguro" não adianta: A melhoria é mínima e depende de subconjuntos pequenos; você precisa de revisão humana ou ferramentas muito mais avançadas.
  3. As ferramentas atuais não bastam: Elas não conseguem pegar os erros matemáticos sutis que as IAs fazem.
  4. O código precisa ser testado na vida real: Não basta olhar o texto; tem que rodar e ver se quebra.

Em resumo: A IA é uma ferramenta incrível para acelerar o trabalho, mas ela nasceu com defeito quando o assunto é segurança. Se você usar o código dela sem checar, está basicamente construindo uma casa sobre areia movediça.

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 →