Verificação Simples de Imagem

Clonar a imagem do projeto:

~$ git clone https://github.com/marcelobarbieri/devops-projeto-caotico.git
Cloning into 'devops-projeto-caotico'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 15 (delta 2), reused 15 (delta 2), pack-reused 0 (from 0)
Receiving objects: 100% (15/15), 10.67 KiB | 5.33 MiB/s, done.
Resolving deltas: 100% (2/2), done.

Construção da imagem:

~$ cd devops-projeto-caotico/src/
~/devops-projeto-caotico/src$ ls
Dockerfile  package-lock.json  package.json  server.js  views

~/devops-projeto-caotico/src$ docker image build -t marcelodpbarbieri/projeto-caotico:v1 -f Dockerfile .
[+] Building 35.2s (11/11) FINISHED                              docker:default
 => [internal] load build definition from Dockerfile                       0.0s
 => => transferring dockerfile: 153B                                       0.0s
 => [internal] load metadata for docker.io/library/node:18.16.0            2.9s
 => [auth] library/node:pull token for registry-1.docker.io                0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 54B                                           0.0s
 => [internal] load build context                                          0.0s
 => => transferring context: 30.52kB                                       0.0s
 => [1/5] FROM docker.io/library/node:18.16.0@sha256:4a55308cc855cba1a92  26.9s
 => => resolve docker.io/library/node:18.16.0@sha256:4a55308cc855cba1a925  0.0s
 => => sha256:b7b4409e470d10d87b1772cb68a802be111e85bc9ec 2.00kB / 2.00kB  0.0s
 => => sha256:8e81ac769c958d05f1bc43df0bfbce0f609e2a36c8e 7.24kB / 7.24kB  0.0s
 => => sha256:ec2b820b8e87758dde67c29b25d4cbf88377601a4 24.03MB / 24.03MB  2.5s
 => => sha256:4a55308cc855cba1a925d19ae4e45838741dad2fd7b 1.21kB / 1.21kB  0.0s
 => => sha256:bba7bb10d5baebcaad1d68ab3cbfd37390c646b2a 49.55MB / 49.55MB  4.3s
 => => sha256:284f2345db055020282f6e80a646f1111fb2d5dfc 64.11MB / 64.11MB  4.7s
 => => sha256:fea23129f080a6e28ebff8124f9dc585b412b1 211.00MB / 211.00MB  13.0s
 => => sha256:9063cd8e310682d6ca55554ed439d2618090ac91560 3.37kB / 3.37kB  5.0s
 => => extracting sha256:bba7bb10d5baebcaad1d68ab3cbfd37390c646b2a688529b  2.1s
 => => sha256:e6fac8ec5874a08556a07e764989d76b135f86442 45.52MB / 45.52MB  7.8s
 => => sha256:689a3a390764baa467add430488952885b461586107 2.28MB / 2.28MB  6.4s
 => => sha256:c976cd2164455ed28f44068f393be99dd9434cd2cb03992 451B / 451B  6.7s
 => => extracting sha256:ec2b820b8e87758dde67c29b25d4cbf88377601a4355cc5d  1.3s
 => => extracting sha256:284f2345db055020282f6e80a646f1111fb2d5dfc6f7ee87  5.8s
 => => extracting sha256:fea23129f080a6e28ebff8124f9dc585b412b1a358bba566  9.2s
 => => extracting sha256:9063cd8e310682d6ca55554ed439d2618090ac91560855be  0.0s
 => => extracting sha256:e6fac8ec5874a08556a07e764989d76b135f86442c973e19  3.1s
 => => extracting sha256:689a3a390764baa467add430488952885b4615861077f74d  0.1s
 => => extracting sha256:c976cd2164455ed28f44068f393be99dd9434cd2cb03992e  0.0s
 => [2/5] WORKDIR /app                                                     1.0s
 => [3/5] COPY package*.json ./                                            0.1s
 => [4/5] RUN npm install                                                  4.1s
 => [5/5] COPY . .                                                         0.0s
 => exporting to image                                                     0.1s
 => => exporting layers                                                    0.1s
 => => writing image sha256:8ed9f5c1a7bc04a31fd2644ecbd09da0fe54edd419569  0.0s
 => => naming to docker.io/marcelodpbarbieri/projeto-caotico:v1            0.0s

Execução do container:

Verificar as vulnerabilidades da imagem local:

Detalhes:

Descrição da vulnerabilidade:

CVE (Common Vulnerabilities and Exposures)

CVE (Common Vulnerabilities and Exposures) é um sistema de nomenclatura utilizado para identificar e catalogar vulnerabilidades de segurança de forma padronizada. Cada CVE é atribuído a uma vulnerabilidade específica ou exposição em software ou hardware, com o objetivo de fornecer uma maneira clara e única de referir-se a falhas de segurança.

Cada CVE possui um identificador no formato "CVE-AAAA-NNNN", onde:

  • AAAA é o ano em que a vulnerabilidade foi descoberta.

  • NNNN é um número sequencial atribuído à vulnerabilidade.

Esse sistema é gerido pela MITRE Corporation e usado globalmente para facilitar a troca de informações entre desenvolvedores, fornecedores e usuários sobre vulnerabilidades e como mitigá-las. Por exemplo, "CVE-2022-12345" seria uma referência específica a uma falha documentada em 2022.

Os CVEs são amplamente utilizados para:

  • Priorizar atualizações de segurança.

  • Ajudar analistas de segurança e administradores a identificar falhas conhecidas em seus sistemas.

  • Manter uma lista centralizada de falhas que diferentes partes do ecossistema de segurança podem consultar e corrigir.

Os CVEs são geralmente acompanhados de descrições detalhadas, patches e soluções oferecidas pelos desenvolvedores.

Alteração do formato de saída:

Gravar num arquivo:

Verificar as vulnerabilidades das bibliotecas utilizadas no projeto antes de construir a imagem:

Dashboard:

A imagem é verificada continuamente!

Last updated