Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
layerleak — layerleak — сканер секретов Docker Hub | Kitploit
Инструменты/GitHubGitHub/brumbelow/layerleak
Сканеры уязвимостейБезопасность контейнеровБезопасность облачных средDevSecOpsОбнаружение СекретовБезопасность API
GitHubbrumbelow/layerleak

layerleak

layerleak — сканер секретов Docker Hub

Репозиторий
4221020 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

layerleak — сканер секретов OCI-образов

made-with-Go

Ознакомьтесь с CONTRIBUTING.md для руководства по участию.

  • Сканер секретов OCI-образов, работающий с любым публичным реестром, совместимым с OCI (Docker Hub, GHCR, Quay, GCR, MCR, Amazon ECR Public, собственные). Он анализирует слои образа, метаданные конфигурации и историю образа, затем сохраняет дедублицированные результаты по дайджесту манифеста.
  • Традиционные сканеры секретов часто рассматривают контейнерный образ как плоский блоб или полагаются на локальный Docker daemon. Этот проект спроектирован с учётом внутреннего устройства OCI-образов.

Содержание

  • Страница документации
  • Текущие возможности
  • Установка
  • Постоянное хранение в Postgres
  • Как начать
  • HTTP API
  • Развёртывание через Docker Compose (Dockge / Komodo)
  • Лицензия
  • Поддержать проект

Страница документации

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

Опубликованный сайт собирается из web/ на ветке main с помощью .github/workflows/pages.yml. Исходный код документации и симулированная демонстрация браузера находятся в этой директории.

Текущие возможности:

  • Публичные образы из любого реестра, совместимого с OCI (Docker Hub, GHCR, Quay, GCR, MCR, Amazon ECR Public, собственные)
  • Сканирование только для чтения
  • Без проверки секретов
  • Не требует зависимости от Docker daemon
  • Сканирование с учётом манифеста и слоёв
  • Сканирует финальную файловую систему и артефакты удалённых слоёв
  • Сканирует метаданные конфигурации образа, переменные окружения, метки и историю
  • Дедублицирует результаты по отпечатку секрета и сворачивает повторяющиеся идентичные фрагменты контекста для каждого манифеста
  • Встроенные детекторы для 60+ типов секретов, плюс стандартные детекторы TruffleHog в качестве резервного слоя
  • Подавляет результаты из путей test/fixture/spec/e2e/acceptance для снижения ложных срабатываний в образах для разработки

Установка

Предварительные требования:

  • Go 1.25.7+

Установка с помощью Go:

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

Каноническая цель установки — корень модуля. Чтобы явно зафиксировать релиз:

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

Замените v1.0.0 на опубликованный тег v1.x.y, который вам нужен. Убедитесь, что ваш GOBIN или GOPATH/bin находится в PATH.

Путь модуля — github.com/brumbelow/layerleak, поэтому go install @latest разрешается в самый высокий опубликованный тег v1.x.y. Релиз модуля v2.x.y потребовал бы изменения пути модуля на github.com/brumbelow/layerleak/v2. Установленные из модуля бинарники сообщают разрешённую версию модуля через layerleak --version; сборки из локальной копии сообщают версию, встроенную Go для этой копии, с понижением до dev, если версия модуля недоступна.

Сборка из исходного кода:

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

Запуск API с помощью контейнерного образа:

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

Контейнерный образ по умолчанию запускает API и устанавливает LAYERLEAK_API_ADDR=0.0.0.0:8080.

Необязательная конфигурация окружения:

cp .env.example .env

Конфигурация результатов и базы данных:

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
# Необязательные переопределения реестра; обычно оставляйте пустыми.
export LAYERLEAK_REGISTRY_BASE_URL=
export LAYERLEAK_REGISTRY_AUTH_URL=
export LAYERLEAK_DATABASE_URL=postgres://postgres:postgres@localhost:5432/layerleak?sslmode=disable

Те же переменные и их значения по умолчанию находятся в .env.example, который является источником истины для значений по умолчанию.

ПеременнаяПо умолчаниюНазначение
LAYERLEAK_LOG_LEVELinfoУровень логирования: debug, info, warn или error.
LAYERLEAK_FINDINGS_DIRне заданаКуда записывать JSON-файлы с результатами. Если не задана, по умолчанию используется findings/ в ближайшей родительской директории, содержащей go.mod, или текущая рабочая директория, если корень репозитория не найден.
LAYERLEAK_API_ADDR127.0.0.1:8080Адрес привязки для API-сервера. Контейнерный образ переопределяет это значение на 0.0.0.0:8080.
LAYERLEAK_PERSIST_RAW_SECRETS0Установите в 1, чтобы записывать сырые значения секретов и сырые фрагменты контекста на диск и в Postgres. По умолчанию результаты остаются скрытыми.
LAYERLEAK_HTTP_TIMEOUT30sТайм-аут на один запрос для каждого вызова реестра (манифесты, блобы, страницы тегов, токены аутентификации). Принимает любую длительность Go (30s, 2m, 1h).
LAYERLEAK_MAX_FILE_BYTES1048576 (1 MiB)Максимальное количество распакованных байт, буферизованных на один файл внутри слоя. Файлы больше этого размера пропускаются как слишком большие. Должно быть больше нуля.
LAYERLEAK_MAX_LAYER_BYTES536870912 (512 MiB)Максимальное количество распакованных байт потока слоя на один слой. 0 отключает ограничение.
LAYERLEAK_MAX_LAYER_ENTRIES50000Максимальное количество tar-записей на слой. 0 отключает ограничение.
LAYERLEAK_MAX_MANIFEST_BYTES0Максимальное количество байт тела манифеста. 0 отключает ограничение.
LAYERLEAK_MAX_CONFIG_BYTES0Максимальное количество байт тела конфигурации образа. 0 отключает ограничение.
LAYERLEAK_MAX_TAG_RESPONSE_BYTES8388608 (8 MiB)Максимальное количество байт на страницу ответа списка тегов реестра. 0 отключает ограничение.
LAYERLEAK_TAG_PAGE_SIZE100Размер страницы списка тегов реестра для сканирования всего репозитория.
LAYERLEAK_MAX_REPOSITORY_TAGS0Максимальное количество тегов, перечисляемых при сканировании репозитория. 0 отключает ограничение.
LAYERLEAK_MAX_REPOSITORY_TARGETS0Максимальное количество различных целей, разрешённых при сканировании репозитория. 0 отключает ограничение.
LAYERLEAK_REGISTRY_REQUEST_ATTEMPTS2Количество попыток (включая первую) для каждого запроса к реестру.
LAYERLEAK_REGISTRY_BASE_URLне заданаНеобязательное переопределение. Обычно layerleak определяет его из ссылки на образ; устанавливайте только для принудительного сканирования через прокси или альтернативную конечную точку.
LAYERLEAK_REGISTRY_AUTH_URLне заданаНеобязательное переопределение. Обычно определяется из запроса WWW-Authenticate реестра.
LAYERLEAK_DATABASE_URLне заданаЕсли задана, layerleak записывает результаты сканирования в Postgres и завершает команду с ошибкой, если постоянное хранение не удалось.

Когда любой из лимитов MAX_* установлен в положительное значение, его превышение приводит к сбою сканирования с явной ошибкой, а не к молчаливому усечению работы.

Поведение результатов:

Скачать инструмент