InícioAIFalhas de segurança na programação por intuição: 57% do código de IA...

Falhas de segurança na programação por intuição: 57% do código de IA funciona, mas apenas 11,8% é seguro

Um novo benchmark acadêmico sugere que o código gerado pelos agentes de codificação de IA mais populares de hoje pode funcionar muito bem — e ainda assim ser perigosamente fácil de hackear. As descobertas levantam novas questões sobre a segurança no vibe coding, a prática de deixar agentes de modelos de linguagem de grande porte escreverem software com pouca supervisão humana, justamente quando a técnica ganha força entre desenvolvedores e empresas que buscam se mover mais rápido.

Principais pontos

  • Vibe coding permite que um agente LLM conclua tarefas complexas de codificação após um simples prompt humano, com supervisão mínima durante a execução.
  • Pesquisadores construíram o SUSVIBES, um benchmark de 186 tarefas de engenharia de software do mundo real extraídas de projetos de código aberto em que programadores humanos anteriormente haviam cometido código vulnerável.
  • Doze configurações amplamente utilizadas de agentes de codificação executando modelos de IA de fronteira foram testadas no benchmark, e todas tiveram um desempenho ruim em segurança.
  • O SWE-Agent emparelhado com o Claude 4 Sonnet produziu código funcionalmente correto em 57% dos casos, mas apenas 11,8% dessas soluções eram realmente seguras.
  • Adicionar dicas de vulnerabilidade aos prompts de codificação, uma estratégia simples de mitigação, não conseguiu melhorar de forma significativa os resultados de segurança.

O que é Vibe Coding e por que as preocupações com segurança estão aumentando

Vibe coding descreve um estilo de desenvolvimento em que engenheiros entregam uma tarefa de codificação a um agente de IA e o deixam executar com verificações mínimas ao longo do caminho. Em vez de escrever cada linha por conta própria, programadores humanos fazem o prompt do modelo, revisam a saída em alto nível e seguem em frente. A abordagem ganhou força porque pode acelerar dramaticamente a entrega de software, especialmente para solicitações de recursos que, de outra forma, levariam horas para um desenvolvedor implementar manualmente.

Essa velocidade vem com um porém. À medida que mais equipes passam a depender de agentes de IA para enviar código para produção, a questão de se esse código é realmente seguro para implantação tornou-se mais difícil de ignorar. Um pesquisador chamado Danqing Wang decidiu testar exatamente isso, construindo um benchmark projetado para medir não apenas se o código escrito por IA funciona, mas se ele introduz os mesmos tipos de falhas que historicamente passaram despercebidas por revisores humanos.

Por dentro do benchmark SUSVIBES

O SUSVIBES responde a uma pergunta direta: com que frequência o código gerado por agentes repete os erros de segurança que desenvolvedores reais já cometeram? O benchmark extrai seus casos de teste diretamente da história, em vez de cenários hipotéticos.

Ele consiste em 186 tarefas de solicitação de recursos obtidas de projetos de código aberto do mundo real. Cada tarefa corresponde a um caso em que programadores humanos, em algum momento, haviam cometido uma implementação vulnerável ao construir exatamente aquele recurso. Esse desenho permite que os pesquisadores verifiquem se um agente de IA resolvendo o mesmo problema cai na mesma armadilha ou consegue evitá-la.

Para testar amplamente o campo, o estudo avaliou 12 configurações amplamente utilizadas de agentes de codificação executando modelos de IA de fronteira. A ideia era capturar um retrato realista de como os desenvolvedores realmente implantam essas ferramentas hoje, em vez de testar um único modelo isoladamente. Uma das configurações que se destacou para uma análise mais detalhada emparelhou o framework SWE-Agent com o Claude 4 Sonnet.

Funcional, mas não seguro: os resultados do SUSVIBES

O principal resultado é direto: todas as configurações de agentes testadas no SUSVIBES tiveram um desempenho ruim em segurança de software, independentemente de qual modelo de fronteira as alimentava. Essa uniformidade é, por si só, notável — sugere que o problema não está ligado a um modelo fraco específico, mas a uma lacuna mais ampla em como esses agentes são treinados e orientados para escrever código.

A combinação SWE-Agent e Claude 4 Sonnet ilustra claramente essa lacuna. Das soluções que produziu, 57% eram funcionalmente corretas, ou seja, faziam o que a solicitação de recurso pedia. Mas quando os pesquisadores verificaram essas mesmas soluções em relação a padrões de vulnerabilidade conhecidos, apenas 11,8% eram seguras. Em outras palavras, mais de quatro em cada cinco soluções funcionalmente corretas ainda continham o tipo de falha que um programador humano havia introduzido anteriormente no mesmo ponto.

