Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
layerleak — layerleak – der Docker Hub Secret Scanner | Kitploit
Tools/GitHubGitHub/brumbelow/layerleak
SchwachstellenscannerContainer-SicherheitCloud-SicherheitDevSecOpsSecret-ErkennungAPI-Sicherheit
GitHubbrumbelow/layerleak

layerleak

layerleak – der Docker Hub Secret Scanner

Repository anzeigen
42213vor 21 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

layerleak – Der OCI-Image-Secret-Scanner

made-with-Go

Siehe CONTRIBUTING.md für Richtlinien zur Mitarbeit.

  • OCI-Image-Secret-Scanner, der mit jedem öffentlichen OCI-konformen Registry arbeitet (Docker Hub, GHCR, Quay, GCR, MCR, Amazon ECR Public, selbst gehostet). Er analysiert Image-Layer, Konfigurationsmetadaten und die Image-Historie und speichert deduplizierte Funde nach Manifest-Digest.
  • Herkömmliche Secret-Scanner behandeln ein Container-Image oft als flachen Blob oder sind auf einen lokalen Docker-Daemon angewiesen. Dieses Projekt ist auf die OCI-Image-Interna ausgelegt.

Inhaltsverzeichnis

  • Dokumentationsseite
  • Aktuelle Fähigkeiten
  • Installation
  • Postgres-Persistenz
  • So starten Sie
  • HTTP-API
  • Docker-Compose-Bereitstellung (Dockge / Komodo)
  • Lizenz
  • Unterstützen Sie dieses Projekt

Dokumentationsseite

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

Die veröffentlichte Seite wird aus web/ im main-Branch von .github/workflows/pages.yml erstellt. Die Quellen der Dokumentation und die simulierte Browser-Demo befinden sich in diesem Verzeichnis.

Aktuelle Fähigkeiten:

  • Öffentliche Images von jedem OCI-konformen Registry (Docker Hub, GHCR, Quay, GCR, MCR, Amazon ECR Public, selbst gehostet)
  • Nur-Lese-Scanning
  • Keine Secret-Überprüfung
  • Keine Abhängigkeit von einem Docker-Daemon erforderlich
  • Manifest- und Layer-bewusstes Scannen
  • Scannt das endgültige Dateisystem und Artefakte aus gelöschten Layern
  • Scannt Image-Konfigurationsmetadaten, Umgebungsvariablen, Labels und die Historie
  • Dedupliziert Funde nach Secret-Fingerprint und fasst wiederholte identische Kontextausschnitte pro Manifest zusammen
  • Native Detektoren für über 60 Secret-Typen plus TruffleHog-Standardeinstellungen als Fallback-Layer
  • Unterdrückt Funde aus Test-/Fixture-/Spec-/e2e-/Acceptance-Pfaden, um Fehlalarme in Entwicklungs-Images zu reduzieren

Installation

Voraussetzungen:

  • Go 1.25.7+

Installation mit Go:

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

Das kanonische Installationsziel ist das Modul-Root. Um eine bestimmte Version festzulegen:

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

Ersetzen Sie v1.0.0 durch das gewünschte veröffentlichte v1.x.y-Tag. Stellen Sie sicher, dass Ihr GOBIN- oder GOPATH/bin-Verzeichnis in PATH enthalten ist.

Der Modulpfad ist github.com/brumbelow/layerleak, daher löst go install @latest das höchste veröffentlichte v1.x.y-Tag auf. Eine v2.x.y-Modulveröffentlichung würde erfordern, dass der Modulpfad zu github.com/brumbelow/layerleak/v2 geändert wird. Modul-installierte Binärdateien melden die aufgelöste Modulversion über layerleak --version; lokale Checkout-Builds melden die Version, die Go für den Checkout einbettet, und fallen auf dev zurück, wenn keine Modulversion verfügbar ist.

Build aus dem Quellcode:

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

Die API mit einem Container-Image ausführen:

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

Das Container-Image führt standardmäßig die API aus und setzt LAYERLEAK_API_ADDR=0.0.0.0:8080.

Optionale Umgebungskonfiguration:

cp .env.example .env

