Sitemap

Segurança em Imagens Docker: Como Segredos Podem Ficar Expostos e Ferramentas Essenciais para AppSec

3 min readMay 24, 2025
Press enter or click to view image in full size

A containerização com Docker se tornou padrão em ambientes modernos de desenvolvimento e operações. No entanto, ao mesmo tempo em que oferece agilidade, também introduz riscos significativos de segurança que não podem ser ignorados.

Durante meus estudos em Application Security (AppSec), me aprofundei em um problema crítico: segredos e dados sensíveis ocultos nas camadas intermediárias de imagens Docker. Este artigo reúne os principais aprendizados sobre esse tema e destaca ferramentas práticas que ajudam a evitar esse tipo de exposição.

⚠️ Camadas Docker: Um Perigo Invisível

Cada instrução no Dockerfile (RUN, COPY, ADD, etc.) cria uma nova camada na imagem. Um erro comum é assumir que remover um arquivo sensível em uma camada posterior realmente o elimina da imagem. Isso não acontece.

As camadas anteriores continuam intactas, e qualquer arquivo que tenha sido incluído nelas ainda pode ser acessado, mesmo que tenha sido “removido” mais adiante.

Segundo Dana Epp, mais de 66% dos segredos encontrados em imagens Docker estavam escondidos em camadas intermediárias.

🔍 Dive: Inspecionando Camada por Camada

O Dive é uma ferramenta open source que permite explorar todas as camadas de uma imagem Docker.

Com o Dive você pode:

  • Visualizar quais arquivos foram adicionados, modificados ou excluídos em cada camada;
  • Verificar o impacto de cada instrução do Dockerfile;
  • Avaliar a eficiência da imagem, detectando dados inúteis;
  • Navegar por um modo interativo via terminal ou GUI (extensão Docker Desktop).

Essa ferramenta se mostrou essencial durante meus estudos. É intuitiva, poderosa e direta ao ponto.

🛠️ Outras Ferramentas Complementares

Além do Dive, outras ferramentas podem fortalecer a segurança na construção de imagens Docker. Abaixo, listo algumas que testei e recomendo:

🔐 Trivy

Scanner rápido e eficiente que detecta:

  • Vulnerabilidades em pacotes;
  • Segredos vazados;
  • Configurações incorretas.

🧹 Dockle

Faz linting de imagens Docker e alerta sobre:

  • Boas práticas de segurança;
  • Permissões incorretas;
  • Falta de usuários não-root, entre outros.

🧪 Hadolint

Analisa o Dockerfile e previne instruções perigosas ou ineficientes antes da build.

🔎 Docker Scout

Incluído no Docker Desktop, analisa vulnerabilidades em tempo real e sugere ações corretivas.

🧬 Snyk Container

Scanner integrado com CI/CD que aponta vulnerabilidades e oferece correções automáticas.

✅ Boas Práticas de Segurança em Imagens Docker

Com base na prática e estudo com essas ferramentas, recomendo:

  • 🔁 Use build multi-stage para separar o ambiente de build do ambiente de produção;
  • 🙅‍♂️ Evite copiar segredos para dentro da imagem, mesmo que temporariamente;
  • 🔎 Sempre analise a imagem antes de publicá-la;
  • 🔐 Integre scanners como Trivy e Snyk no pipeline de CI/CD;
  • 🧼 Use imagens base minimalistas (como Alpine ou Distroless);
  • 🛠️ Atualize imagens frequentemente para evitar vulnerabilidades conhecidas.

🎯 Conclusão

A segurança de aplicações começa na base, e no mundo dos contêineres, isso significa a imagem Docker.

Como profissional de AppSec, entender como essas imagens são construídas e como segredos podem escapar acidentalmente é essencial. Ferramentas como Dive, Trivy e Hadolint são aliadas indispensáveis para identificar riscos antes que eles cheguem à produção.

--

--

Fernando Silva
Fernando Silva

Written by Fernando Silva

Application Security Engineer | OWASP Chapter Leader | AppSec | MSc CyberSecurity | Systems Development Analyst

No responses yet