Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
dive — Uma ferramenta para explorar cada camada em uma imagem Docker. | Kitploit
Ferramentas/GitHubGitHub/wagoodman/dive
Utilitários de Propósito GeralSegurança de Contêineres
GitHubwagoodman/dive

dive

Uma ferramenta para explorar cada camada em uma imagem Docker.

Ver Repositório
54.4k2.0k72há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

dive

GitHub release Validations Go Report Card License: MIT Donate

Uma ferramenta para explorar uma imagem Docker, conteúdos de camadas e descobrir maneiras de reduzir o tamanho da sua imagem Docker/OCI.

Image

Para analisar uma imagem Docker, basta executar dive com uma tag/id/digest da imagem:

dive <your-image-tag>

ou você pode usar dive diretamente com o Docker:

alias dive="docker run -ti --rm  -v /var/run/docker.sock:/var/run/docker.sock docker.io/wagoodman/dive"
dive <your-image-tag>

# for example
dive nginx:latest

ou se você quiser construir sua imagem e ir direto para a análise:

dive build -t <some-tag> .

Construindo no macOS (suportando apenas o mecanismo de contêiner Docker):

docker run --rm -it \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -v  "$(pwd)":"$(pwd)" \
      -w "$(pwd)" \
      -v "$HOME/.dive.yaml":"$HOME/.dive.yaml" \
      docker.io/wagoodman/dive:latest build -t <some-tag> .

Além disso, você pode executar isso em seu pipeline de CI para garantir que está mantendo o espaço desperdiçado ao mínimo (isso pula a interface):

CI=true dive <your-image>

Image

Esta é uma versão beta! Sinta-se à vontade para abrir uma issue se quiser um novo recurso ou encontrar um bug :)

Basic Features

Mostrar conteúdos da imagem Docker divididos por camada

Ao selecionar uma camada à esquerda, você vê os conteúdos dessa camada combinados com todas as camadas anteriores à direita. Além disso, você pode explorar completamente a árvore de arquivos com as teclas de seta.

Indicar o que mudou em cada camada

Arquivos que foram alterados, modificados, adicionados ou removidos são indicados na árvore de arquivos. Isso pode ser ajustado para mostrar mudanças de uma camada específica ou mudanças agregadas até essa camada.

Estimar "eficiência da imagem"

O painel inferior esquerdo mostra informações básicas da camada e uma métrica experimental que estima quanto espaço desperdiçado sua imagem contém. Isso pode ser devido à duplicação de arquivos entre camadas, movimentação de arquivos entre camadas ou remoção incompleta de arquivos. Tanto uma 'pontuação' percentual quanto o espaço total desperdiçado são fornecidos.

Ciclos rápidos de construção/análise

Você pode construir uma imagem Docker e fazer uma análise imediata com um comando: dive build -t some-tag .

Você só precisa substituir seu comando docker build pelo mesmo comando dive build.

Integração CI

Analise uma imagem e obtenha um resultado de aprovação/reprovação baseado na eficiência da imagem e espaço desperdiçado. Basta definir CI=true no ambiente ao invocar qualquer comando dive válido.

Múltiplas Fontes de Imagem e Mecanismos de Contêiner Suportados

Com a opção --source, você pode selecionar de onde buscar a imagem do contêiner:

dive <your-image> --source <source>

ou

dive <source>://<your-image>

Com opções source válidas como:

  • docker: mecanismo Docker (a opção padrão)
  • docker-archive: um arquivo Tar Docker do disco
  • podman: mecanismo Podman (apenas linux)

Installation

Ubuntu/Debian

Usando debs:

DIVE_VERSION=$(curl -sL "https://api.github.com/repos/wagoodman/dive/releases/latest" | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/')
curl -fOL "https://github.com/wagoodman/dive/releases/download/v${DIVE_VERSION}/dive_${DIVE_VERSION}_linux_amd64.deb"
sudo apt install ./dive_${DIVE_VERSION}_linux_amd64.deb

Usando snap:

sudo snap install docker
sudo snap install dive
sudo snap connect dive:docker-executables docker:docker-executables
sudo snap connect dive:docker-daemon docker:docker-daemon

[!CAUTION] O método Snap não é recomendado se você instalou o Docker via apt-get, pois pode quebrar seu daemon Docker existente.

Veja também: https://github.com/wagoodman/dive/issues/546

RHEL/Centos

DIVE_VERSION=$(curl -sL "https://api.github.com/repos/wagoodman/dive/releases/latest" | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/')
curl -fOL "https://github.com/wagoodman/dive/releases/download/v${DIVE_VERSION}/dive_${DIVE_VERSION}_linux_amd64.rpm"
rpm -i dive_${DIVE_VERSION}_linux_amd64.rpm

Arch Linux

Disponível no repositório extra e pode ser instalado via pacman:

pacman -S dive

Mac

Se você usa Homebrew:

brew install dive

Se você usa MacPorts:

sudo port install dive

Ou baixe a última compilação Darwin da página de releases.

Windows

Se você usa Chocolatey

choco install dive

Se você usa scoop

scoop install main/dive

Se você usa winget:

winget install --id wagoodman.dive

Ou baixe a última compilação Windows da página de releases.

Go tools Requer Go versão 1.10 ou superior.

go install github.com/wagoodman/dive@latest

Nota: instalando desta forma você não verá uma versão adequada ao executar dive -v.

Nix/NixOS

No NixOS:

nix-env -iA nixos.dive

Em não-NixOS (Linux, Mac)

nix-env -iA nixpkgs.dive

X-CMD

x-cmd é uma caixa de ferramentas para Posix Shell, oferecendo um gerenciador de pacotes leve construído usando shell e awk.

x env use dive

Docker

docker pull docker.io/wagoodman/dive
# ou alternativamente
docker pull ghcr.io/wagoodman/dive

Ao executar, você precisará incluir o arquivo de socket Docker:

docker run --rm -it \
    -v /var/run/docker.sock:/var/run/docker.sock \
    docker.io/wagoodman/dive:latest <dive arguments...>

Docker para Windows (mostrando quebras de linha compatíveis com PowerShell; colapse em uma única linha para compatibilidade com Command Prompt)

docker run --rm -it `
    -v /var/run/docker.sock:/var/run/docker.sock `
    docker.io/wagoodman/dive:latest <dive arguments...>

Nota: dependendo da versão do docker que você está executando localmente, pode ser necessário especificar a versão da API do docker como uma variável de ambiente:

   DOCKER_API_VERSION=1.37 dive ...

ou se você estiver executando com uma imagem docker:

docker run --rm -it \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -e DOCKER_API_VERSION=1.37 \
    docker.io/wagoodman/dive:latest <dive arguments...>

se você estiver usando um runtime alternativo (Colima etc), então pode ser necessário especificar o host docker como uma variável de ambiente para puxar imagens locais:

   export DOCKER_HOST=$(docker context inspect -f '{{ .Endpoints.docker.Host }}')

CI Integration

Baixar ferramenta