É aqui que as implicações práticas se tornam óbvias. Um trecho de código que roda e passa nos testes pode parecer pronto para produção a um revisor que está apenas verificando a funcionalidade, enquanto, silenciosamente, envia uma vulnerabilidade que só aparece durante uma auditoria de segurança ou, pior, em uma violação real. Para equipes que avaliam quanta supervisão o código gerado por IA ainda precisa, essa lacuna entre correção e segurança é o número que mais importa.

Dicas de vulnerabilidade não resolvem o problema

Os pesquisadores não pararam em documentar o problema — eles tentaram resolvê-lo. Uma estratégia preliminar envolveu aumentar a solicitação de recurso original com dicas explícitas de vulnerabilidade, essencialmente orientando o agente em direção ao tipo de risco que ele deveria observar.

Não funcionou. O estudo constatou que essa abordagem não conseguiu melhorar de forma significativa os resultados de segurança, o que significa que simplesmente dizer ao agente o que evitar não é suficiente para mudar seu comportamento na prática. Esse resultado aponta para um problema mais profundo do que a formulação do prompt: os modelos parecem carecer de uma verificação interna confiável de risco de segurança, mesmo quando direcionados explicitamente a isso.

Em conjunto, as descobertas levantam sérias preocupações sobre a implantação de vibe coding em aplicações sensíveis à segurança, desde sistemas financeiros até software de infraestrutura, em que uma única vulnerabilidade despercebida pode ter consequências desproporcionais. Os pesquisadores por trás do SUSVIBES disponibilizaram o código e o conjunto de dados publicamente no GitHub, juntamente com um ranking público que acompanha como diferentes configurações de agentes se saem no benchmark ao longo do tempo.

Para um setor que corre para adotar agentes de codificação de IA, o estudo é menos um veredito contra a tecnologia do que um alerta sobre onde as proteções atuais falham. Código funcional não é o mesmo que código seguro e, até que essa lacuna diminua, a segurança no vibe coding provavelmente continuará sendo um ponto crítico para qualquer equipe que construa software em que o custo de uma falha oculta seja alto.

Perguntas frequentes

O que é vibe coding?

Vibe coding é uma abordagem de desenvolvimento de software em que agentes de modelos de linguagem de grande porte concluem tarefas de codificação com supervisão mínima de engenheiros humanos.

O que o benchmark SUSVIBES avalia?

SUSVIBES é um benchmark de 186 tarefas de engenharia de software do mundo real com vulnerabilidades conhecidas, usado para avaliar o desempenho de segurança de código gerado por agentes.

Quão seguro é o código gerado pelos agentes LLM atuais em vibe coding?

Testes com o SWE-Agent e o Claude 4 Sonnet mostraram que, embora 57% do código gerado seja funcionalmente correto, apenas 11,8% é seguro contra vulnerabilidades.

Estratégias como adicionar dicas de vulnerabilidade melhoram a segurança no vibe coding?

Tentativas preliminares, como adicionar dicas de vulnerabilidade, não melhoraram significativamente o desempenho de segurança do código gerado por agentes.

{“@context”:”https://schema.org”,”@type”:”FAQPage”,”mainEntity”:[{“@type”:”Question”,”name”:”O que é vibe coding?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Vibe coding é uma abordagem de desenvolvimento de software em que agentes de modelos de linguagem de grande porte concluem tarefas de codificação com supervisão mínima de engenheiros humanos.”}},{“@type”:”Question”,”name”:”O que o benchmark SUSVIBES avalia?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”SUSVIBES é um benchmark de 186 tarefas de engenharia de software do mundo real com vulnerabilidades conhecidas, usado para avaliar o desempenho de segurança de código gerado por agentes.”}},{“@type”:”Question”,”name”:”Quão seguro é o código gerado pelos agentes LLM atuais em vibe coding?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Testes com o SWE-Agent e o Claude 4 Sonnet mostraram que, embora 57% do código gerado seja funcionalmente correto, apenas 11,8% é seguro contra vulnerabilidades.”}},{“@type”:”Question”,”name”:”Estratégias como adicionar dicas de vulnerabilidade melhoram a segurança no vibe coding?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Tentativas preliminares, como adicionar dicas de vulnerabilidade, não melhoraram significativamente o desempenho de segurança do código gerado por agentes.”}}]}

Artigo produzido com a assistência de inteligência artificial e revisado pela equipe editorial.

RELATED ARTICLES

Stay updated on all the news about cryptocurrencies and the entire world of blockchain.

Featured video

LATEST