E-DIV
Dive
Explora una imagen de contenedor capa por capa para encontrar secretos, peso muerto o misconfigs horneados en el build.
Sitio oficialVolver al catálogo
RESUMEN
Dive (github.com/wagoodman/dive) es una interfaz de terminal para explorar una imagen de contenedor capa por capa, mostrando exactamente qué archivos se añadieron, modificaron o eliminaron en cada paso del build, junto a un puntaje de eficiencia por espacio desperdiciado. Como un `RUN rm secret.key` en un Dockerfile quita el archivo del filesystem final visible pero no de la imagen en sí, una vista capa por capa suele ser la única forma de encontrar una credencial, clave privada o archivo `.env` que un build horneó por accidente y luego "eliminó" en un paso posterior.
Funciona contra cualquier imagen local o tarball OCI sin necesitar una conexión a un daemon en ejecución más allá de descargar la imagen, y su modo CI (`dive --ci`) puede bloquear un pipeline según umbrales de eficiencia de imagen, pero el uso relevante en un pentest es casi siempre el explorador de capas interactivo, no el gate de CI.
CASOS DE USO
Casos de uso en un engagement
- 01
Recorrer capa por capa una imagen para encontrar secretos eliminados en un `RUN` posterior pero aún presentes en una capa anterior.
- 02
Detectar archivos inesperadamente grandes o sin explicación añadidos durante el build (credenciales en caché, herramientas de debug, código fuente).
- 03
Evaluar si un build multi-stage realmente descartó secretos de tiempo de build de la imagen final.
- 04
Documentar peso muerto o ineficiencia de la imagen como hallazgo de apoyo junto a un problema de seguridad.
PRIMEROS PASOS
Con una imagen de contenedor para revisar, para recorrer sus capas de forma interactiva y ver qué dejaron atrás etapas anteriores del build.
- Confirma que la imagen (y cualquier credencial de registry necesaria para descargarla) está en alcance de revisión.
- Instala Dive y apúntalo a una imagen local o a un tag descargable desde un registry alcanzable.
- Navega capa por capa, revisando el diff del árbol de archivos de cada una en busca de adiciones inesperadas o archivos olvidados.
- Marca cualquier hallazgo (secretos, claves, código fuente) y verifica si es alcanzable en el contenedor final en ejecución, no solo en el historial de la imagen.
dive target-image:latestANTES DE USARLA
Qué revisar antes de lanzarla
Cualquier credencial, clave o token hallado en una capa debe manejarse según las reglas de manejo de datos del engagement — trátalo como dato sensible en vivo, no solo como una nota de calidad de código.
Un secreto encontrado en una capa de imagen puede ya estar rotado o sin uso en producción; confirma su validez antes de reportarlo como una credencial explotable activa.
Dive lee la imagen localmente — descargar una imagen grande o privada aún requiere acceso/credenciales de registry dentro del alcance del engagement.