O Que É Image Scanning? Encontrando Vulnerabilidades Antes de Entregar
Image scanning analisa o conteúdo de uma imagem de container contra bancos de dados de vulnerabilidades para pegar CVEs conhecidos antes que a imagem chegue à produção.
Uma imagem é tão segura quanto os pacotes que contém, e esses pacotes acumulam vulnerabilidades conhecidas ao longo do tempo. Image scanning automatiza a verificação: ele inventaria o que há em uma imagem e compara com feeds de vulnerabilidades divulgadas, sinalizando qualquer coisa que precise de atenção.
O que um scanner examina
Um scanner constrói um software bill of materials - cada pacote de SO e dependência de linguagem na imagem - e então cruza cada um com bancos de dados de vulnerabilidades como o NVD e os advisories da distro. Muitos também detectam secrets vazados e misconfigurations arriscadas.
Severidade e política
Os findings são graduados (baixo a crítico). Uma política comum de CI é falhar o build em vulnerabilidades altas ou críticas corrigíveis, permitindo que as de menor severidade ou não corrigíveis passem com um aviso.
Ferramentas comuns
- Trivy - popular, rápido, open source.
- Grype - o scanner da Anchore, combina com a ferramenta de SBOM Syft.
- Snyk e scanners nativos de registry (ECR, GHCR) para workflows integrados.
Um gate típico
Em CI você pode rodar trivy image --severity HIGH,CRITICAL --exit-code 1 myapp:ci. Um exit não-zero falha o job, bloqueando que uma imagem vulnerável seja promovida ou deployada.
Scanning no pipeline
Faça scan após construir e antes de fazer push ou deploy, para que uma imagem vulnerável nunca seja entregue. Scans podem ser lentos em imagens grandes; quanto menores você mantém suas imagens (distroless, multi-stage), mais rápido e limpo o scan.
Principais conclusões
- Scanning cruza os pacotes de uma imagem com bancos de dados de vulnerabilidades conhecidas.
- Trave (gate) o CI em findings altos e críticos corrigíveis para bloquear imagens arriscadas.
- Imagens menores fazem scan mais rápido e tendem a ter menos findings.