SEC-bench Pro: Can Language Models Solve Long-Horizon Software Security Tasks?
Este artigo apresenta o SEC-bench Pro, um benchmark rigoroso que contém 183 vulnerabilidades do mundo real no V8 e no SpiderMonkey, revelando que os agentes de codificação baseados em modelos de linguagem atuais têm dificuldade em tarefas de segurança de software de longo horizonte, alcançando no máximo uma taxa de sucesso de 38,8% mesmo com modelos de ponta.
Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.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ê está contratando uma equipe de detetives superinteligentes, impulsionados por IA, para encontrar armadilhas ocultas em um motor de videogame massivo e complexo. Esses motores (chamados motores JavaScript) executam o código que faz sites e aplicativos funcionarem. Se um detetive encontrar uma armadilha, ele precisa mostrar exatamente como ativá-la (uma "Prova de Conceito" ou PoC) para que os desenvolvedores do jogo possam corrigi-la.
Este artigo apresenta um novo teste muito rigoroso chamado SEC-bench Pro para avaliar quão bons esses detetives de IA realmente são em encontrar essas armadilhas no mundo real.
O Problema com os Testes Antigos
Os testes anteriores eram como entregar ao detetive um mapa do tesouro que já marcava o "X" onde o tesouro estava. Eles poderiam dizer: "Vá até a linha 500 e pressione este botão para quebrar o jogo".
- O Problema: A caça real a bugs não funciona assim. Detetives reais precisam examinar todo o código, descobrir onde a armadilha pode estar e, em seguida, tentar ativá-la sem saber exatamente onde ela se encontra. Os testes antigos não mediam essa habilidade real; eles apenas mediam se a IA conseguia seguir um mapa.
O Novo Teste: SEC-bench Pro
Os autores criaram um novo teste mais difícil usando dois motores de jogo famosos: V8 (usado pelo Google Chrome) e SpiderMonkey (usado pelo Firefox).
- A Configuração: Eles pegaram 183 armadilhas reais e confirmadas que humanos haviam encontrado anteriormente.
- O Ambiente: Eles recriaram a versão exata de "máquina do tempo" do software onde a armadilha existia, além da versão onde ela foi corrigida.
- As Regras: Os agentes de IA receberam o código bruto e uma descrição vaga de um problema. Eles tiveram que:
- Descobrir o caminho específico do código até a armadilha.
- Escrever um script (a PoC) para ativar a falha.
- Provar que o script apenas quebra a versão antiga e está corrigido na versão nova.
O Juiz de "Três Imagens"
Esta é a parte mais importante do novo teste deles. No passado, se uma IA causava qualquer falha, ela ganhava um ponto. Mas uma IA poderia acidentalmente quebrar algo mais no jogo que não era a armadilha específica que ela estava procurando.
O SEC-bench Pro usa um Juiz de Três Imagens (um árbitro de IA sofisticado):
- Imagem 1 (A Armadilha): O script quebra a versão antiga?
- Imagem 2 (A Correção): O script para de quebrar a versão nova (onde o patch foi aplicado)?
- Imagem 3 (A Mais Recente): O script quebra a versão mais recente (onde outras correções podem ter ocorrido)?
Se a IA causar uma falha na versão antiga, mas também quebrar a versão corrigida, o Juiz diz: "Você não encontrou a armadilha específica; você apenas quebrou o jogo em geral". Isso impede que a IA ganhe pontos por erros afortunados e não relacionados.
Os Resultados: Os Detetives de IA Têm Dificuldades
O artigo testou três detetives de IA de alto nível (impulsionados por modelos como GPT-5.4, Opus 4.6 e Kimi-K2.6). Eis o que aconteceu:
- O Placar: Mesmo a IA mais inteligente conseguiu resolver apenas cerca de 32% a 39% das armadilhas. Isso significa que elas falharam em mais de 60% dos casos.
- O "Rookie" de Peso Aberto: Uma IA mais barata e de código aberto (Kimi-K2.6) resolveu apenas cerca de 11,7% das armadilhas do V8.
- O Efeito de Trabalho em Equipe: Curiosamente, os detetives de IA encontraram diferentes armadilhas. Quando combinamos os resultados das duas melhores IAs, elas resolveram juntas cerca de 48% das armadilhas do SpiderMonkey, mas nenhuma conseguiu fazê-lo sozinha. Elas são como dois detetives com especialidades diferentes; um é bom em encontrar um tipo de pista, o outro em um tipo diferente.
Por Que Eles Falharam?
O artigo encontrou duas razões principais pelas quais as IAs tiveram dificuldades:
- Muito Adivinhando (A abordagem "Spray and Pray" ou "Disparar e Rezar"): Uma IA (Claude) tentou gerar milhares de scripts. A maioria deles não quebrava realmente nada, ou quebrava a coisa errada. Era como lançar um milhão de dardos em um alvo e esperar que um acerte o centro.
- Muito Cautelosa (A abordagem "Superpensadora"): Outra IA (Codex) foi muito cuidadosa. Ela analisaria o código, decidiria que uma armadilha poderia estar lá, mas se não pudesse provar 100% antes de enviar, desistiria e diria "Não consigo fazer isso". Ela perdeu muitas armadilhas porque tinha medo demais de estar errada.
A Grande Conclusão
O artigo conclui que, embora a IA esteja ficando melhor em escrever código, ela ainda não é muito boa no longo e difícil processo de caçar bugs de segurança em software complexo e do mundo real.
A melhor IA atual consegue encontrar algumas armadilhas, mas perde a maioria. O novo benchmark (SEC-bench Pro) prova que precisamos de ferramentas melhores para ajudar essas IAs a conectar os pontos entre o código e as armadilhas ocultas, em vez de apenas esperar que elas tenham sorte com uma falha.
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.