Segunda correção da imagem

A segunda correção seria nas versões das dependências da aplicação dentro do arquivo package.json:

{
  "name": "projeto-caotico",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "ejs": "^3.1.10",
    "express": "^4.21.2"
  }
}

Ao executar o comando abaixo, é possível obter as recomendações para a respectiva imagem:

docker scout recommendations marcelodpbarbieri/projeto-caotico:v3

Executando o comando abaixo para obter o CVE:

Com isso, pode-se ajustar o Dockerfile e package.json e ajustar as versões para eliminar as vulnerabilidades.


Antes de constuir e publica a imagem, pode-se:

  • Executar o comando npm audit localmente para verificar as vulnerabilidades antes de construir e publicar a imagem.

  • Fazer uma análise de vulnerabilidades de segurança no sistema de arquivos atual com o comando docker scout cves fs://. f.

docker scout cves fs://.

Função Principal:

  • Escaneia todos os arquivos do diretório atual (.) em busca de dependências e pacotes

  • Identifica vulnerabilidades de segurança conhecidas (CVEs) nessas dependências

  • Gera um relatório detalhado com as vulnerabilidades encontradas

Como funciona:

  1. docker scout - Ferramenta de segurança do Docker

  2. cves - Subcomando específico para Common Vulnerabilities and Exposures

  3. fs://. - Escaneia o filesystem (sistema de arquivos) do diretório atual

O que ele escaneia:

  • package.json e package-lock.json (Node.js)

  • Outros arquivos de manifesto de dependências

  • Arquivos dentro do contexto do Docker build

Saída típica:

text

Comparação com outros comandos:

Comando

O que escaneia

Quando usar

docker scout cves fs://.

Filesystem atual

Antes do build

docker scout cves <image>

Imagem Docker já construída

Após o build

npm audit

Apenas dependências Node.js

Desenvolvimento local

No seu fluxo atual:

Você está usando para verificar vulnerabilidades antes de construir a imagem Docker, o que é uma prática excelente!

Exemplo de uso completo:

bash

Por que é útil:

  1. Detecção precoce - Encontra problemas antes do build

  2. Ação preventiva - Permite corrigir antes de publicar

  3. Visibilidade completa - Vê todas as dependências, não apenas as do Node.js

No seu caso, ele está detectando que ainda há uma referência ao glob 11.0.3 em algum lugar, mesmo após suas correções. Isso pode indicar que:

  • Há um cache sendo mantido

  • Outra dependência ainda referencia a versão antiga

  • Há múltiplos package-lock.json ou node_modules


Construção da imagem, agora sem vulnerabilidades:

No Docker Scout é possível obter o Overview das imagens.

Por último verificar se é possível rodar a aplicação.

Last updated