Docker Scout

Intermedio
Docker
Docker
Actualizado: 13/08/2025

¡Desbloquea el curso de Docker completo!

IA
Ejercicios
Certificado
Entrar

Mira la lección en vídeo

Accede al vídeo completo de esta lección y a más contenido exclusivo con el Plan Plus.

Desbloquear Plan Plus

Escaneo de vulnerabilidades

Docker Scout es la herramienta oficial de análisis de seguridad que permite identificar vulnerabilidades y problemas de configuración en nuestras imágenes. Esta funcionalidad está integrada directamente en Docker Engine y proporciona información detallada sobre CVEs (Common Vulnerabilities and Exposures) presentes en los componentes de nuestras imágenes.

Docker Scout requiere instalación por separado, ya que no viene por defecto cuando instalamos Docker Desktop o Docker Engine. Se puede instalar desde la documentación oficial de Docker Scout.

Vista rápida de vulnerabilidades

El comando más básico para obtener una visión general de las vulnerabilidades es docker scout quickview. Este comando analiza la imagen y muestra un resumen de los problemas encontrados:

docker scout quickview nginx:latest

La salida incluye información sobre:

  • Número total de vulnerabilidades detectadas
  • Distribución por severidad (críticas, altas, medias, bajas)
  • Estado de las bases de datos de vulnerabilidades utilizadas
  • Tiempo de análisis y fecha del último escaneo

Análisis detallado de CVEs

Para obtener información más específica sobre las vulnerabilidades encontradas, utilizamos el comando docker scout cves:

docker scout cves nginx:latest

Este comando proporciona detalles completos sobre cada vulnerabilidad:

# Análisis de una imagen específica con formato detallado
docker scout cves --format sarif nginx:latest

# Filtrar por severidad específica
docker scout cves --only-severity critical,high nginx:latest

La información incluye para cada CVE:

  • Identificador CVE y descripción del problema
  • Puntuación CVSS y nivel de severidad
  • Paquetes afectados y versiones vulnerables
  • Versiones corregidas disponibles
  • Enlaces a referencias y documentación adicional

Filtrado y formato de resultados

Docker Scout ofrece múltiples opciones para personalizar la salida del análisis:

1 - Filtrar por severidad específica:

# Solo vulnerabilidades críticas
docker scout cves --only-severity critical mysql:8.0

# Múltiples niveles de severidad
docker scout cves --only-severity critical,high postgresql:15

2 - Excluir vulnerabilidades por ID:

# Ignorar CVEs específicos conocidos
docker scout cves --ignore-cve CVE-2023-12345,CVE-2023-67890 nginx:latest

3 - Formato de salida estructurada:

# Formato SARIF para integración con herramientas
docker scout cves --format sarif nginx:latest

# Formato JSON para procesamiento programático
docker scout cves --format json nginx:latest > vulnerabilities.json

Comparación entre imágenes

Una funcionalidad especialmente útil es la comparación de vulnerabilidades entre diferentes versiones de imágenes:

# Comparar dos versiones de la misma imagen
docker scout compare nginx:1.24 --to nginx:1.25

Esta comparación muestra:

  • Vulnerabilidades añadidas en la versión más reciente
  • Vulnerabilidades corregidas respecto a la versión anterior
  • Cambios en la superficie de ataque general
  • Recomendaciones de actualización basadas en el análisis

Análisis de imágenes locales

Docker Scout puede analizar tanto imágenes remotas como imágenes construidas localmente:

# Analizar imagen construida localmente
docker build -t mi-app:latest .
docker scout cves mi-app:latest

# Análisis inmediato después del build
docker build -t mi-app:latest . && docker scout quickview mi-app:latest

Integración con el flujo de trabajo

Para incorporar el análisis de seguridad en nuestro flujo de desarrollo, podemos combinar Scout con otros comandos Docker:

# Script básico de validación de seguridad
#!/bin/bash
echo "Construyendo imagen..."
docker build -t mi-app:latest .

echo "Analizando vulnerabilidades..."
docker scout cves mi-app:latest --only-severity critical,high

echo "Vista rápida del estado de seguridad..."
docker scout quickview mi-app:latest

El análisis de vulnerabilidades con Docker Scout proporciona información accionable que permite tomar decisiones informadas sobre la seguridad de nuestras aplicaciones antes de desplegarlas en producción.

SBOM y recomendaciones

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

Docker Scout no solo identifica vulnerabilidades, sino que también proporciona un análisis completo de la composición de nuestras imágenes mediante SBOM (Software Bill of Materials) y ofrece recomendaciones específicas para mejorar la seguridad.

Generación de SBOM

El Software Bill of Materials es un inventario detallado de todos los componentes, bibliotecas y dependencias presentes en una imagen. Docker Scout genera automáticamente este inventario durante el análisis:

# Generar SBOM de una imagen
docker scout sbom nginx:latest

