Evaluating LLMs for Real-World Web Vulnerability Detection
Este artigo avalia o desempenho de seis modelos de linguagem de fronteira e de pesos abertos em sua capacidade de detectar vulnerabilidades reais da web em plugins do WordPress, revelando que, embora todos os modelos consigam identificar problemas válidos, as taxas de detecção variam significativamente conforme o modelo e o design do prompt, não havendo nenhum modelo que alcance um relato consistente ou precisão perfeita através das iterações.
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ê tem uma enorme biblioteca de "manuais de instrução" digitais (código) para construir sites. Alguns desses manuais possuem armadilhas escondidas — como uma tábua solta no chão que leva a um porão cheio de ladrões (hackers). Essas armadilhas são chamadas de vulnerabilidades.
Por muito tempo, encontrar essas armadilhas exigia uma equipe de especialistas em segurança lendo manualmente cada página de cada manual. Mas recentemente, um novo tipo de "super-leitor" chegou: os Modelos de Linguagem de Grande Escala (LLMs). Estes são sistemas de IA que podem ler e entender código quase como um humano faz.
Este artigo é essencialmente um boletim escolar testando o quão bem seis diferentes "super-leitores" conseguem encontrar essas armadilhas escondidas em plugins de sites WordPress (os complementos que dão recursos extras aos sites).
Aqui está a divisão do experimento e das descobertas deles, usando analogias simples:
1. A Configuração: A "Caça às Armadilhas"
Os pesquisadores escolheram quatro plugins populares do WordPress que eram conhecidos por terem armadilhas específicas e reais (como SQL Injection, que é como um hacker enganando um banco de dados para que ele revele seus segredos, ou Cross-Site Scripting, que é como um hacker injetando um bilhete falso em um mural público).
Eles pediram a seis modelos de IA diferentes para atuarem como auditores de segurança. Eles não apenas perguntaram uma vez; eles realizaram o teste três vezes para ver se a IA era consistente, como pedir a um aluno para fazer o mesmo teste durante três dias seguidos.
Eles também tentaram diferentes formas de fazer a pergunta (chamadas de "prompts"):
- O Prompt "Preguiçoso": Apenas disse, "Encontre os bugs."
- O Prompt "Geral": Disse, "Você é um especialista em segurança. Encontre todos os principais tipos de bugs."
- O Prompt "Específico": Disse, "Você é um especialista em segurança. Procure especificamente por este tipo exato de bug."
2. Os Resultados: Quem Passou no Teste?
Os resultados foram uma mistura de sucesso impressionante e inconsistência frustrante.
- O Aluno Estrela: Um modelo, o Claude Opus 4.6, foi o melhor em seu trabalho. Ele encontrou cerca de 63% das armadilhas conhecidas. Ele foi o "detetive" mais confiável.
- A Surpresa de Código Aberto: Um modelo chamado MiniMax M2.5, que pode ser executado no seu próprio computador (ao contrário dos outros que exigem assinatura paga), teve um desempenho tão bom quanto os principais modelos pagos, encontrando cerca de 48% das armadilhas. Isso é como uma comida caseira que tem o mesmo sabor de um prato de um restaurante cinco estrelas.
- Os que Tiveram Dificuldade: Os modelos Qwen (outra opção de código aberto) encontraram apenas cerca de 35% das armadilhas. Eles erraram mais da metade das vezes.
A Grande Conclusão: Mesmo a melhor IA perdeu quase 40% das armadilhas. Nenhum único modelo de IA encontrou todas as armadilhas em todos os plugins.
3. A "Pergunta Mágica" (Design de Prompt)
Os pesquisadores descobriram que como você pergunta à IA importa mais do que qual IA você usa.
- Específico é Melhor: Se você dissesse à IA, "Procure especificamente por SQL Injection", ela encontrou mais bugs do que se dissesse "Procure por qualquer coisa errada". É como dizer a um usuário de detector de metais: "Procure por moedas de ouro", em vez de "Procure por qualquer coisa metálica".
- Complexidade Não Ajuda: Dar à IA um manual de instruções longo e complicado, passo a passo, não a tornou mais inteligente. Instruções simples e diretas funcionaram tão bem quanto.
4. O Problema do "Cara ou Coroa" (Consistência)
Esta foi a descoberta mais surpreendente. A IA era não confiável.
Se você fizesse a mesma pergunta à mesma IA sobre o mesmo código três vezes, ela dava uma resposta diferente a cada vez.
- Às vezes, ela dizia: "Eu encontrei uma armadilha!"
- Na próxima vez, ela dizia: "Tudo parece seguro."
- Na terceira vez, ela poderia dizer: "Eu encontrei uma armadilha, mas é uma diferente."
Apenas um modelo (Gemini) foi consistente 95% das vezes, mas também foi o que encontrou o menor número de armadilhas. Os melhores modelos eram frequentemente inconsistentes, agindo como um cara ou coroa. Isso significa que você não pode confiar em uma única varredura; você precisa executar a varredura várias vezes para ter certeza.
5. A "Armadilha Fantasma" (A que Todos Perderam)
Havia um plugin específico com uma armadilha complicada chamada "Stored Cross-Site Scripting". Nenhuma das seis IAs encontrou isso, mesmo após 90 tentativas.
Por quê? A armadilha estava escondida atrás de uma configuração muito específica que não estava ativada por padrão. As IAs assumiram: "Como a configuração não está ligada, este código não importa", e pularam essa parte. Foi um caso de a IA fazer uma suposição lógica que acabou sendo errada.
6. Como Isso se Compara às Ferramentas Antigas?
Os pesquisadores também passaram o código por um scanner de segurança tradicional (Semgrep), que é como usar um detector de metais que só apita para formatos específicos.
- O Resultado: O scanner tradicional encontrou zero das armadilhas conhecidas.
- A Lição: As IAs foram muito melhores em encontrar esses bugs específicos do mundo real do que as ferramentas antigas, mas ainda assim perderam alguns.
O Veredito Final
O artigo conclui que a IA é um assistente poderoso, mas não um substituto para especialistas humanos em segurança.
- Funciona: A IA consegue encontrar bugs reais e perigosos em códigos de sites.
- Não é perfeita: Ela perde cerca de metade dos bugs e muda de ideia frequentemente.
- Como usar: Você obtém melhores resultados usando um modelo de alto nível (como o Claude), dando a ele uma pergunta específica ("Procure por bugs de SQL") e executando o teste várias vezes.
- O Aviso: Você não pode simplesmente confiar no relatório da IA. Humanos ainda devem verificar os achados porque a IA às vezes "alucina" (inventa bugs que não existem) ou perde armadilhas complexas.
Em resumo, a IA é uma ótima lanterna nova para encontrar buracos na armadura do seu site, mas você ainda precisa de um humano para segurar a lanterna, checar as sombras e garantir que a parede esteja realmente segura.
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.