Trivy Docker image scanning

Привязка образов Docker к конкретному тегу — только первый шаг. Второй шаг — узнать, какие CVE находятся внутри образа перед его развертыванием на хосте. Сканер читает слои образа, перечисляет все пакеты ОС и зависимости языка программирования, а затем проверяет каждый из них по базам данных CVE. Семь приложений ниже охватывают локальные инструменты CLI, средства запуска CI и размещенные платформы в бесплатном и платном формах.

На что обратить внимание при выборе сканера образов

Учитывайте это перед выбором:

Быстрое сравнение

Приложение Лучше всего для Время выполнения Бесплатно SBOM Рекомендации по исправлениям
Trivy Сканер с открытым исходным кодом по умолчанию Любой (CLI, CI) Да Да Да
Grype Сканирование CVE на базе Anchore Любой (CLI, CI) Да Да Да
Docker Scout Родной Docker Desktop Docker Desktop Бесплатно (личное) Да Да
Snyk Container Оплачиваемый рабочий процесс CI-first Любой Бесплатный уровень Да Да
Clair Сканирование со стороны реестра Сервер Да Частично Да
Anchore Engine Управляемое политикой предприятие Сервер Да Да Да
Syft Инструмент-компаньон только для SBOM Любой (CLI, CI) Да Да Нет

1. Trivy, лучший выбор с открытым исходным кодом

Trivy от Aqua Security сканирует образы контейнеров, файловые системы, репозитории git и кластеры Kubernetes на предмет CVE, неправильных конфигураций и раскрытых секретов. Он считывает пакеты ОС и зависимости языков из коробки, создает SBOM и работает как CLI, действие GitHub или оператор Kubernetes.

Причина выбрать его — охват. Trivy ловит то, что пропускают выделенные сканеры ОС (CVE npm/pip) и то, что пропускают выделенные сканеры языков (CVE основного образа ОС) за один проход.

Где он не справляется: Корпоративные функции (политика, панели мониторинга, RBAC) находятся в платном продукте Aqua. Бесплатный CLI не выполняет отчеты масштаба компании.

Цена: Бесплатно и открытый исходный код (Apache 2.0). Платформа Aqua с платным обслуживанием для предприятий.

Платформы: Windows, macOS, Linux (CLI); средства запуска CI; Kubernetes.

Загрузить: trivy.dev · GitHub

Итоговая строка: Установка по умолчанию для сканирования образов.

2. Grype, лучший вариант семейства Anchore

Grype — это сканер CVE из семейства Anchore. Он читает SBOM, созданные Syft (его сестринским инструментом) и сопоставляет их с общедоступными каналами CVE. Причина использования Grype конкретно в том, что вы уже создаете SBOM с Syft, или если вы хотите более четкого разделения между “создать инвентарь” и “проверить инвентарь на CVE”.

Некоторые команды сочетают Syft + Grype для разделения SBOM/CVE; другие используют Trivy для обоих в одном вызове.

Где он не справляется: Охват сильно перекрывается с Trivy. Выбор Grype вместо Trivy — это больше вопрос предпочтения, чем возможностей.

Цена: Бесплатно и открытый исходный код (Apache 2.0). Платное Anchore Enterprise для политики и отчетов.

Платформы: Windows, macOS, Linux (CLI); средства запуска CI.

Загрузить: github.com/anchore/grype

Итоговая строка: Выбирайте это, если вы уже используете Syft или Anchore. В противном случае Trivy.

3. Docker Scout, лучший родной вариант Docker Desktop

Docker Scout поставляется в Docker Desktop и интегрируется с Docker Hub. Отправьте образ на Docker Hub, и Scout будет сканировать его автоматически. В Docker Desktop запустите docker scout cves <image> для локального сканирования.

Причина выбрать его в том, что если вы уже запускаете Docker Desktop, Scout находится в одной команде без дополнительной установки. Он также показывает рекомендацию базового образа для уменьшения уязвимой поверхности.

Где он не справляется: Бесплатный уровень охватывает три репозитория на Docker Hub. Полное сканирование на уровне организации — это платная подписка Docker Business.

Цена: Бесплатный личный уровень. Подписка Docker Business для функций команды.

Платформы: Docker Desktop (Windows, macOS, Linux) и Docker Hub.

Загрузить: docs.docker.com/scout

Итоговая строка: Самый простой способ начать работу с Docker Desktop.

4. Snyk Container, лучший платный рабочий процесс CI-first

Snyk Container интегрируется с GitHub, GitLab и Bitbucket для сканирования образов, указанных в ваших Dockerfiles и манифестах Kubernetes. Он открывает PR для обновления базовых образов и пакетов языков, а также отслеживает исправление CVE с течением времени на панели мониторинга.

