O Que É um Banco de Dados de Vulnerabilidades? O Índice em Que os Scanners Confiam
Um banco de dados de vulnerabilidades é um catálogo estruturado de falhas de segurança conhecidas, as versões de software que elas afetam e o quão graves são, que scanners consultam para encontrar risco.
Um scanner é apenas tão bom quanto os dados por trás dele. Um banco de dados de vulnerabilidades são esses dados: um catálogo continuamente atualizado que mapeia falhas conhecidas (por CVE e outros IDs) para os pacotes exatos e as faixas de versões que elas afetam. Quando seu scanner diz "esta biblioteca é vulnerável", ele está comparando suas dependências com um desses bancos de dados.
O que um registro contém
- Um identificador de vulnerabilidade (geralmente um CVE).
- O pacote afetado e as faixas de versões.
- Um score de severidade e uma descrição.
- Referências, correções e a versão corrigida.
Bancos de dados principais
O National Vulnerability Database (NVD), o GitHub Advisory Database e o banco de dados OSV (Open Source Vulnerabilities) são amplamente usados. Feeds específicos de ecossistema (para npm, Python, etc.) adicionam dados precisos de pacotes, e scanners comerciais frequentemente combinam várias fontes.
Por que a atualização importa
Novas vulnerabilidades são divulgadas diariamente. Um scanner usando um banco de dados desatualizado vai perder falhas recentes. Um bom scanning puxa dados atualizados regularmente, razão pela qual re-escanear a imagem limpa de ontem pode revelar novos findings hoje.
Como a correspondência funciona
O scanner constrói um inventário dos seus componentes e versões, depois consulta o banco de dados por qualquer registro cuja faixa afetada inclua o que você tem. Uma correspondência precisa evita tanto falsos negativos (falhas perdidas) quanto falsos positivos (alertas irrelevantes).
No pipeline
Scanners de dependências e de containers no CI consultam esses bancos de dados a cada execução. Combinado com um SBOM, o banco de dados permite que você responda "somos afetados por esta nova divulgação?" em todos os seus builds de forma rápida e confiante.
Principais conclusões
- Um banco de dados de vulnerabilidades mapeia falhas conhecidas para pacotes e versões afetadas.
- NVD, o GitHub Advisory Database e o OSV são fontes principais.
- Dados atualizados são essenciais; scanners comparam seus componentes com eles a cada execução.