
Trivy: универсальный сканер безопасности для DevSecOps
Обзор Trivy — бесплатного open-source сканера уязвимостей, мисконфигураций, секретов и SBOM для контейнеров, Kubernetes и облаков.
Trivy: универсальный open-source сканер безопасности для DevSecOps
Что такое Trivy и для кого он предназначен
Trivy — это комплексный универсальный сканер безопасности, реализованный на Go в виде единого самодостаточного бинарного файла, который не требует внешних зависимостей помимо баз уязвимостей, загружаемых автоматически.
Trivy — бесплатный open-source инструмент от Aqua Security, покрывающий SCA, сканирование контейнеров, IaC, безопасность Kubernetes и генерацию SBOM из единого CLI-бинарника.
Инструмент ориентирован на:
- DevSecOps-инженеров — для встраивания безопасности в CI/CD-пайплайны;
- DevOps и Platform-команды — для сканирования Kubernetes-кластеров и облачной инфраструктуры;
- разработчиков — для быстрой проверки зависимостей и Dockerfile прямо в IDE или CLI;
- команды безопасности — для аудита IaC, обнаружения секретов и лицензионного контроля.
Ключевые возможности
Сканеры (что ищет)
Trivy включает сканер мисконфигураций (выявляет проблемы безопасности в IaC-файлах: Terraform, Kubernetes-манифестах, Dockerfile, CloudFormation, Helm, Ansible), сканер секретов (находит жёстко зашитые учётные данные, API-ключи и токены в исходном коде) и сканер лицензий (идентифицирует лицензии зависимостей, классифицируя их по SPDX-идентификаторам).
Сканер уязвимостей обнаруживает известные CVE в пакетах ОС и зависимостях приложений с использованием базы данных trivy-db.
Цели сканирования (где ищет)
Trivy является мультисканером: уязвимости, мисконфигурации IaC, секреты и лицензии. Он сканирует контейнеры, файловые системы, git-репозитории, образы ВМ и Kubernetes-кластеры.
Режимы работы
Standalone-режим (по умолчанию): всё сканирование выполняется локально, Trivy скачивает и хранит собственную копию баз уязвимостей. Client/Server-режим: сканирование распределяется между клиентом и сервером, где сервер поддерживает общие базы данных.
Форматы вывода
Trivy позволяет экспортировать результаты во внешние системы в различных форматах: JUnit XML, SARIF и AWS Security Finding Format (ASFF).
Интеграции
Результаты можно просматривать прямо в GitHub UI через GitHub Action или в Kubernetes-дашборде с помощью Aqua Starboard. Также доступна установка через Helm Chart в Kubernetes-кластер или сканирование образов в Harbor через адаптер-плагин.
Примеры использования
Сканирование контейнерного образа
# Сканирование образа nginx на уязвимости
trivy image nginx:latest
# Только критические и высокие уязвимости
trivy image --severity HIGH,CRITICAL nginx:latest
Сканирование файловой системы (проект целиком)
# Уязвимости + секреты + мисконфигурации за один проход
trivy fs --scanners vuln,secret,misconfig ./myproject/
Сканирование Kubernetes-кластера
# Сканирование всего кластера
trivy k8s --report summary cluster
# Конкретный namespace
trivy k8s --namespace production --report all cluster
Генерация SBOM
# Генерация SBOM в формате CycloneDX
trivy image --format cyclonedx --output sbom.json myapp:latest
# Генерация в формате SPDX
trivy image --format spdx-json --output sbom.spdx.json myapp:latest
brew install aquasecurity/trivy/trivy
Для Linux: доступна установка через apt/rpm-репозиторий Aqua Security или через скачивание бинарника.Архитектура и рабочий процесс
graph TD
A[Исходная цель\ncontainer / fs / k8s / repo] --> B[Обнаружение артефактов\nslayers, files, manifests]
B --> C{Выбор сканеров}
C --> D[vuln\nCVE-поиск]
C --> E[misconfig\nIaC-проверка]
C --> F[secret\nПоиск секретов]
C --> G[license\nЛицензии]
D --> H[Фильтрация результатов\nseverity / ignore-policy]
E --> H
F --> H
G --> H
H --> I[Отчёт\nTable / JSON / SARIF / CycloneDX]
Trivy следует единому трёхфазному рабочему процессу независимо от типа сканируемой цели: сканирование, фильтрация и отчёт.
Тарифы и цены
Оба инструмента — Trivy и Grype — полностью бесплатны (лицензия Apache 2.0) и не имеют платных тарифов или ограничений по использованию.
Если бюджет является ключевым ограничением — выбирайте Trivy. Он полностью бесплатен без функциональных ограничений, лимитов сканирований или ограничений на участников. Вы получаете сканирование контейнеров, обнаружение уязвимостей зависимостей, проверку IaC, сканирование секретов, генерацию SBOM и сканирование Kubernetes-кластеров без каких-либо затрат.
Для корпоративных нужд существует коммерческая платформа Aqua Security, которая расширяет возможности Trivy управленческим интерфейсом, политиками и runtime-защитой — но сам Trivy при этом остаётся open-source.
Плюсы и минусы
| ✅ Плюсы | ❌ Минусы |
|---|---|
| Полностью бесплатен, Apache 2.0 | Нет встроенного SAST (статического анализа кода) |
| Единый бинарник, нет зависимостей | Приоритизация уязвимостей только по CVSS (без EPSS/KEV) |
| Покрывает контейнеры, IaC, ФС, Kubernetes, git, SBOM | В марте 2026 г. была атака на инфраструктуру дистрибуции |
| Поддержка SBOM (CycloneDX, SPDX) | Нет веб-интерфейса и дашборда в OSS-версии |
| Низкий процент ложных срабатываний | Для больших кластеров могут требоваться настройки производительности |
| Богатая экосистема интеграций (GitHub, Harbor, ArgoCD и др.) | Менее продвинутое управление SBOM по сравнению с Grype+Syft |
| Активное комьюнити (35 500+ GitHub-звёзд) | Отсутствие автоматических fix-PR (в отличие от Snyk) |
| RedHat-certified scanner | Требует периодического обновления БД уязвимостей |
Сравнение с альтернативами
Trivy — лучший универсальный сканер для команд, которым нужно широкое покрытие при нулевых затратах. Grype — лучший выбор для организаций, строящих SBOM-ориентированные процессы безопасности. Snyk — лучший выбор для команд, приоритизирующих developer experience и автоматическое устранение уязвимостей.
| Параметр | Trivy | Grype | Snyk |
|---|---|---|---|
| Лицензия | Apache 2.0 (бесплатно) | Apache 2.0 (бесплатно) | Freemium / платная |
| Скан контейнеров | ✅ | ✅ | ✅ |
| Скан IaC | ✅ (Terraform, K8s, Helm, CF) | ❌ | ✅ (ограниченно) |
| Скан секретов | ✅ | ❌ | ✅ |
| SBOM (генерация/чтение) | ✅ CycloneDX + SPDX | ✅ (через Syft) | ❌ |
| Kubernetes-кластер | ✅ | ❌ | ❌ |
| SAST | ❌ | ❌ | ✅ (Snyk Code) |
| Приоритизация EPSS/KEV | ❌ | ✅ | ❌ |
| Автоматические fix-PR | ❌ | ❌ | ✅ |
| Веб-дашборд | ❌ (только Aqua Platform) | ❌ | ✅ |
| Работа без интернета | ✅ (standalone) | ✅ | ⚠️ (частично) |
| GitHub-звёзды | 35 500+ | 11 500+ | — (SaaS) |
Grype предлагает составной риск-скоринг с EPSS и KEV для приоритизации, которой Trivy не хватает. На коммерческой стороне анализ достижимости Snyk и автоматические fix-PR эффективно снижают нагрузку на разработчиков по устранению уязвимостей.
Итог сравнения: Trivy — это «швейцарский армейский нож» DevSecOps. Grype глубже в приоритизации CVE. Snyk богаче в developer experience, но стоит денег и отправляет данные в облако.
Безопасность самого инструмента
Вердикт
Кому подойдёт Trivy
Trivy идеален для команд, которым нужно сканировать несколько слоёв (код, IaC, контейнеры) и которые ставят во главу угла скорость.
- Стартапы и небольшие команды — полный набор инструментов безопасности без бюджета;
- Enterprise DevSecOps — встраивание в CI/CD (GitHub Actions, GitLab CI, Jenkins);
- Platform Engineering — сканирование Kubernetes-кластеров и IaC;
- Compliance-команды — генерация SBOM для регуляторных требований (NTIA, EO 14028).
Кому НЕ подойдёт
- Командам, которым нужен SAST (статический анализ кода) — здесь лучше Snyk или SonarQube;
- Организациям, которым критична продвинутая приоритизация CVE (EPSS/KEV) — рассмотрите Grype;
- Командам, которым нужны автоматические PR с фиксами — это преимущество Snyk.
Рейтинг
| Критерий | Оценка |
|---|---|
| Функциональность | 9/10 |
| Простота использования | 9/10 |
| Интеграции | 9/10 |
| Стоимость (бесплатность) | 10/10 |
| Точность сканирования | 8/10 |
| Поддержка и комьюнити | 9/10 |
| Итого | 9/10 |
trivy fs --scanners vuln,secret,misconfig . прямо в корне вашего репозитория — это займёт меньше минуты и может неприятно удивить результатами. Именно так и должен работать хороший инструмент безопасности.