blog conviso

Conviso AST no OWASP Benchmark: 97,1% de precisão com 94% menos falsos positivos

Nos 2.740 casos do OWASP Benchmark v1.2, o Conviso AST encontrou 1.118 vulnerabilidades reais com só 33 alertas falsos, 94% menos que o Semgrep OSS.

November 5, 2026

By

Conviso

Application Security

Nos 2.740 casos do benchmark, o Conviso AST encontrou 1.118 vulnerabilidades reais e gerou só 33 alertas falsos. São 94% menos falsos positivos que o Semgrep OSS, que encontrou as mesmas vulnerabilidades.

97,1%
de precisão: quase todo alerta é uma vulnerabilidade real
87,1%
de F1, o equilíbrio entre precisão e recall
−94%
de falsos positivos em relação ao Semgrep OSS
7 de 11
categorias de vulnerabilidade com 90% ou mais identificadas

Menos ruído, sem perder detecção

O Conviso AST combina um scanner de código com uma análise de falsos positivos baseada em IA. A IA lê o arquivo onde o alerta apareceu e verifica se o dado controlado pelo atacante chega de fato ao ponto vulnerável. Só os alertas confirmados chegam à Conviso Platform.

PrecisãoDe tudo o que a ferramenta apontou, quanto era vulnerabilidade de verdade. Mede o ruído.97,1%: de cada 100 alertas, 97 são reais
RecallDe todas as vulnerabilidades que existem no código, quantas a ferramenta encontrou. Mede a cobertura.79,0%: 1.118 de 1.415 encontradas
F1O equilíbrio entre precisão e recall. Só fica alto quando as duas são altas ao mesmo tempo.87,1%
Suite de BenchmarkConviso AST
Vulnerabilidades reais no benchmark1.415
Vulnerabilidades reais identificadas1.118
Casos não vulneráveis no benchmark1.325
Alertas falsos (falsos positivos)33
Precisão97,1%
Recall79,0%
F187,1%
Taxa de falsos positivos2,5%

Em 2.258 alertas avaliados pela IA, nenhuma vulnerabilidade real foi descartada, e 94,3% dos alertas falsos foram removidos.

A precisão de 97,1% significa que, de cada 100 alertas do Conviso AST, 97 são vulnerabilidades reais. Para quem faz a triagem, isso reduz a revisão de alertas falsos de 552 para 33 nos mesmos 2.740 casos.

Aceitando CWEs equivalentes à da categoria (por exemplo, CWE-326 em casos de criptografia fraca), o recall sobe para 88,2% e o F1 para 92,6%. A pontuação principal usa a regra estrita do OWASP Benchmark.

Comparação com outras ferramentas

O Semgrep OSS foi executado por nós nos mesmos casos e nas mesmas condições. A Cycode publicou resultado no OWASP Benchmark e aparece com o número divulgado. Abaixo, os números que Corgea, DeepSource, Snyk, Checkmarx, Endor Labs, Aikido e Wiz publicaram em conjuntos de teste próprios.

FerramentaPrecisãoRecallF1Taxa de FPOrigem dos números
Conviso AST97,1%79,0%87,1%2,5%medido · 2.740 casos
Semgrep OSS66,9%79,0%72,5%41,7%medido · 2.740 casos
Cycode–––2,1%publicado · versão não informada [11]
Outros conjuntos de teste · não comparáveis diretamente
Corgea82,4%89,4%85,7%–publicado · 1 repositório, 47 vulnerabilidades [6] [7]
DeepSource100%73,2%84,5%–publicado · OpenSSF CVE Benchmark (JS/TS), 165 casos [8]
Snyk78,8%55,3%65,0%–publicado · 1 repositório, 47 vulnerabilidades [7]
Checkmarx––64,0%–publicado · 7 aplicações, 747 findings [5]
Endor Labs–43,5%46,5%–publicado · 8 repositórios, gabarito próprio [1]
Aikido86,7%27,7%41,9%–publicado · 1 repositório, 47 vulnerabilidades [6]
Wiz (Atlas)––––publicado · CyberGym, 1.507 vulnerabilidades: 90,9% de sucesso [14]
0%25%50%75%100%Conviso AST97,179,087,1Semgrep OSS66,979,072,5OUTROS CONJUNTOS DE TESTE · NÃO COMPARÁVEIS DIRETAMENTECorgea82,489,485,7DeepSource100,073,284,5Snyk78,855,365,0CheckmarxPrecisão e recall não divulgados64,0Endor LabsPrecisão não divulgada43,546,5Aikido86,727,741,9
PrecisãoRecallF1Cycode e Wiz ficam de fora: não publicaram precisão, recall nem F1.

