Grype – это сканер уязвимостей для образов контейнеров и файловых систем с простым в установке бинарником, который поддерживает пакеты для большинства основных операционных систем на базе * nix.
Особенности сканера уязвимостей Grype для образов контейнеров и файловых систем
- Alpine
- BusyBox
- CentOS / Red Hat
- Debian
- Ubuntu
Использование сканера уязвимостей Grype образов контейнеров и файловых систем
Чтобы найти уязвимости в образе:
grype <image>
Grype может сканировать множество источников, помимо тех, что находятся в Docker.
# сканировать архив образов контейнера (по результату команд docker image save …, podman save … или skopeo copy.)
grype path/to/image.tar
# сканировать каталог
grype dir:path/to/dir
$ grype docker.io/nginx.slim | head
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
✔ Vulnerability DB [no update available] ✔ Loaded image ✔ Parsed image ✔ Cataloged packages [135 packages] ✔ Scanned image [137 vulnerabilities] NAME INSTALLED FIXED-IN VULNERABILITY SEVERITY apt 1.8.2.2 CVE-2011-3374 Negligible bash 5.0-4 CVE-2019-18276 Negligible coreutils 8.30-3 CVE-2016-2781 Low coreutils 8.30-3 CVE-2017-18018 Negligible gcc-8-base 8.3.0-6 CVE-2018-12886 Medium gcc-8-base 8.3.0-6 CVE-2019-15847 Medium gpgv 2.2.12-1+deb10u1 CVE-2019-14855 Low libapt-pkg5.0 1.8.2.2 CVE-2011-3374 Negligible libc-bin 2.28-10 CVE-2019-9192 Negligible |
Формат вывода Grype также настраивается:
grype <image> -o <format>
Доступные форматы:
- Json: используйте этот формат, чтобы получить как можно больше информации от Grype!
- cyclonedx: XML-отчет, соответствующий спецификации CycloneDX 1.2.
- table: сводка в виде столбцов (по умолчанию).
Установка
# установка последней версии в /usr/local/bin
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin
# установка определенной версии в определенный каталог
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b <SOME_BIN_PATH> <RELEASE_VERSION>