Skip to main content

Escaneo de imágenes de contenedor ARM con Snyk

Escrito por
container scans

1 de octubre de 2020

0 minutos de lectura

Los sistemas basados en ARM son cada vez más populares entre los desarrolladores, tanto para casos de uso de edge e IoT como para algunos usos de servidor, por ejemplo, las instancias Amazon EC2 con AWS Graviton. Docker ofrece un conjunto de herramientas cada vez más flexible para crear imágenes de contenedor para varias arquitecturas. Pero ¿cómo sabes si esas imágenes son seguras?

Ayudamos a los desarrolladores de ARM a proteger sus contenedores

Hoy, Snyk permite escanear imágenes de Docker creadas para ARM (o, de hecho, para cualquier otra plataforma). Si la etiqueta en cuestión se creó solo para ARM, basta con apuntar la CLI de Snyk a la imagen como de costumbre:

snyk container test arm64v8/debian

Sin embargo, algunas imágenes de Docker admiten varias plataformas mediante listas de manifiestos. Puedes obtener más información sobre cómo se crean y publican desde Docker.

Página de Docker Hub para la etiqueta más reciente de la imagen de Debian, con una lista de sistemas operativos Linux y arquitecturas, junto con sus tamaños comprimidos.
Docker Hub muestra el sistema operativo y la arquitectura de una etiqueta

Si tienes una imagen como la anterior, puedes especificar explícitamente la plataforma que quieres probar con la marca --platform. Este es un ejemplo de cómo usarla para probar la imagen debian de Docker Hub:

$ snyk container test --platform=linux/arm64 debian
…
✗ Medium severity vulnerability found in gcc-8/libstdc++6
  Description: Information Exposure
  Info: https://snyk.io/vuln/SNYK-DEBIAN10-GCC8-347558
  Introduced through: gcc-8/libstdc++6@8.3.0-6, apt@1.8.2.1, meta-common-packages@meta
  From: gcc-8/libstdc++6@8.3.0-6
  From: apt@1.8.2.1 > gcc-8/libstdc++6@8.3.0-6
  From: apt@1.8.2.1 > apt/libapt-pkg5.0@1.8.2.1 > gcc-8/libstdc++6@8.3.0-6
  and 2 more...

✗ High severity vulnerability found in gnutls28/libgnutls30
  Description: Out-of-bounds Write
  Info: https://snyk.io/vuln/SNYK-DEBIAN10-GNUTLS28-609778
  Introduced through: gnutls28/libgnutls30@3.6.7-4+deb10u5, apt@1.8.2.1
  From: gnutls28/libgnutls30@3.6.7-4+deb10u5
  From: apt@1.8.2.1 > gnutls28/libgnutls30@3.6.7-4+deb10u5
Organization:      garethr
Package manager:   deb
Project name:      docker-image|debian
Docker image:      debian
Licenses:          enabled

Tested 92 dependencies for known issues, found 54 issues.

Uso de la información de la plataforma en Snyk

La información de la plataforma también está disponible en la página del proyecto de Snyk si importas imágenes ARM desde un registro de contenedores como ACR, Docker Hub, ECR o GCR, o agregas una imagen para que Snyk le dé seguimiento mediante snyk container monitor. Puedes ver la plataforma en los metadatos del proyecto.

Captura de pantalla de una página de detalles de un proyecto de software que muestra Docker Hub como origen, Debian 10 como sistema operativo de destino y Linux/ARM64 como plataforma

La información de la plataforma también está disponible para los clientes en la API de Snyk. Cada vez que recuperes un proyecto de imagen de contenedor, deberías ver el atributo imagePlatform, que contiene la plataforma.

Captura de pantalla que muestra el campo de plataforma de imagen para proyectos de Docker, con el valor "linux/arm64".

Próximos pasos

En Snyk, nos interesa mucho ver cómo los desarrolladores adoptan la plataforma ARM en los próximos años, y buscaremos más formas de ayudarles a crear imágenes de Docker seguras, sin importar para qué plataforma elijan crear.

Puedes probar la nueva funcionalidad ARM que se muestra arriba descargando la versión más reciente de la CLI de Snyk.

Empieza con Capture the Flag

Aprende a resolver desafíos de Capture the Flag viendo nuestro taller virtual introductorio a pedido.