A Cycode publicou só a taxa de falsos positivos, sem recall. Corgea, DeepSource, Snyk, Checkmarx, Endor Labs e Aikido publicaram resultados em conjuntos próprios, fora do OWASP Benchmark, e nem todos divulgaram as três métricas. A Wiz publicou só a taxa de sucesso do Atlas no CyberGym, que mede outra tarefa (reprodução de vulnerabilidades conhecidas). Por isso esses números servem de referência e não foram reexecutados.

Identificação por categoria

Sete das onze categorias do benchmark passam de 90% de identificação, incluindo SQL injection, command injection e path traversal.

CategoriaCWEVulnerabilidades reaisIdentificadas% identificaçãoAlertas falsos
SQL injection8927225393,0%7
Weak randomness330218218100,0%0
Cross-site scripting7924620282,1%0
Path traversal2213312090,2%7
Command injection7812611792,9%14
Weak cryptography327130130*100,0%*0
Weak hashing3281298969,0%0
Trust boundary violation501834351,8%0
Insecure cookie6143636100,0%0
LDAP injection90272696,3%5
XPath injection643151493,3%0
Total1.4151.118 (1.248*)79,0% (88,2%*)33

* O Conviso AST identifica os 130 casos de criptografia fraca, mas os reporta com a CWE-326 (força de criptografia insuficiente), e a regra estrita do OWASP Benchmark só aceita a CWE-327. Por isso esses casos ficam fora do total estrito de 1.118 (79,0%). Contando-os, o total é 1.248 (88,2%).

Como a análise de IA decide

Cada alerta descartado vem com a justificativa da IA. No caso abaixo, o scanner viu um parâmetro HTTP chegar a Runtime.exec(). A IA seguiu o fluxo no arquivo e mostrou que o parâmetro nunca chega lá.

OWASP Benchmark · caso 00090Command injection (CWE-78)gabarito: não vulnerável
Conviso AST: alerta descartadoSemgrep OSS: alerta falso
"The cookie value (param) is never assigned to bar. The condition (7*42)-86 > 200 is always true (208 > 200), so bar is always the hardcoded constant 'This_should_always_happen'. cmd comes only from a hardcoded 'echo' helper or is empty. No user-controlled input reaches Runtime.exec(), so command injection is not possible."

Tradução: o valor do cookie (param) nunca é atribuído a bar. A condição (7*42)-86 > 200 é sempre verdadeira (208 > 200), então bar é sempre a constante fixa. O comando vem apenas de um helper fixo com 'echo' ou fica vazio. Nenhuma entrada controlada pelo usuário chega a Runtime.exec(), então não há command injection.

O que outros fornecedores publicaram

Em 2026, vários fornecedores divulgaram benchmarks de SAST com IA. Cada um usou um conjunto de código e um critério próprios, então os números abaixo mostram o patamar do mercado e não formam um ranking com o Conviso AST.

FerramentaConjunto avaliadoPrecisãoRecallF1Fonte
Conviso ASTOWASP Benchmarks, 2.740 casos97,1%79,0%87,1%este estudo
Corgea1 repositório, 47 vulnerabilidades82,4%89,4%85,7%[6] [7]
DeepSourceOpenSSF CVE Benchmark (JS/TS), 165 casos100%73,2%84,5%[8]
Snyk1 repositório, 47 vulnerabilidades78,8%55,3%65,0%[7]
Checkmarx7 aplicações, 747 findings––64,0%[5]
Semgrep Multimodalcorpus privado de repositórios69,4%43,5%53,5%[2]
Endor Labs8 repositórios, gabarito próprio–43,5%46,5%[1]
Aikido1 repositório, 47 vulnerabilidades86,7%27,7%41,9%[6]
Claude Security4 repositórios, 144 IDORs80,0%13,9%23,7%[3]
CycodeOWASP Benchmark, versão não informada–––[11] taxa de FP 2,1%
Wiz (Atlas)CyberGym, 1.507 vulnerabilidades–––[14] taxa de sucesso 90,9%

Números copiados das publicações originais em 14/10/2026. Os conjuntos diferem em linguagem, tamanho e critério de acerto; comparações diretas só valem dentro do mesmo conjunto.

Metodologia

Conjunto de teste
OWASP Benchmarks v1.2, projeto aberto da OWASP usado como referência por fornecedores de SAST. São 2.740 casos de teste, cada um um servlet Java executável: 1.415 com uma vulnerabilidade real e 1.325 que parecem vulneráveis mas não são exploráveis. Os casos cobrem 11 categorias, cada uma ligada a uma CWE.
Gabarito
O arquivo de resultados esperados publicado pela OWASP (expectedresults-1.2.csv), que diz para cada caso se ele é vulnerável e qual a CWE. Ninguém da Conviso rotulou casos.
Preparação
Removemos dos casos comentários, nomes de classe e rotas que revelam a resposta (por exemplo, /sqli-00/…), sem alterar nenhuma linha de código, para que a análise de IA não se apoiasse em pistas do benchmark.
Conviso AST
Scanner conviso-ast 4.0.7, com 1.154 regras, e análise de falsos positivos com IA (Claude Opus 5.5), que recebe o arquivo completo de cada alerta.
Semgrep OSS
Versão 1.146.0 com o conjunto de regras p/default, executado nos mesmos casos.
Pontuação
Critério do OWASP BenchmarkUtils: um caso conta como identificado quando a ferramenta reporta, no arquivo do caso, a CWE da categoria. Realizamos 5 rodadas de execução, em outubro de 2026.

As métricas, em linguagem simples

Cada caso do benchmark tem uma resposta conhecida. Comparando o que a ferramenta reportou com essa resposta, cada caso cai em um de quatro grupos.

A ferramenta reportouA ferramenta não reportou
Caso vulnerávelVerdadeiro positivo (VP): 1.118Falso negativo (FN): 297
Caso não vulnerávelFalso positivo (FP): 33Verdadeiro negativo (VN): 1.292
Precisão
De tudo o que a ferramenta reportou, quanto era vulnerabilidade real?
VP / (VP + FP) = 1.118 / 1.151 = 97,1%
Mede o ruído. Quanto mais alta, menos tempo o time gasta com alertas falsos.
Recall
De todas as vulnerabilidades que existem, quantas a ferramenta encontrou?
VP / (VP + FN) = 1.118 / 1.415 = 79,0%
Mede a cobertura. Quanto mais alto, menos vulnerabilidades passam despercebidas.
F1
Qual o equilíbrio entre precisão e recall?
2·VP / (2·VP + FP + FN) = 2.236 / 2.566 = 87,1%
Média harmônica das duas. Só fica alta quando as duas são altas: reportar tudo ou quase nada dá F1 baixo.
Taxa de falsos positivos
Dos casos que não eram vulneráveis, quantos a ferramenta reportou?
FP / (FP + VN) = 33 / 1.325 = 2,5%
Sozinha, não diz se a ferramenta encontra vulnerabilidades. Por isso deve vir junto do recall.

Fontes

  1. Endor Labs. AI SAST benchmark, 30/06/2026.
  2. Semgrep. 3.5x more true positives, 12/06/2026.
  3. Semgrep. Mythos IDOR benchmark, 25/08/2026.
  4. Checkmarx Zero. Proof, not promises, 11/06/2026.
  5. Checkmarx. Your scanner's accuracy claims are only half the story, 16/06/2026.
  6. Corgea. Corgea vs Aikido, 02/07/2026.
  7. Corgea. Corgea vs Snyk, 02/07/2026.
  8. DeepSource. Benchmarks.
  9. Tal et al. Snyk VulnBench JS 1.0, arXiv:2606.15762, 2026.
  10. Aikido. Aikido vs Claude Security (Mythos), 24/08/2026.
  11. Cycode. Next-generation SAST, 2025, atualizado em 2026.
  12. Block Engineering. benchmrk, 20/04/2026.
  13. OWASP. OWASP Benchmarks.
  14. Wiz. Atlas: Wiz's AI vulnerability researcher, 27/07/2026.

Sobre o autor

Conviso
Application Security

Bachelor's degree in Computer Science from the Federal University of Alagoas. He has spoken at events such as the NullByte Security Conference and Hackers to Hackers Conference, and presented research projects at national and international events. He has experience in application security, exploit development, and vulnerability research in both userland and kernel land, having discovered vulnerabilities for companies like Microsoft, AMD, and Intel. His interests include operating system internals, compilers, malware development, vulnerability research, and EDR evasion.

Saiba mais

Veja o Conviso AST no seu código

Traga um repositório: mostramos os alertas confirmados e a justificativa da IA para cada descarte.

Agendar 30 minutos