programa
La historia es más o menos así: Has creado tu imagen de Docker, la has etiquetado y la has implementado. Todo parece ir bien hasta que tu equipo de seguridad detecta vulnerabilidades en un paquete que ni siquiera sabías que existía. O peor aún, el departamento de cumplimiento normativo te solicita una lista de materiales de software (SBOM) y te preguntas cómo averiguar qué dependencias se incluyen con tus imágenes. Las imágenes de contenedores pueden ser cajas negras, y eso es un problema cuando eres responsable de lo que se ejecuta en producción.
Docker Scout te ofrece visibilidad sobre tus imágenes de contenedor, ya que las analiza en busca de vulnerabilidades y genera SBOM automáticamente. Está integrado en Docker, por lo que no es necesario instalar ni aprender a usar ninguna herramienta adicional.
En esta guía, te mostraré cómo escanear imágenes con Docker Scout y comprender los informes de vulnerabilidad que genera, para que sepas cuándo tiene sentido utilizarlo.
Si eres nuevo en Docker, consulta nuestro artículosobre los 18 comandos principales de Docker. Estote pondrá en el programa correcto para crear, ejecutar y administrar contenedores.
¿Qué es Docker Scout?
Docker Scout es la herramienta nativa de análisis de imágenes de Docker que escanea las imágenes de tus contenedores en busca de vulnerabilidades y genera listas de materiales de software (SBOM).
Analiza todo lo que hay dentro de tu imagen, desde los paquetes del sistema operativo base y las dependencias específicas del idioma hasta las bibliotecas de aplicaciones. A continuación, los compara con bases de datos de vulnerabilidades conocidas. Recibirás un informe que muestra qué paquetes tienen problemas de seguridad, cuál es su gravedad y qué versiones los solucionarían.
Así que, en lugar de utilizar escáneres de terceros o esperar a que los equipos de seguridad detecten problemas tras la implementación, puedes escanear las imágenes justo donde las creas. Scout se ejecuta en Docker Desktop, a través de la CLI, y se integra con Docker Hub.
Así es como encaja en el ecosistema de Docker: Docker crea y ejecuta tus contenedores, Docker Hub los almacena y Docker Scout te dice qué hay dentro de ellos. Es importante recordar que ahora forma parte de la plataforma, no es un complemento independiente.
Docker Scout sustituye al antiguo comando « docker scan », que se basaba en el motor de análisis de Snyk. Scout utiliza la propia base de datos de vulnerabilidades de Docker y te ofrece un mayor control sobre el proceso de análisis. Si todavía utilizas docker scan, ten en cuenta que está obsoleto: Scout es su sustituto oficial y ya está disponible en las últimas versiones de Docker Desktop.
Instalación y activación de Docker Scout
Docker Scout viene integrado en Docker Desktop 4.17 y versiones posteriores, por lo que, si utilizas una versión reciente, ya lo tienes.
Funciona a través de la CLI de Docker y aparece en la GUI de Docker Desktop. Si utilizas Docker Desktop, Scout está habilitado de forma predeterminada, por lo que puedes empezar a escanear imágenes inmediatamente.
Para comprobar si Scout está disponible en tu sistema, ejecuta este comando:
docker scout version
Verás un resultado que muestra la versión de la CLI de Scout y el estado del complemento.

Versión Docker Scout
Si el comando funciona, ya estás listo para escanear imágenes.
Si aparece el error «comando no encontrado», significa que tu versión de Docker es demasiado antigua. Actualiza Docker Desktop a la última versión para poder acceder a Docker Scout.
Escanear una imagen con Docker Scout
Para ejecutar el análisis basta con un solo comando, y esa es la parte fácil. Lo que a veces puede resultar difícil es entender lo que Scout encuentra.
Analizar una imagen
Puedes ejecutar este comando para escanear una imagen local pasando su nombre o ID a Docker Scout:
docker scout cves python:3.14
Scout analiza las capas de la imagen, extrae la información del paquete y comprueba si hay vulnerabilidades conocidas. El escaneo finaliza en 30 segundos para la mayoría de las imágenes.

Resultados del análisis de la imagen de Python 3.14
También puedes escanear imágenes que aún no están en tu equipo:
docker scout cves postgres:18.1
Scout extrae los metadatos del registro sin descargar la imagen completa. Esto te permite comprobar las imágenes antes de descargarlas localmente.

