Работает полностью в браузере — данные не покидают страницу.
Анализатор Dockerfile
Проверка Dockerfile на запуск от root, незафиксированные образы, утечки секретов, сброс кэша и раздувание образа.
или вставьте ниже
Что проверяет анализатор
Dockerfile разбирается — продолжения строк склеиваются, комментарии учитываются — и по нему прогоняются 22 правила, покрывающие то, что стабильно приводит к проблемам: контейнеры от root, секреты, зашитые в ENV или ARG, незакреплённые базовые образы, кэши пакетных менеджеров в слоях и порядок COPY, который выбрасывает кэш сборки при каждом изменении исходников.
Всё происходит в вашем браузере, и это важно: в Dockerfile попадают адреса внутренних реестров и, чаще, чем принято признавать, настоящие учётные данные.
У меня есть инструкция USER — почему пишет, что образ работает от root?
Что запускает контейнер, определяет только финальная стадия. USER в стадии сборки отбрасывается вместе с ней. Ставьте USER в последней стадии, после последней операции, которой нужен доступ на запись.
Почему ADD помечается, а COPY нет?
ADD дополнительно распаковывает архивы и скачивает URL. И то, и другое иногда полезно, а в остальное время неожиданно: ADD файла .tar.gz молча его распакует. Правило допускает ADD для удалённых URL и архивов и просит COPY во всех остальных случаях.
Помечает секрет в ENV, хотя там заглушка. Почему?
Пустые значения, ссылки вида ${VAR} и очевидные заглушки не помечаются. Помечается литеральное значение рядом с ключом, названным как учётные данные, — потому что всё заданное через ENV или ARG остаётся в истории образа и доступно каждому, кто его скачает.
Одностадийная сборка — это ошибка?
Нет, это информационное замечание. Но если образ что-то компилирует, компилятор, заголовки и исходники уезжают в продакшен. Вторая стадия, копирующая только артефакт, обычно убирает сотни мегабайт и большую часть поверхности атаки.
Смежные инструменты: Валидатор манифестов K8s, SBOM viewer и CVE Kubernetes.