Skip to main content

Verificando imagens de contêiner ARM com o Snyk

Escrito por
container scans

1 de outubro de 2020

0 minutos de leitura

Os sistemas baseados em ARM estão cada vez mais populares entre desenvolvedores, tanto para casos de uso de edge e IoT quanto para algumas aplicações em servidores, como as instâncias AWS Graviton Amazon EC2. O Docker oferece um conjunto de ferramentas cada vez mais flexível para criar imagens de contêiner para várias arquiteturas. Mas como saber se essas imagens são seguras?

Ajudando desenvolvedores ARM a proteger seus contêineres

Hoje, o Snyk oferece suporte à verificação de imagens Docker criadas para ARM (ou, na verdade, para qualquer outra plataforma). Se a tag em questão for criada somente para ARM, basta apontar a CLI do Snyk para a imagem como de costume:

snyk container test arm64v8/debian

Mas algumas imagens Docker são compatíveis com várias plataformas e usam listas de manifestos. Saiba mais sobre como elas são criadas e publicadas pelo Docker.

Página do Docker Hub para a tag mais recente da imagem Debian, listando sistemas operacionais Linux e arquiteturas com tamanhos compactados.
Docker Hub exibindo o sistema operacional e a arquitetura de uma tag

Quando você tem uma imagem como a acima, pode especificar explicitamente a plataforma que quer testar usando a flag --platform. Veja um exemplo de como usá-la para testar a imagem debian do 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.

Como usar informações da plataforma no Snyk

As informações da plataforma também estão disponíveis na página do projeto do Snyk se você importar imagens ARM de um registro de contêiner, como ACR, Docker Hub, ECR ou GCR, ou adicionar uma imagem para ser monitorada pelo Snyk usando snyk container monitor. Você pode ver a plataforma nos metadados do projeto.

Captura de tela de uma página de detalhes de um projeto de software que mostra o Docker Hub como origem, Debian 10 como sistema operacional de destino e Linux/ARM64 como plataforma

As informações da plataforma também estão disponíveis para clientes na API do Snyk. Sempre que você recuperar um projeto de imagem de contêiner, verá o atributo imagePlatform com a plataforma.

Captura de tela mostrando um campo de plataforma de imagem para projetos Docker, com o valor "linux/arm64".

Próximas etapas

Na Snyk, queremos muito ver como os desenvolvedores vão adotar a plataforma ARM nos próximos anos. Também vamos buscar novas maneiras de ajudar você a criar imagens Docker seguras, independentemente da plataforma escolhida.

Você pode experimentar a nova funcionalidade para ARM mostrada acima baixando a versão mais recente da CLI do Snyk.

Comece a participar de desafios de Capture the Flag

Aprenda a resolver desafios de Capture the Flag assistindo sob demanda ao nosso workshop virtual introdutório.