Resultados del análisis de la imagen Postgres 18.1
Durante el análisis, Scout descomprime cada capa, identifica los paquetes instalados y las dependencias, y luego compara todo con su base de datos de vulnerabilidades. Realiza un seguimiento de los paquetes del sistema operativo base (como los paquetes de apt en imágenes basadas en Ubuntu) y las dependencias específicas del lenguaje (como los paquetes de Python o los módulos Node).
Comprender el resultado
Explora las vulnerabilidades de los grupos por gravedad: Crítico, Alto, Medioy Bajo.
Las vulnerabilidades críticas y altas requieren atención prioritaria. Se trata de problemas que se explotan activamente o errores graves que podrían comprometer tu sistema. Los problemas de gravedad media son importantes, pero rara vez requieren soluciones inmediatas. Las vulnerabilidades de baja gravedad merecen ser programadas, pero no suelen bloquear las implementaciones.
Cada vulnerabilidad muestra qué paquete contiene el problema. Verás un resultado como este si te desplazas por el informe:

Informe de vulnerabilidad
Esto te indica exactamente qué es lo que es vulnerable (openssl), qué versión estás utilizando y qué versión lo soluciona. Scout también incluye enlaces a los detalles del CVE para que puedas leer tú mismo la información sobre la vulnerabilidad.
La atribución del paquete muestra de dónde provienen las vulnerabilidades: paquetes de imagen base, dependencias de aplicaciones o bibliotecas del sistema. Esto te ayuda a decidir si actualizar la imagen base, actualizar una dependencia en tu código o esperar a que se solucione el problema en el origen.
Uso de Docker Scout para generar y ver SBOM
Una lista de materiales de software (SBOM) es un inventario completo de todo lo que contiene la imagen de tu contenedor: todos los paquetes, bibliotecas y dependencias.
Te indica exactamente qué elementos se han incluido en tu imagen, incluyendo los números de versión específicos. Los equipos de seguridad utilizan los SBOM para realizar un seguimiento de lo que se está ejecutando en producción, y los marcos de cumplimiento normativo a menudo los exigen.
Docker Scout genera SBOM automáticamente cuando escaneas una imagen utilizando los comandos que mostré en la sección anterior. Solo para reiterar:
docker scout sbom postgres:18.1
Esto muestra la lista completa de paquetes en tu terminal. Scout analiza las capas de la imagen y extrae los metadatos del paquete, luego los formatea como una SBOM que puedes guardar o compartir.
Puedes exportar el SBOM a un archivo en lugar de imprimirlo en la pantalla:
docker scout sbom postgres:18.1 --format spdx > postgres-sbom.json

Informe SBOM SPDX
Scout admite dos formatos SBOM estándar: SPDX (Intercambio de datos de paquetes de software) y CycloneDX. Ambos son estándares ampliamente utilizados en la industria. SPDX funciona bien para revisiones legales y de cumplimiento normativo, mientras que CycloneDX se centra en casos de uso relacionados con la seguridad y el seguimiento de vulnerabilidades.
Puedes cambiar entre formatos con el indicador « --format »:
docker scout sbom postgres:18.1 --format cyclonedx > postgres-sbom.json

