[!IMPORTANT]
KubeClarity устарел и заменен на openclarity/openclarity.
См. объявление о выпуске для получения дополнительной информации.
Этот проект не получает обновлений. Рекомендуем перейти на новую версию.
KubeClarity — это инструмент для обнаружения и управления Software Bill Of Materials (SBOM) и уязвимостями образов контейнеров и файловых систем. Он сканирует как работающие кластеры K8s, так и конвейеры CI/CD для повышения безопасности цепочки поставок программного обеспечения.

Содержание
Зачем?
Проблемы обнаружения SBOM и уязвимостей
- Эффективное сканирование уязвимостей требует точного обнаружения Software Bill Of Materials (SBOM):
- Различные языки программирования и менеджеры пакетов
- Различные дистрибутивы ОС
- Информация о зависимостях пакетов обычно удаляется при сборке
- Какой сканер/анализатор SBOM лучший?
- Что следует сканировать: репозитории Git, сборки, образы контейнеров или среду выполнения?
- Каждый сканер/анализатор имеет свой формат — как сравнивать результаты?
- Как управлять обнаруженными SBOM и уязвимостями?
- Как новые найденные уязвимости влияют на мои приложения?
Решение
- Разделите сканирование уязвимостей на 2 фазы:
- Анализ содержимого для генерации SBOM
- Сканирование SBOM на уязвимости
- Создайте плагинную инфраструктуру для:
- Параллельного запуска нескольких анализаторов содержимого
- Параллельного запуска нескольких сканеров уязвимостей
- Сканируйте и объединяйте результаты между разными этапами CI с помощью KubeClarity CLI
- Сканирование среды выполнения K8s для обнаружения уязвимостей, выявленных после развертывания
- Группируйте сканируемые ресурсы (образы/каталоги) под определенными приложениями для навигации по дереву зависимостей объектов (приложения, ресурсы, пакеты, уязвимости)
Возможности
- Панель мониторинга
- Исправляемые уязвимости по степени серьезности
- Топ-5 уязвимых элементов (приложения, ресурсы, пакеты)
- Тренды новых уязвимостей
- Количество пакетов по типу лицензии
- Количество пакетов по языку программирования
- Общие счетчики
- Приложения
- Автоматическое обнаружение приложений в среде выполнения K8s
- Создание/редактирование/удаление приложений
- Для каждого приложения навигация к связанным:
- Ресурсам (образам/каталогам)
- Пакетам
- Уязвимостям
- Лицензиям, используемым ресурсами
- Ресурсы приложений (образы/каталоги)
- Для каждого ресурса навигация к связанным:
- Приложениям
- Пакетам
- Уязвимостям
- Пакеты
- Для каждого пакета навигация к связанным:
- Приложениям
- Связываемому списку ресурсов и обнаруживающих анализаторов SBOM
- Уязвимостям
- Уязвимости
- Для каждой уязвимости навигация к связанным:
- Приложениям
- Ресурсам
- Списку обнаруживающих сканеров
- Сканирование среды выполнения K8s
- Сканирование по требованию или по расписанию
- Автоматическое обнаружение целевых пространств имен
- Ход сканирования и навигация по результатам для каждого затронутого элемента (приложения, ресурсы, пакеты, уязвимости)
- Бенчмарк CIS Docker
- CLI (CI/CD)
- Генерация SBOM с помощью нескольких интегрированных анализаторов содержимого (Syft, cyclonedx-gomod)
- Сканирование уязвимостей SBOM/образов/каталогов с помощью нескольких интегрированных сканеров (Grype, Dependency-track)
- Объединение SBOM и уязвимостей на разных этапах CI/CD
- Экспорт результатов в бэкенд KubeClarity
- API
- API для KubeClarity можно найти здесь
Интегрированные генераторы SBOM и сканеры уязвимостей
Анализатор содержимого KubeClarity интегрируется со следующими генераторами SBOM:
Сканер уязвимостей KubeClarity интегрируется со следующими сканерами:
Архитектура

Начало работы
Бэкенд KubeClarity
Установка с помощью Helm:
-
Добавьте Helm-репозиторий ```shell
helm repo add kubeclarity https://openclarity.github.io/kubeclarity
-
Сохраните значения диаграммы KubeClarity по умолчанию
helm show values kubeclarity/kubeclarity > values.yaml
-
Проверьте конфигурацию в values.yaml и обновите необходимые значения, если
это требуется. Чтобы включить и настроить поддерживаемые генераторы SBOM и
сканеры уязвимостей, проверьте конфигурацию "analyzer" и "scanner" под
разделом "vulnerability-scanner" в значениях Helm.