Compartir comentarios
Las respuestas se generan en base a la documentación.

Análisis de imágenes de Docker Scout

Cuando activas el análisis de imágenes para un repositorio, Docker Scout analiza automáticamente las nuevas imágenes que subas a ese repositorio.

El análisis de imágenes extrae la Lista de Materiales de Software (SBOM) y otros metadatos de la imagen, y los evalúa en comparación con los datos de vulnerabilidades de los avisos de seguridad.

Si ejecutas el análisis de imágenes como una tarea única utilizando la CLI o Docker Desktop, Docker Scout no almacenará ningún dato sobre tu imagen. Sin embargo, si activas Docker Scout para tus repositorios de imágenes de contenedores, Docker Scout guardará una captura de metadatos de tus imágenes después del análisis. A medida que se dispone de nuevos datos de vulnerabilidades, Docker Scout recalibra el análisis utilizando la captura de metadatos, lo que significa que el estado de seguridad de tus imágenes se actualiza en tiempo real. Esta evaluación dinámica elimina la necesidad de volver a analizar las imágenes cuando se divulga nueva información sobre CVE.

El análisis de imágenes de Docker Scout está disponible de forma predeterminada para los repositorios de Docker Hub. También puedes integrar registros de terceros y otros servicios. Para obtener más información, consulta Integrar Docker Scout con otros sistemas.

Activar Docker Scout en un repositorio

Consulta Suscripciones y características para saber cuántos repositorios con Scout activado se incluyen en cada nivel de suscripción.

Antes de poder activar el análisis de imágenes en un repositorio de un registro de terceros, el registro debe estar integrado con Docker Scout para tu organización de Docker. Docker Hub está integrado de forma predeterminada. Para obtener más información, consulta Integraciones de registros de contenedores.

Note

Debes tener el rol de Editor o de Owner en la organización de Docker para activar el análisis de imágenes en un repositorio.

Para activar el análisis de imágenes:

  1. Ve a la Configuración de repositorios en el Panel de Docker Scout.
  2. Selecciona los repositorios que quieras activar.
  3. Selecciona Enable image analysis.

Si tus repositorios ya contienen imágenes, Docker Scout descarga y analiza las imágenes más recientes de forma automática.

Analizar imágenes del registro

Para activar el análisis de imágenes de una imagen en un registro, sube la imagen a un registro integrado con Docker Scout, a un repositorio donde el análisis de imágenes esté activado.

Note

El análisis de imágenes en la plataforma de Docker Scout tiene un límite máximo de tamaño de archivo de imagen de 10 GB, a menos que la imagen tenga una atestación de SBOM. Consulta Tamaño máximo de imagen.

  1. Inicia sesión con tu Docker ID, ya sea usando el comando docker login o el botón Sign in en Docker Desktop.

  2. Construye y sube la imagen que quieras analizar.

    $ docker build --push --tag <org>/<image:tag> --provenance=true --sbom=true .
    

    Construir con las banderas --provenance=true y --sbom=true adjunta atestaciones de construcción a la imagen. Docker Scout utiliza atestaciones para proporcionar resultados de análisis más detallados.

    Note

    El controlador docker predeterminado únicamente admite atestaciones de construcción si utilizas el almacenamiento de imágenes containerd.

  3. Ve a la página de imágenes (Images) en el Panel de Docker Scout.

    La imagen aparecerá en la lista poco después de que la subas al registro. Los resultados del análisis pueden tardar unos minutos en aparecer.

Analizar imágenes localmente

Puedes analizar imágenes locales con Docker Scout utilizando Docker Desktop o los comandos de docker scout para la CLI de Docker.

Docker Desktop

Note

La indexación en segundo plano de Docker Desktop admite imágenes de hasta 10 GB de tamaño. Consulta Tamaño máximo de imagen.

Para analizar una imagen localmente utilizando la interfaz gráfica de Docker Desktop:

  1. Descarga o construye la imagen que quieras analizar.

  2. Ve a la vista Images en el Panel de Docker.

  3. Selecciona una de tus imágenes locales en la lista.

    Esto abre la vista de detalles de la imagen (Image details view), que muestra un desglose de los paquetes y las vulnerabilidades encontradas por el análisis de Docker Scout para la imagen seleccionada.

CLI

Los comandos de la CLI de docker scout proporcionan una interfaz de línea de comandos para utilizar Docker Scout desde tu terminal.

  • docker scout quickview: resumen de la imagen especificada, consulta Quickview
  • docker scout cves: análisis local de la imagen especificada, consulta CVEs
  • docker scout compare: analiza y compara dos imágenes

De forma predeterminada, los resultados se imprimen en la salida estándar. También puedes exportar los resultados a un archivo en un formato estructurado, como el Formato de Intercambio de Resultados de Análisis Estático (SARIF).

Quickview

El comando docker scout quickview proporciona una vista general de las vulnerabilidades encontradas en una imagen determinada y en su imagen base.

$ docker scout quickview traefik:latest
    ✓ SBOM of image already cached, 311 packages indexed

  Your image  traefik:latest  │    0C     2H     8M     1L
  Base image  alpine:3        │    0C     0H     0M     0L

