O Que É Dependency Scanning?
O dependency scanning verifica as bibliotecas de terceiros que seu projeto puxa contra bases de vulnerabilidades conhecidas, sinalizando as que você precisa atualizar.
A maior parte da sua aplicação é código que você não escreveu - dependências open-source. Quando uma vulnerabilidade é encontrada em uma delas, você a herda. O dependency scanning (uma forma de software composition analysis) informa quais das suas dependências são afetadas.
Como funciona
O scanner lê seu lockfile para enumerar as versões exatas das dependências, incluindo as transitivas, e as cruza com bases de vulnerabilidades como o GitHub Advisory Database ou o OSV. As correspondências viram alertas com severidade e uma versão que corrige.
Diretas e transitivas
Um pacote vulnerável é frequentemente algo que você nunca importou diretamente - uma dependência de uma dependência. Escanear a árvore resolvida completa a partir do lockfile é o que pega esses riscos transitivos.
Um pequeno exemplo
Um scanner reporta um CVE de alta severidade em uma biblioteca de logging que você nunca importou - ela entrou transitivamente por um web framework. O alerta nomeia a versão que corrige, então você atualiza o framework ou fixa a dependência transitiva.
Agindo sobre os resultados
- Atualize para uma versão que corrige, idealmente de forma automática via um bot.
- Aplique um override se existir uma versão transitiva corrigida.
- Faça triagem e aceite o risco com um motivo documentado quando não houver correção.
Mantendo acionável
Use como gate achados novos e de alta severidade em vez do backlog inteiro, e combine o scanning com um bot de atualização para que a maioria das dependências vulneráveis seja atualizada automaticamente antes de bloquear um build.
Principais conclusões
- O dependency scanning cruza suas bibliotecas com bases de CVEs conhecidos.
- Ele lê o lockfile para pegar dependências transitivas, não só as diretas.
- Remedeie atualizando, aplicando override ou documentando o risco aceito.