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.
NoteDebes 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:
- Ve a la Configuración de repositorios en el Panel de Docker Scout.
- Selecciona los repositorios que quieras activar.
- 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.
NoteEl 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.
Inicia sesión con tu Docker ID, ya sea usando el comando
docker logino el botón Sign in en Docker Desktop.Construye y sube la imagen que quieras analizar.
$ docker build --push --tag <org>/<image:tag> --provenance=true --sbom=true .Construir con las banderas
--provenance=truey--sbom=trueadjunta atestaciones de construcción a la imagen. Docker Scout utiliza atestaciones para proporcionar resultados de análisis más detallados.NoteEl controlador
dockerpredeterminado únicamente admite atestaciones de construcción si utilizas el almacenamiento de imágenes containerd.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
NoteLa 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:
Descarga o construye la imagen que quieras analizar.
Ve a la vista Images en el Panel de Docker.
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 Quickviewdocker scout cves: análisis local de la imagen especificada, consulta CVEsdocker 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 CVSS | Calificación de gravedad |
|---|---|
| 0.1 – 3.9 | Low (L) |
| 4.0 – 6.9 | Medium (M) |
| 7.0 – 8.9 | High (H) |
| 9.0 – 10.0 | Critical (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.