Ergebnis- und Datenbankkonfiguration:

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
# Optionale Registry-Überschreibungen; normalerweise nicht gesetzt.
export LAYERLEAK_REGISTRY_BASE_URL=
export LAYERLEAK_REGISTRY_AUTH_URL=
export LAYERLEAK_DATABASE_URL=postgres://postgres:postgres@localhost:5432/layerleak?sslmode=disable

Dieselben Variablen und ihre Standardwerte befinden sich in .env.example, das die Quelle der Wahrheit für Standardwerte ist.

VariableStandardZweck
LAYERLEAK_LOG_LEVELinfoLog-Level: debug, info, warn oder error.
LAYERLEAK_FINDINGS_DIRnicht gesetztWohin JSON-Ergebnisdateien geschrieben werden. Wenn nicht gesetzt, standardmäßig findings/ unter dem nächstgelegenen übergeordneten Verzeichnis mit go.mod, ansonsten das aktuelle Arbeitsverzeichnis.
LAYERLEAK_API_ADDR127.0.0.1:8080Bind-Adresse für den API-Server. Das Container-Image überschreibt dies auf 0.0.0.0:8080.
LAYERLEAK_PERSIST_RAW_SECRETS0Auf 1 setzen, um rohe Secret-Werte und rohe Kontextausschnitte auf die Festplatte und nach Postgres zu schreiben. Ergebnisse bleiben standardmäßig geschwärzt.
LAYERLEAK_HTTP_TIMEOUT30sTimeout pro Anfrage für jeden Registry-Aufruf (Manifeste, Blobs, Tag-Seiten, Authentifizierungstoken). Akzeptiert jede Go-Dauer (30s, 2m, 1h).
LAYERLEAK_MAX_FILE_BYTES1048576 (1 MiB)Maximale dekomprimierte Bytes, die pro Datei innerhalb eines Layers gepuffert werden. Größere Dateien werden als zu groß übersprungen. Muss größer als Null sein.
LAYERLEAK_MAX_LAYER_BYTES536870912 (512 MiB)Maximale dekomprimierte Layer-Stream-Bytes pro Layer. 0 deaktiviert das Limit.
LAYERLEAK_MAX_LAYER_ENTRIES50000Maximale Tar-Einträge pro Layer. 0 deaktiviert das Limit.
LAYERLEAK_MAX_MANIFEST_BYTES0Maximale Manifest-Body-Bytes. 0 deaktiviert das Limit.
LAYERLEAK_MAX_CONFIG_BYTES0Maximale Image-Konfigurations-Body-Bytes. 0 deaktiviert das Limit.
LAYERLEAK_MAX_TAG_RESPONSE_BYTES8388608 (8 MiB)Maximale Bytes pro Registry-Tag-Listen-Antwortseite. 0 deaktiviert das Limit.
LAYERLEAK_TAG_PAGE_SIZE100Größe der Registry-Tag-Listenseite für repositoryweite Scans.
LAYERLEAK_MAX_REPOSITORY_TAGS0Maximale Tags, die pro Repository-Scan aufgezählt werden. 0 deaktiviert das Limit.
LAYERLEAK_MAX_REPOSITORY_TARGETS0Maximale verschiedene Ziele, die pro Repository-Scan aufgelöst werden. 0 deaktiviert das Limit.
LAYERLEAK_REGISTRY_REQUEST_ATTEMPTS2Anzahl der Versuche (einschließlich des ersten) für jede Registry-Anfrage.
LAYERLEAK_REGISTRY_BASE_URLnicht gesetztOptionale Überschreibung. Normalerweise leitet layerleak dies von jeder Image-Referenz ab; nur setzen, um Scans über einen Proxy oder alternativen Endpunkt zu erzwingen.
LAYERLEAK_REGISTRY_AUTH_URLnicht gesetztOptionale Überschreibung. Normalerweise aus der WWW-Authenticate-Challenge des Registrys ermittelt.
LAYERLEAK_DATABASE_URLnicht gesetztWenn gesetzt, schreibt layerleak Scans nach Postgres und schlägt der Befehl fehl, wenn die Persistenz nicht erfolgreich ist.

Wenn eines der MAX_*-Limits auf einen positiven Wert gesetzt ist, führt dessen Überschreitung zu einem Scann-Fehler mit einer klaren Fehlermeldung, anstatt die Arbeit stillschweigend abzuschneiden.

Ergebnisverhalten:

Tool herunterladen