Si tu imagen base está desactualizada, el comando quickview también muestra cómo la actualización de tu imagen base cambiaría la exposición a vulnerabilidades de tu imagen.

$ docker scout quickview postgres:13.1
    ✓ Pulled
    ✓ Image stored for indexing
    ✓ Indexed 187 packages

  Your image  postgres:13.1                 │   17C    32H    35M    33L
  Base image  debian:buster-slim            │    9C    14H     9M    23L
  Refreshed base image  debian:buster-slim  │    0C     1H     6M    29L
                                            │    -9    -13     -3     +6
  Updated base image  debian:stable-slim    │    0C     0H     0M    17L
                                            │    -9    -14     -9     -6

CVEs

El comando docker scout cves te ofrece una vista completa de todas las vulnerabilidades en la imagen. Este comando admite varias banderas que te permiten especificar con mayor precisión qué vulnerabilidades te interesan, por ejemplo, por gravedad o tipo de paquete:

$ docker scout cves --format only-packages --only-vuln-packages \
  --only-severity critical postgres:13.1
    ✓ SBOM of image already cached, 187 packages indexed
    ✗ Detected 10 vulnerable packages with a total of 17 vulnerabilities

     Name            Version         Type        Vulnerabilities
  dpkg        1.19.7                 deb      1C     0H     0M     0L
  glibc       2.28-10                deb      4C     0H     0M     0L
  gnutls28    3.6.7-4+deb10u6        deb      2C     0H     0M     0L
  libbsd      0.9.1-2                deb      1C     0H     0M     0L
  libksba     1.3.5-2                deb      2C     0H     0M     0L
  libtasn1-6  4.13-3                 deb      1C     0H     0M     0L
  lz4         1.8.3-1                deb      1C     0H     0M     0L
  openldap    2.4.47+dfsg-3+deb10u5  deb      1C     0H     0M     0L
  openssl     1.1.1d-0+deb10u4       deb      3C     0H     0M     0L
  zlib        1:1.2.11.dfsg-1        deb      1C     0H     0M     0L

Para obtener más información sobre estos comandos y cómo utilizarlos, consulta la documentación de referencia de la CLI:

Evaluación de la gravedad de las vulnerabilidades

Docker Scout asigna una calificación de gravedad a las vulnerabilidades basándose en los datos de vulnerabilidad de las fuentes de avisos. Los avisos se clasifican y priorizan según el tipo de paquete afectado por una vulnerabilidad. Por ejemplo, si una vulnerabilidad afecta a un paquete del sistema operativo, se prioriza el nivel de gravedad asignado por el mantenedor de la distribución.

Si la fuente de avisos preferida ha asignado una calificación de gravedad a un CVE, pero no una puntuación CVSS, Docker Scout recurre a mostrar una puntuación CVSS de otra fuente. La calificación de gravedad del aviso preferido y la puntuación CVSS del aviso de respaldo se muestran juntas. Esto significa que una vulnerabilidad puede tener una calificación de gravedad de LOW con una puntuación CVSS de 9.8, si el aviso preferido asigna una calificación de LOW pero ninguna puntuación CVSS, y un aviso de respaldo asigna una puntuación CVSS de 9.8.

Las vulnerabilidades que no han sido asignadas con una puntuación CVSS en ninguna fuente se clasifican como Unspecified (U).

Docker Scout no implementa un sistema propietario de métricas de vulnerabilidades. Todas las métricas se heredan de los avisos de seguridad con los que se integra Docker Scout. Los avisos pueden utilizar diferentes umbrales para clasificar las vulnerabilidades, pero la mayoría de ellos se adhieren a la especificación CVSS v3.0, que mapea las puntuaciones CVSS a las calificaciones de gravedad según la siguiente tabla:

Puntuación CVSSCalificación de gravedad
0.1 – 3.9Low (L)
4.0 – 6.9Medium (M)
7.0 – 8.9High (H)
9.0 – 10.0Critical (C)

Para obtener más información, consulta Métricas de vulnerabilidad (NIST).

Ten en cuenta que, dado el mecanismo de priorización de avisos y de respaldo descrito anteriormente, las calificaciones de gravedad mostradas en Docker Scout pueden diferir de este sistema de clasificación.

Tamaño máximo de imagen

El análisis de imágenes en la plataforma de Docker Scout, y el análisis activado por la indexación en segundo plano en Docker Desktop, tienen un límite de tamaño de archivo de imagen de 10 GB (descomprimido). Para analizar imágenes de un tamaño superior:

  • Adjunta una atestación de SBOM en el momento de la construcción. Cuando una imagen incluye una atestación de SBOM, Docker Scout la utiliza en lugar de generar una nueva, por lo que el límite de 10 GB no se aplica.
  • Alternativamente, puedes utilizar la CLI para analizar la imagen localmente. El límite de 10 GB no se aplica al utilizar la CLI. Si la imagen incluye una atestación de SBOM, la CLI la utiliza para completar el análisis de forma más rápida.