Informe SBOX CycloneDX
Una vez que tengas un archivo SBOM, podrás compartirlo con los equipos de seguridad, introducirlo en otras herramientas de análisis o archivarlo para auditorías de cumplimiento normativo.
Encontrar y comprender las CVE con Docker Scout
Docker Scout encuentra vulnerabilidades comparando los paquetes de tu imagen con una base de datos de problemas de seguridad conocidos.
Cuando ejecutas docker scout cves, Scout extrae todos los paquetes de tu imagen (paquetes del sistema operativo, bibliotecas de idiomas, dependencias de aplicaciones) y luego comprueba cada uno de ellos con los registros de vulnerabilidades y exposiciones comunes (CVE). Un CVE es una vulnerabilidad de seguridad divulgada públicamente con un identificador único, como CVE-2024-1234.
Scout obtiene datos CVE de múltiples fuentes:
- La Base de Datos Nacional de Vulnerabilidades (NVD)
- Avisos de seguridad de las distribuciones Linux
- Bases de datos de seguridad específicas para Python, Node.js, Go y otros ecosistemas.
Esto significa que Scout puede detectar vulnerabilidades tanto en los paquetes del sistema operativo de tu imagen base como en las dependencias de tu aplicación.
Dicho esto, es importante que recuerdes que el análisis funciona de manera diferente dependiendo de dónde se encuentre tu imagen.
- Para las imágenes locales (las que hayas creado o descargado en tu máquina), Scout lee las capas de la imagen directamente desde tu demonio Docker. Descomprime cada capa, identifica los paquetes y ejecuta la comprobación de vulnerabilidades de forma local. Es rápido y no requiere acceso a la red para acceder a la imagen.
- Para imágenes remotas en Docker Hub u otros registros, Scout obtiene el manifiesto de la imagen y los metadatos de la capa sin descargar la imagen completa. Esto te permite escanear imágenes antes de descargarlas. Los datos sobre vulnerabilidades siguen procediendo de la base de datos de Scout, pero el análisis de imágenes se realiza con respecto a los metadatos del registro.
Ambos métodos proporcionan la misma información sobre vulnerabilidades. Solo se diferencian en el lugar desde donde Scout lee los datos de la imagen.
Guía de remediación y recomendaciones sobre la imagen base
Cuando Scout encuentra una vulnerabilidad con un parche disponible, te muestra la versión exacta que soluciona el problema. Verás un resultado similar a «Corregido en: 1.2.3» junto a cada CVE. Esto es lo que debes saber para saber si necesitas actualizar un paquete, reconstruir tu imagen con una base más reciente o esperar a que se solucione el problema en el origen.
Scout también recomienda actualizaciones de la imagen base, ya que cambiar a una base más reciente eliminaría las vulnerabilidades. Si utilizas python:3.13 y Scout encuentra problemas en los paquetes del sistema operativo base, es posible que te sugiera actualizar a python:3.14 o incluso a una versión de parche más específica.
Estas recomendaciones aparecen cuando Scout detecta que una etiqueta de imagen base diferente tiene menos vulnerabilidades que la actual. Las sugerencias son viables: puedes copiar literalmente la nueva etiqueta en tu Dockerfile y volver a compilar.
Entonces, ¿por qué es importante esto?
Tu imagen base contiene los paquetes del sistema operativo, las bibliotecas del sistema y los entornos de ejecución de lenguajes de los que depende todo lo demás. Una imagen base vulnerable significa que todos los contenedores que crees a partir de ella heredarán esas vulnerabilidades. Cuando eliges una imagen base mínima y mantenida activamente, reduces las opciones de ataque.
Las imágenes oficiales de Docker Hub reciben actualizaciones de seguridad periódicas, pero aún así es necesario reconstruir las imágenes para incorporar esas correcciones. Por ejemplo, si hoy ejecutas python:3.13, obtendrás paquetes diferentes a los que obtendrías si lo hubieras hecho hace seis meses.
Uso de Docker Scout en CI/CD
Los equipos integran Docker Scout en los procesos de integración continua (CI) para detectar vulnerabilidades antes de que las imágenes lleguen a producción.
La idea es sencilla: escanear todas las imágenes como parte del proceso de compilación y, si se detectan vulnerabilidades críticas, rechazar la compilación. Encuentras los problemas durante el desarrollo, en lugar de después de la implementación. La mayoría de los equipos configuran Scout para que se ejecute automáticamente cada vez que alguien envía un nuevo Dockerfile o actualiza una imagen base.
Las tuberías suelen comprobar dos cosas:
- Regresiones de vulnerabilidad: comparan tu nueva imagen con la versión anterior. Si la nueva compilación introduce más vulnerabilidades críticas o altas que la anterior, el proceso falla. Esto evita que accidentalmente envíes una seguridad peor que la que ya está en funcionamiento.
- Desviación de políticas: verifican que tu imagen cumpla con los estándares de seguridad. Es posible que tengas una política que diga «no se permiten CVE críticos» o «las imágenes base deben tener menos de 30 días». Scout puede aplicar estas reglas automáticamente en tu flujo de trabajo de CI.
La integración con GitHub Actions, GitLab CI o Jenkins funciona de la misma manera conceptualmente. Creas tu imagen, ejecutas docker scout cves en ella, analizas los resultados y decides si aprobar o rechazar el proceso según tus criterios. Algunos equipos integran Scout en sus flujos de trabajo de registro de contenedores para escanear imágenes justo después de que se envíen.
Docker Scout frente a Otros escáneres de imágenes
Docker Scout no es la única herramienta que tienes a tu disposición. Compite con herramientas como Trivy y Snyk, pero cada una de ellas se centra en flujos de trabajo diferentes.
- Trivy es un escáner de código abierto que funciona en cualquier lugar, desde máquinas locales y canalizaciones de CI hasta clústeres de Kubernetes. Escanea imágenes de contenedores, sistemas de archivos y repositorios Git. Trivy te ofrece más flexibilidad en cuanto al lugar y la forma de escanear, y no necesitas una cuenta de Docker para utilizarlo. Piensa en él como un escáner autónomo que funciona independientemente del ecosistema de Docker.
- Snyk se centra en los flujos de trabajo de los programadores y se integra profundamente con IDE, GitHub y otras herramientas de desarrollo. Además de los contenedores, escanea las dependencias de las aplicaciones, la infraestructura como código y el código fuente. Snyk también te ofrece orientación detallada sobre cómo solucionar los problemas y puede abrir solicitudes de extracción para corregir las vulnerabilidades. Si necesitas cobertura de seguridad en toda tu pila, no solo en los contenedores, Snyk es una opción razonable.
- Docker Scout funciona mejor cuando ya utilizas Docker Desktop y Docker Hub. La integración es nativa, no hay que realizar ninguna configuración adicional, no hay que gestionar claves API ni aprender a utilizar herramientas independientes. Scout escanea las imágenes enviadas a Docker Hub, y la CLI forma parte de tu instalación de Docker.
Elige Docker Scout si tu equipo crea y ejecuta contenedores con herramientas Docker y deseas visibilidad de seguridad sin añadir complejidad. Elige Trivy si necesitas una opción flexible y de código abierto que funcione en cualquier lugar. Elige Snyk si deseas seguridad completa en contenedores, código e infraestructura con correcciones automatizadas.
Limitaciones comunes y cosas que debes saber
Docker Scout analiza las imágenes de contenedores, pero no supervisa lo que ocurre después de implementarlas.
Analiza imágenes estáticas: los paquetes y archivos integrados en tu contenedor. No puede detectar problemas de tiempo de ejecución, como ataques de escalada de privilegios, intrusiones en la red o procesos maliciosos que se inician después de la implementación. Si necesitas supervisión de la seguridad en tiempo de ejecución, te interesarán herramientas como Falco o Sysdig, que supervisan el comportamiento de los contenedores en producción.
Scout tampoco sustituye a las pruebas completas SAST (pruebas estáticas de seguridad de aplicaciones) o DAST (pruebas dinámicas de seguridad de aplicaciones). Las herramientas SAST analizan tu código fuente en busca de fallos de seguridad antes de que crees nada. Las herramientas DAST prueban las aplicaciones en ejecución simulando ataques. Scout solo analiza los paquetes que se encuentran dentro de tu imagen compilada; no detecta vulnerabilidades en la lógica de tu aplicación ni errores de configuración en tu código.
Lo que Scout hace bien es ofrecerte visibilidad sobre lo que hay dentro de tus imágenes y guiarte hacia las soluciones. Te indica qué paquetes son vulnerables, qué versiones los corrigen y qué imágenes base reducen las posibilidades de ataque. Esto hace que Scout sea útil para las comprobaciones de seguridad en tiempo de compilación y el seguimiento del cumplimiento, pero necesitarás otras herramientas para cubrir todos los aspectos de seguridad.
Prácticas recomendadas para usar Docker Scout
Aquí tienes una lista de verificación que puedes utilizar para sacar el máximo partido a Docker Scout.
-
Realiza el escaneo en una fase temprana del ciclo de desarrollo. Ejecuta Scout en las imágenes durante el desarrollo local, no solo en CI o antes de la implementación. Detectar las vulnerabilidades a tiempo significa que puedes solucionarlas cuando el contexto aún está fresco y los cambios son económicos. Esperar hasta la producción significa tener que solucionar los problemas a toda prisa y bajo presión.
-
Compara imágenes a lo largo del tiempo para realizar un seguimiento de las tendencias de seguridad. Scout puede mostrarte si tu seguridad está mejorando o empeorando. Ejecuta análisis en cada compilación y compara los resultados. Si tu nueva compilación presenta más vulnerabilidades críticas que la anterior, es que algo ha cambiado, tal vez una actualización de dependencias o un cambio en la imagen base. Tienes que investigar.
-
Considera los hallazgos de Scout como señales de priorización, no como obstáculos absolutos. No todas las vulnerabilidades requieren una acción inmediata. Una vulnerabilidad CVE de baja gravedad en una dependencia de desarrollo que no utilizas en producción puede esperar. Una vulnerabilidad crítica (CVE) en un servicio expuesto públicamente requiere atención inmediata. Utiliza las clasificaciones de gravedad y el contexto del paquete de Scout para decidir qué es importante para tu implementación específica.
-
Combina Scout con la higiene de la imagen base. Elige imágenes base mínimas y mantenidas activamente, y actualízalas con regularidad. Al utilizar
python:3.14-slimen lugar depython:3.14, se eliminan los paquetes que no necesitas. La reconstrucción mensual de tus imágenes incorpora parches de seguridad en la capa base. Scout puede indicarte cuáles son los puntos vulnerables, pero elegir buenas bases evita que aparezcan muchas vulnerabilidades desde el principio.
Conclusión
Docker Scout te ofrece una forma práctica de empezar a comprender qué hay dentro de tus imágenes de contenedor.
Se adapta al desarrollo basado en Docker: no es necesario instalar herramientas adicionales ni configurar cuentas más allá de las que ya utilizas. Ejecutas un comando, obtienes informes de vulnerabilidad y ves qué paquetes necesitan actualizaciones.
Scout funciona mejor como parte de un enfoque de seguridad más amplio, no como tu única opción. Combínalo con supervisión del tiempo de ejecución, análisis del código fuente y actualizaciones periódicas de la imagen base. Úsalo para detectar vulnerabilidades durante las compilaciones y, a continuación, añade otras herramientas para cubrir lo que ocurre después de la implementación.
Si te preguntas cómo encaja Docker en los procesos de CI/CD para el machine learning, inscríbete en nuestro curso CI/CD para el machine learning. Tendrás todas las respuestas en una sola tarde.
Domina Docker y Kubernetes
Preguntas frecuentes sobre Docker Scout
¿Cómo puede Docker Scout ayudar a automatizar los análisis de vulnerabilidades en los procesos de CI/CD?
Docker Scout se integra en los procesos de CI/CD ejecutando análisis automáticamente cada vez que creas una nueva imagen. Puedes configurar tu canalización para que rechace las compilaciones que introduzcan vulnerabilidades críticas o altas, evitando así que las imágenes inseguras lleguen a la fase de producción. Scout comprueba si hay regresiones de vulnerabilidad e infracciones de políticas, para que tu equipo detecte los problemas de seguridad durante el proceso de compilación, en lugar de después de la implementación.
¿Cuáles son las principales diferencias entre Docker Scout y otras herramientas de análisis de contenedores como Trivy o Snyk?
Docker Scout está integrado en Docker y no requiere instalación adicional, lo que facilita su uso a los equipos que ya utilizan Docker Desktop y Docker Hub. Trivy es un escáner de código abierto que funciona de forma independiente y en cualquier lugar sin necesidad de cuentas Docker ni integración. Snyk ofrece una cobertura más amplia en contenedores, código fuente e infraestructura con sugerencias de soluciones automatizadas, pero requiere una suscripción y configuración independientes.
¿Cómo se integra Docker Scout con sistemas de terceros como GitHub o JFrog Artifactory?
Docker Scout se puede invocar desde GitHub Actions, GitLab CI u otras herramientas de canalización utilizando los comandos de la CLI de Docker. Ejecutas docker scout cves como parte de tu flujo de trabajo de compilación y, a continuación, analizas los resultados para decidir si aprobar o rechazar el proceso. En el caso de registros como JFrog Artifactory, puedes escanear imágenes después de que se hayan enviado haciendo referencia a ellas de forma remota, aunque la integración depende de la configuración específica de tu registro y de la autenticación.
¿Se puede utilizar Docker Scout para supervisar la seguridad de los contenedores en tiempo real?
No, Docker Scout solo analiza imágenes de contenedores estáticas, no contenedores en ejecución. Analiza el contenido de las imágenes creadas antes o después de la implementación, pero no supervisa el comportamiento en tiempo de ejecución, como la ejecución de procesos, la actividad de red o los ataques de escalada de privilegios. Para supervisar la seguridad en tiempo de ejecución, necesitas herramientas específicas como Falco o Sysdig, que vigilan el comportamiento de los contenedores en entornos de producción.
¿Cuáles son las ventajas de utilizar Docker Scout para gestionar la seguridad de la cadena de suministro de software?
Docker Scout genera listas de materiales de software (SBOM) que documentan cada paquete y dependencia de tus imágenes, lo que te proporciona una visibilidad completa de tu cadena de suministro de software. Esto ayuda a cumplir con los requisitos normativos, responder ante incidentes y realizar un seguimiento de los sistemas afectados cuando se revelan nuevas vulnerabilidades. Scout también te muestra el origen de las vulnerabilidades (imágenes base, dependencias de aplicaciones o bibliotecas del sistema) para que puedas rastrear los problemas de seguridad hasta su fuente y solucionarlos en el nivel adecuado.



