Grype — это мощный инструмент от Anchore, предназначенный для поиска известных уязвимостей (CVE) в контейнерных образах, директориях, пакетах и файлах SBOM (Software Bill of Materials). Grype поддерживает большое количество форматов и интеграций: Docker, OCI-образы, файлы .tar, .sbom, .spdx, .cyclonedx и многое другое.
⬇️Установка утилиты
Через curl (Linux/macOS):
curl -sSfL https://get.anchore.io/grype | sudo sh -s -- -b /usr/local/bin
Через Homebrew (macOS):
brew tap anchore/grype
brew install grype
1️⃣ Сканирование образа
Простой анализ уязвимостей в Docker-образе:
grype ubuntu:20.04
Grype сам загрузит образ (если он локально не найден), проанализирует установленные пакеты и выведет список известных уязвимостей с указанием:
⏺️ CVE-идентификатора
⏺️ Уровня серьезности (Low, Medium, High, Critical)
⏺️ Пакета и его версии
⏺️ Доступного фикс-патча (если есть)
2️⃣ Сканирование директорий и файлов
Можно сканировать локальные директории или .tar-архивы:
grype dir:/path/to/project
grype oci-archive:path/to/image.tar
3️⃣ Работа с SBOM
Grype может сканировать SBOM файлы (в формате Syft, CycloneDX, SPDX):
grype sbom:my-app.spdx.json
Или сгенерировать SBOM отдельно через Syft и передать его Grype:
syft ubuntu:20.04 -o spdx-json > sbom.json
grype sbom:sbom.json
4️⃣ Вывод в различных форматах
Grype поддерживает вывод в разных форматах:
grype ubuntu:20.04 -o json # JSON
grype ubuntu:20.04 -o table # Таблица
grype ubuntu:20.04 -o cyclonedx # CycloneDX SBOM + CVE