La salida del SBOM incluye información detallada sobre:

  • Paquetes del sistema operativo instalados y sus versiones
  • Bibliotecas y dependencias de aplicaciones
  • Archivos ejecutables y sus metadatos
  • Licencias de software asociadas a cada componente
  • Procedencia de los paquetes y sus fuentes

Formato y exportación de SBOM

Docker Scout permite generar el SBOM en diferentes formatos estándar para facilitar su integración con otras herramientas:

1 - Formato SPDX (Software Package Data Exchange):

# SBOM en formato SPDX-JSON
docker scout sbom --format spdx nginx:latest > nginx-sbom.spdx.json

2 - Formato CycloneDX:

# SBOM en formato CycloneDX
docker scout sbom --format cyclonedx nginx:latest > nginx-sbom.json

3 - Formato de texto legible:

# SBOM en formato de texto para revisión manual
docker scout sbom --format text nginx:latest

Análisis de licencias

El SBOM también proporciona información sobre las licencias de software presentes en la imagen, lo cual es fundamental para el cumplimiento legal:

# Análisis de licencias con SBOM
docker scout sbom --format spdx mysql:8.0 | grep -i license

Esta información permite identificar:

  • Tipos de licencias utilizadas por los componentes
  • Compatibilidad entre licencias diferentes
  • Restricciones de uso impuestas por ciertas licencias
  • Componentes con licencias problemáticas para uso comercial

Recomendaciones de remediación

Docker Scout analiza las vulnerabilidades encontradas y proporciona recomendaciones específicas para solucionarlas:

# Obtener recomendaciones detalladas
docker scout recommendations nginx:latest

Las recomendaciones incluyen:

  • Actualizaciones de paquetes que corrigen vulnerabilidades específicas
  • Cambios de imagen base a versiones más seguras
  • Eliminación de paquetes innecesarios que amplían la superficie de ataque
  • Configuraciones de seguridad recomendadas

Recomendaciones por categoría

Las sugerencias de Scout se organizan en diferentes categorías de mejora:

1 - Actualizaciones críticas:

# Ver solo recomendaciones críticas
docker scout recommendations --only-severity critical postgresql:15

2 - Optimizaciones de imagen:

# Recomendaciones para reducir el tamaño y mejorar seguridad
docker scout recommendations --include-packages mysql:8.0

3 - Mejores prácticas:

# Sugerencias de configuración y buenas prácticas
docker scout recommendations --format detailed nginx:latest

Aplicación práctica de recomendaciones

Un flujo típico para aplicar las recomendaciones sería:

# 1. Analizar imagen actual
docker scout cves mi-app:v1.0 --only-severity high,critical

# 2. Obtener recomendaciones específicas
docker scout recommendations mi-app:v1.0

# 3. Generar SBOM para documentar estado actual
docker scout sbom --format spdx mi-app:v1.0 > app-v1.0-sbom.json

# 4. Después de aplicar cambios, comparar mejoras
docker scout compare mi-app:v1.0 --to mi-app:v1.1

Integración del SBOM en el ciclo de desarrollo

El SBOM generado por Scout puede utilizarse para documentar y rastrear los componentes de nuestras aplicaciones:

# Script para documentar releases con SBOM
#!/bin/bash
VERSION=$1
IMAGE="mi-app:$VERSION"

echo "Generando SBOM para $IMAGE"
docker scout sbom --format spdx $IMAGE > "sbom-$VERSION.spdx.json"

echo "Analizando recomendaciones..."
docker scout recommendations $IMAGE > "recommendations-$VERSION.txt"

echo "Documentación generada para $IMAGE"

Interpretación de las recomendaciones

Las recomendaciones de Scout incluyen información accionable con diferentes niveles de prioridad:

  • Recomendaciones inmediatas: Actualizaciones que corrigen vulnerabilidades críticas
  • Mejoras a medio plazo: Optimizaciones que reducen la superficie de ataque
  • Consideraciones a largo plazo: Cambios arquitectónicos para mejorar la seguridad general

La combinación de SBOM detallado y recomendaciones específicas permite mantener un control exhaustivo sobre la composición y seguridad de nuestras imágenes Docker, facilitando tanto el cumplimiento de políticas de seguridad como la trazabilidad completa de componentes.

Aprendizajes de esta lección de Docker

  • Comprender el propósito y funcionalidades principales de Docker Scout para el análisis de seguridad.
  • Aprender a realizar escaneos rápidos y detallados de vulnerabilidades en imágenes Docker.
  • Conocer cómo generar y utilizar SBOM para documentar la composición de las imágenes.
  • Aplicar filtros y formatos para personalizar los informes de vulnerabilidades.
  • Interpretar y aplicar recomendaciones para mejorar la seguridad y cumplimiento legal de las imágenes Docker.

Completa este curso de Docker y certifícate

Únete a nuestra plataforma de cursos de programación y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración