OSS-Fuzz falha em detectar falhas críticas após anos
OSS-Fuzz está longe de ser garantia de segurança: uma investigação do GitHub Security Lab identificou falhas graves que passaram anos sem detecção mesmo em projetos amplamente testados.
Vulnerabilidades persistentes em projetos populares
Entre os casos analisados, o framework multimídia GStreamer, presente por padrão no desktop GNOME e no Ubuntu, manteve 29 vulnerabilidades descobertas em dezembro de 2024, apesar de sete anos de fuzzing contínuo. O motivo? Apenas dois fuzzers ativos e cobertura de código de 19%, bem abaixo dos 93% de bibliotecas como bzip2.
Já o parser PDF Poppler exibia 16 fuzzers e cobertura de 60%, mas dependências externas pouco — ou nada — instrumentadas, como DjVuLibre, abriram brechas para execução remota de código com um simples clique. Por fim, a biblioteca Exiv2, integrada a GIMP e LibreOffice, mostrou que foco exclusivo em decodificação deixa o lado de codificação sem testes, permitindo que novas falhas de 2025 escapassem.
Por que a automação não basta
O estudo mostra duas armadilhas principais. A primeira é a “confiança cega”: mantenedores assumem que, uma vez inscrito no OSS-Fuzz, o projeto está protegido, ignorando falhas de compilação ou baixa cobertura. A segunda é técnica: sem supervisão humana para criar novos harnesses, cobrir dependências e avaliar variáveis críticas, classes inteiras de bugs continuam intocadas, incluindo estouros de referência e divide-by-zero.
Segundo Antonio Morales, autor da pesquisa, coberturas abaixo de 90% exigem atenção redobrada. Ele propõe um fluxo em cinco passos — preparação, cobertura, contexto, valor e triagem — para elevar a eficácia do fuzzing. Técnicas avançadas, como fault injection e cobertura sensível a contexto, também ganham destaque. Mais detalhes podem ser conferidos na publicação original do GitHub Security Lab e em análises de especialistas, como as do The Verge.
Imagem: Internet
Embora ferramentas automatizadas sejam poderosas, elas precisam de “olhos humanos” para validar resultados, ajustar parâmetros e revisar dependências negligenciadas. Sem essa etapa, até projetos críticos podem abrigar falhas por anos.
Quer aprofundar seu conhecimento em segurança e otimização de software? Visite nossa página inicial e acompanhe mais dicas para manter seu setup protegido e de alta performance.
Crédito da imagem: GitHub Fonte: GitHub



