Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
layerleak — layerleak - le scanner de secrets Docker Hub | Kitploit
Outils/GitHubGitHub/brumbelow/layerleak
Scanners de VulnérabilitésSécurité des ConteneursSécurité CloudDevSecOpsDétection de SecretsSécurité des API
GitHubbrumbelow/layerleak

layerleak

layerleak - le scanner de secrets Docker Hub

Voir le dépôt
42213il y a 21 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

layerleak le scanner de secrets d'images OCI

made-with-Go

Consultez CONTRIBUTING.md pour les directives de contribution.

  • Scanner de secrets d’images OCI fonctionnant avec tout registre public conforme à OCI (Docker Hub, GHCR, Quay, GCR, MCR, Amazon ECR Public, auto-hébergé). Il analyse les couches d’image, les métadonnées de configuration et l’historique de l’image, puis stocke les résultats dédoublonnés par digest de manifeste.
  • Les scanners de secrets traditionnels traitent souvent une image conteneur comme un bloc plat ou dépendent d’un démon Docker local. Ce projet est conçu autour des mécanismes internes des images OCI.

Table des matières

  • Page de documentation
  • Capacités actuelles
  • Installation
  • Persistance Postgres
  • Comment démarrer
  • API HTTP
  • Déploiement Docker Compose (Dockge / Komodo)
  • Licence
  • Soutenir ce projet

Page de documentation

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

Le site publié est construit à partir de web/ sur main par .github/workflows/pages.yml. La source de la documentation et la démo simulée du navigateur résident tous les deux dans ce répertoire.

Capacités actuelles :

  • Images publiques depuis tout registre conforme à OCI (Docker Hub, GHCR, Quay, GCR, MCR, Amazon ECR Public, auto-hébergé)
  • Analyse en lecture seule
  • Pas de vérification de secret
  • Aucune dépendance à un démon Docker
  • Analyse consciente des manifestes et des couches
  • Analyse du système de fichiers final et des artefacts des couches supprimées
  • Analyse des métadonnées de configuration d’image, variables d’environnement, étiquettes et historique
  • Dédoublonnage des résultats par empreinte de secret et réduction des fragments de contexte identiques répétés par manifeste
  • Détecteurs natifs pour plus de 60 types de secrets, avec les valeurs par défaut de TruffleHog comme couche de repli
  • Suppression des résultats provenant des chemins test/fixture/spec/e2e/acceptance pour réduire les faux positifs dans les images de développement

Installation

Prérequis :

  • Go 1.25.7+

Installer avec Go :

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

La cible d’installation canonique est la racine du module. Pour épingler une version explicitement :

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

Remplacez v1.0.0 par l’étiquette v1.x.y publiée souhaitée. Assurez-vous que votre répertoire GOBIN ou GOPATH/bin est dans le PATH.

Le chemin du module est github.com/brumbelow/layerleak, donc go install @latest résout la plus haute étiquette v1.x.y publiée. Une version de module v2.x.y nécessiterait que le chemin du module devienne github.com/brumbelow/layerleak/v2. Les binaires installés via le module rapportent la version résolue via layerleak --version ; les constructions à partir d’un checkout local rapportent la version que Go intègre pour le checkout, en revenant à dev quand aucune version de module n’est disponible.

Construire à partir des sources :

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

Exécuter l’API avec une image conteneur :

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

L’image conteneur exécute l’API par défaut et définit LAYERLEAK_API_ADDR=0.0.0.0:8080.

Configuration d’environnement optionnelle :

cp .env.example .env

Configuration des résultats et de la base de données :

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
# Remplacements de registre optionnels ; généralement laisser non défini.
export LAYERLEAK_REGISTRY_BASE_URL=
export LAYERLEAK_REGISTRY_AUTH_URL=
export LAYERLEAK_DATABASE_URL=postgres://postgres:postgres@localhost:5432/layerleak?sslmode=disable

Les mêmes variables et leurs valeurs par défaut se trouvent dans .env.example, qui est la source de vérité pour les valeurs par défaut.

VariableValeur par défautObjectif
LAYERLEAK_LOG_LEVELinfoNiveau de journalisation : debug, info, warn ou error.
LAYERLEAK_FINDINGS_DIRnon définiOù écrire les fichiers JSON des résultats. Si non défini, par défaut findings/ sous le plus proche parent contenant go.mod, avec repli sur le répertoire de travail courant.
LAYERLEAK_API_ADDR127.0.0.1:8080Adresse d’écoute du serveur API. L’image conteneur remplace cela par 0.0.0.0:8080.
LAYERLEAK_PERSIST_RAW_SECRETS0Mettre à 1 pour écrire les valeurs brutes des secrets et les fragments de contexte bruts sur le disque et dans Postgres. Les résultats restent masqués par défaut.
LAYERLEAK_HTTP_TIMEOUT30sTimeout par requête pour chaque appel au registre (manifestes, blobs, pages d’étiquettes, jetons d’authentification). Accepte toute durée Go (30s, 2m, 1h).
LAYERLEAK_MAX_FILE_BYTES1048576 (1 Mio)Nombre maximal d’octets décompressés mis en mémoire tampon par fichier dans une couche. Les fichiers plus grands sont ignorés comme étant trop volumineux. Doit être supérieur à zéro.
LAYERLEAK_MAX_LAYER_BYTES536870912 (512 Mio)Nombre maximal d’octets du flux de couche décompressé par couche. 0 désactive la limite.
LAYERLEAK_MAX_LAYER_ENTRIES50000Nombre maximal d’entrées tar par couche. 0 désactive la limite.
LAYERLEAK_MAX_MANIFEST_BYTES0Nombre maximal d’octets du corps du manifeste. 0 désactive la limite.
LAYERLEAK_MAX_CONFIG_BYTES0Nombre maximal d’octets du corps de la configuration d’image. 0 désactive la limite.
LAYERLEAK_MAX_TAG_RESPONSE_BYTES8388608 (8 Mio)Nombre maximal d’octets par page de réponse de liste d’étiquettes du registre. 0 désactive la limite.
LAYERLEAK_TAG_PAGE_SIZE100Taille de page de la liste d’étiquettes du registre pour les analyses à l’échelle du dépôt.
LAYERLEAK_MAX_REPOSITORY_TAGS0Nombre maximal d’étiquettes énumérées par analyse de dépôt. 0 désactive la limite.
LAYERLEAK_MAX_REPOSITORY_TARGETS0Nombre maximal de cibles distinctes résolues par analyse de dépôt. 0 désactive la limite.
LAYERLEAK_REGISTRY_REQUEST_ATTEMPTS2Nombre de tentatives (y compris la première) pour chaque requête au registre.
LAYERLEAK_REGISTRY_BASE_URLnon définiRemplacement optionnel. Normalement layerleak dérive cette URL de chaque référence d’image ; définir seulement pour forcer les analyses via un proxy ou un point de terminaison alternatif.
LAYERLEAK_REGISTRY_AUTH_URLnon définiRemplacement optionnel. Normalement découverte à partir du défi WWW-Authenticate du registre.
LAYERLEAK_DATABASE_URLnon définiSi défini, layerleak écrit les analyses dans Postgres et échoue la commande si la persistance échoue.
Télécharger l’outil