Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
layerleak — layerleak el escáner de secretos de Docker Hub | Kitploit
Herramientas/GitHubGitHub/brumbelow/layerleak
Escáneres de VulnerabilidadesSeguridad de ContenedoresSeguridad en la NubeDevSecOpsDetección de SecretosSeguridad de APIs
GitHubbrumbelow/layerleak

layerleak

layerleak el escáner de secretos de Docker Hub

Ver Repositorio
42210hace 20 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

layerleak el Escáner de Secretos de Imágenes OCI

made-with-Go

Consulta CONTRIBUTING.md para las pautas de contribución.

  • Escáner de secretos de imágenes OCI que funciona contra cualquier registro público compatible con OCI (Docker Hub, GHCR, Quay, GCR, MCR, Amazon ECR Public, auto-alojado). Analiza las capas de la imagen, los metadatos de configuración y el historial de la imagen, y luego almacena hallazgos deduplicados por digest del manifiesto.
  • Los escáneres de secretos tradicionales a menudo tratan una imagen de contenedor como un blob plano o dependen de un demonio Docker local. Este proyecto está diseñado en torno a los internos de las imágenes OCI.

Contenidos

  • Página de Documentación
  • Capacidades Actuales
  • Instalación
  • Persistencia en Postgres
  • Cómo empezar
  • API HTTP
  • Despliegue con Docker Compose (Dockge / Komodo)
  • Licencia
  • Apoya este proyecto

Página de Documentación

  • https://brumbelow.github.io/layerleak/docs

El sitio publicado se construye desde web/ en main mediante .github/workflows/pages.yml. La fuente de la documentación y la demo simulada del navegador residen en ese directorio.

Capacidades Actuales:

  • Imágenes públicas de cualquier registro compatible con OCI (Docker Hub, GHCR, Quay, GCR, MCR, Amazon ECR Public, auto-alojado)
  • Escaneo de solo lectura
  • Sin verificación de secretos
  • No requiere dependencia del demonio Docker
  • Escaneo consciente del manifiesto y las capas
  • Escanea el sistema de archivos final y los artefactos de capas eliminadas
  • Escanea metadatos de configuración de imagen, variables de entorno, etiquetas e historial
  • Deduplica hallazgos por huella digital del secreto y colapsa fragmentos de contexto idénticos repetidos por manifiesto
  • Detectores nativos para más de 60 tipos de secretos más los valores predeterminados de TruffleHog como capa de respaldo
  • Suprime hallazgos en rutas de test/fixture/spec/e2e/acceptance para reducir falsos positivos en imágenes de desarrollo

Instalación

Requisitos previos:

  • Go 1.25.7+

Instalar con Go:

go install github.com/brumbelow/layerleak@latest
layerleak --help

El destino de instalación canónico es la raíz del módulo. Para fijar una versión explícitamente:

go install github.com/brumbelow/[email protected]

Reemplaza v1.0.0 con la etiqueta v1.x.y publicada que desees. Asegúrate de que tu directorio GOBIN o GOPATH/bin esté en PATH.

La ruta del módulo es github.com/brumbelow/layerleak, por lo que go install @latest se resuelve a la etiqueta v1.x.y más alta publicada. Un lanzamiento del módulo v2.x.y requeriría cambiar la ruta del módulo a github.com/brumbelow/layerleak/v2. Los binarios instalados mediante módulos reportan la versión del módulo resuelta a través de layerleak --version; las compilaciones desde el clon local reportan la versión que Go incrusta para el clon, cayendo a dev cuando no hay una versión de módulo disponible.

Compilar desde el código fuente:

git clone https://github.com/brumbelow/layerleak.git
cd layerleak
go build -o layerleak .
./layerleak --help

Ejecutar la API con una imagen de contenedor:

docker pull ghcr.io/brumbelow/layerleak:latest
docker run --rm \
  -p 8080:8080 \
  -e LAYERLEAK_DATABASE_URL='postgres://<usuario>:<contraseña>@<host>:5432/layerleak?sslmode=disable' \
  ghcr.io/brumbelow/layerleak:latest

La imagen del contenedor ejecuta la API por defecto y establece LAYERLEAK_API_ADDR=0.0.0.0:8080.

Configuración opcional de entorno:

cp .env.example .env

Configuración de resultados y base de datos:

export LAYERLEAK_LOG_LEVEL=info
export LAYERLEAK_FINDINGS_DIR=findings
export LAYERLEAK_API_ADDR=127.0.0.1:8080
export LAYERLEAK_PERSIST_RAW_SECRETS=0
export LAYERLEAK_TAG_PAGE_SIZE=100
export LAYERLEAK_HTTP_TIMEOUT=30s
export LAYERLEAK_MAX_FILE_BYTES=1048576
export LAYERLEAK_MAX_LAYER_BYTES=536870912
export LAYERLEAK_MAX_LAYER_ENTRIES=50000
export LAYERLEAK_MAX_MANIFEST_BYTES=0
export LAYERLEAK_MAX_CONFIG_BYTES=0
export LAYERLEAK_MAX_TAG_RESPONSE_BYTES=8388608
export LAYERLEAK_MAX_REPOSITORY_TAGS=0
export LAYERLEAK_MAX_REPOSITORY_TARGETS=0
export LAYERLEAK_REGISTRY_REQUEST_ATTEMPTS=2
# Anulaciones opcionales de registro; normalmente se dejan sin establecer.
export LAYERLEAK_REGISTRY_BASE_URL=
export LAYERLEAK_REGISTRY_AUTH_URL=
export LAYERLEAK_DATABASE_URL=postgres://postgres:postgres@localhost:5432/layerleak?sslmode=disable

Las mismas variables y sus valores predeterminados se encuentran en .env.example, que es la fuente de verdad para los valores predeterminados.

VariableValor predeterminadoPropósito
LAYERLEAK_LOG_LEVELinfoNivel de registro: debug, info, warn o error.
LAYERLEAK_FINDINGS_DIRsin establecerDónde escribir los archivos JSON de hallazgos. Si no se establece, por defecto es findings/ dentro del padre más cercano que contenga go.mod, cayendo al directorio de trabajo actual.
LAYERLEAK_API_ADDR127.0.0.1:8080Dirección de enlace para el servidor API. La imagen del contenedor lo anula a 0.0.0.0:8080.
LAYERLEAK_PERSIST_RAW_SECRETS0Establecer a 1 para escribir valores secretos sin procesar y fragmentos de contexto sin procesar en disco y Postgres. Los hallazgos permanecen redactados por defecto.
LAYERLEAK_HTTP_TIMEOUT30sTiempo de espera por solicitud para cada llamada al registro (manifiestos, blobs, páginas de etiquetas, tokens de autenticación). Acepta cualquier duración de Go (30s, 2m, 1h).
LAYERLEAK_MAX_FILE_BYTES1048576 (1 MiB)Máximo de bytes descomprimidos almacenados en búfer por archivo dentro de una capa. Los archivos más grandes de esto se omiten por ser demasiado grandes. Debe ser mayor que cero.
LAYERLEAK_MAX_LAYER_BYTES536870912 (512 MiB)Máximo de bytes de flujo de capa descomprimida por capa. 0 deshabilita el límite.
LAYERLEAK_MAX_LAYER_ENTRIES50000Máximo de entradas tar por capa. 0 deshabilita el límite.
LAYERLEAK_MAX_MANIFEST_BYTES0Máximo de bytes del cuerpo del manifiesto. 0 deshabilita el límite.
LAYERLEAK_MAX_CONFIG_BYTES0Máximo de bytes del cuerpo de configuración de la imagen. 0 deshabilita el límite.
LAYERLEAK_MAX_TAG_RESPONSE_BYTES8388608 (8 MiB)Máximo de bytes por página de respuesta de lista de etiquetas del registro. 0 deshabilita el límite.
LAYERLEAK_TAG_PAGE_SIZE100Tamaño de página de lista de etiquetas del registro para escaneos en todo el repositorio.
LAYERLEAK_MAX_REPOSITORY_TAGS0Máximo de etiquetas enumeradas por escaneo de repositorio. 0 deshabilita el límite.
LAYERLEAK_MAX_REPOSITORY_TARGETS0Máximo de objetivos distintos resueltos por escaneo de repositorio. 0 deshabilita el límite.
LAYERLEAK_REGISTRY_REQUEST_ATTEMPTS2Número de intentos (incluyendo el primero) por cada solicitud al registro.
LAYERLEAK_REGISTRY_BASE_URLsin establecerAnulación opcional. Normalmente layerleak deriva esto de cada referencia de imagen; establecer solo para forzar escaneos a través de un proxy o punto final alternativo.
LAYERLEAK_REGISTRY_AUTH_URLsin establecerAnulación opcional. Normalmente se descubre a partir del desafío WWW-Authenticate del registro.
LAYERLEAK_DATABASE_URLsin establecerSi se establece, layerleak escribe los escaneos en Postgres y falla el comando si la persistencia no tiene éxito.
Descargar herramienta