Причина платить — это рабочий процесс исправления: Snyk не просто сообщает CVE, он создает фактический PR, который их исправляет.

Где он не справляется: Бесплатный уровень щедр для личного использования; большим командам нужны оплачиваемые сиденья. Некоторые предпочитают держать средства безопасности с открытым исходным кодом.

Цена: Бесплатный уровень (ограниченные сканы). Оплачиваемые планы Team и Business.

Платформы: Веб, CLI, интеграции CI/CD.

Загрузить: snyk.io

Итоговая строка: Выбор, когда вы хотите автоматизированные PR исправления и можете это позволить.

5. Clair, лучший сканер со стороны реестра

Clair от CoreOS/Quay — это сервер, который сканирует образы при их отправке в реестр контейнеров. Он сохраняет результаты и предоставляет их через API. Harbor и Quay оба нативно интегрируют Clair.

Причина выбрать его в том, что если вы самостоятельно размещаете реестр (Harbor, Quay) и хотите, чтобы сканы происходили при отправке, а не при каждом запуске CI.

Где он не справляется: Компонент сервера для запуска и обслуживания. Не CLI, который вы вызываете с ноутбука.

Цена: Бесплатно и открытый исходный код (Apache 2.0).

Платформы: Сервер (Linux, контейнер).

Загрузить: github.com/quay/clair

Итоговая строка: Выбор, когда вы самостоятельно размещаете реестр и хотите централизованное сканирование.

6. Anchore Engine, лучший управляемый политикой корпоративный вариант

Anchore Engine (и его преемник Anchore Enterprise) сканирует образы, оценивает их против правил политики (нет пользователя root, нет CVE выше High, все пакеты младше двух лет), и выводит вердикт pass/fail. Он подключается к CI в качестве шлюза.

Причина выбрать его вместо Trivy или Grype — это слой политики. Если соответствие требует подписанного прохождения политики, Anchore построен для этого потока.

Где он не справляется: Корпоративная установка. Избыточно для домашней лаборатории.

Цена: Бесплатный движок с открытым исходным кодом. Платное Anchore Enterprise для политики, RBAC и отчетов.

Платформы: Сервер (Linux, контейнер). Интеграции CI.

Загрузить: anchore.com · GitHub

Итоговая строка: Выбор, когда соответствие требует оценки политики, не просто список CVE.

7. Syft, лучший компаньон только для SBOM

Syft создает SBOM (SPDX или CycloneDX) из образа контейнера или файловой системы. Это не сканер CVE. Объедините его с Grype для проверки CVE или передайте SBOM на другой инструмент соответствия.

Причина выбрать Syft в одиночку — если ваша работа создавать SBOM для соответствия (SLSA, указ executive order 14028) и анализ CVE происходит в другом месте.

Где он не справляется: Не проверяет CVE самостоятельно. Нужны Grype или другой инструмент.

Цена: Бесплатно и открытый исходный код (Apache 2.0).

Платформы: Windows, macOS, Linux (CLI); средства запуска CI.

Загрузить: github.com/anchore/syft

Итоговая строка: Выбор, когда SBOM — это поставляемое, не список CVE.

Как выбрать

FAQ

Какой сканер имеет лучший охват CVE?
Trivy и Grype практически равны в 2026 году, потому что оба используют одни и те же источники данных (NVD, GitHub Advisory, Alpine SecDB). Охват нишевых экосистем (Erlang, R) варьируется больше между ними.

Должны ли я сканировать образы в CI или во время выполнения?
И то, и другое. Сканирование во время CI ловит известные уязвимости перед слиянием. Сканирование во время выполнения ловит недавно раскрытые CVE против уже развернутых образов. Trivy работает в обоих режимах.

Как я могу сломать сборку CI при критическом CVE?
Каждый сканер в этом списке поддерживает порог серьезности. Trivy: trivy image --severity CRITICAL --exit-code 1 my-image:1.2.3. Подобные флаги существуют для Grype, Scout и Snyk.

Docker Scout лучше, чем Trivy?
Преимущество Scout — рекомендация базового образа и интеграция Docker Hub. Преимущество Trivy — это работает везде и охватывает больше целей сканирования. Большинство команд используют оба.

Защищают ли сканеры от атаки на цепочку поставок в зависимостях?
Частично. Они ловят известные CVE. Они не могут обнаружить вредоносный пакет без раскрытого CVE. Объедините с проверкой подписей npm/pip, удостоверениями происхождения (SLSA) и подписанием Sigstore для защиты в глубину.