Назад к обновлениям
New releaseAug 23, 2026

vex8s v0.5.0

Подавление уязвимостей с применением контекста Kubernetes к сканированиям

Поделиться

Vex8s

vex8s (этот логотип не сгенерирован AI)

Vex8s генерирует документы VEX, сопоставляя уязвимости контейнеров с настройками Kubernetes, чтобы определить, какие CVE действительно эксплуатируемы в вашем кластере.

Пожалуйста, обратите внимание, это экспериментальный проект. Всё может быстро меняться.

Как это работает

Проект направлен на оценку эксплуатируемости известных CVE в рабочих нагрузках Kubernetes путем объединения классификации уязвимостей и анализа securityContext.

vex8s-logic

Он основан на следующей концепции:

  • Каждый CVE классифицируется по одному или нескольким классам уязвимостей (CWE)
  • Описание CVE обрабатывается встроенной ML моделью для прогнозирования его категории эксплуатации.
  • Как CWEs, так и прогнозируемые категории эксплуатации объединяются, чтобы определить, является ли CVE устранимым.
  • Каждая категория эксплуатации сопоставляется с набором настроек Kubernetes, которые могут блокировать или снижать воздействие.
  • Анализируя манифест Kubernetes, мы можем проверить настройки контейнера, чтобы оценить, присутствуют ли соответствующие настройки.
  • Объединение обоих анализов позволяет системе определить, является ли CVE эксплуатируемым в данной конфигурации рабочей нагрузки.
  • Если это приводит к смягчению CVE, мы добавляем это в итоговый документ VEX.

Для более глубокого изучения вы можете ознакомиться с этой статьей: Environment-Aware Vulnerability Suppression Using Kubernetes Security Contexts and VEX

Установка

Вы можете загрузить последний бинарный файл со страницы релиза.

Или вы можете собрать его вручную:

make build

Использование

vex8s в настоящее время поддерживает 2 способа генерации документов VEX:

  • passive-mode: передача уже сгенерированного отчета об уязвимостях, созданного с помощью trivy или grype.

  • active-mode: активное сканирование образов с использованием движков trivy или grype, а затем генерация документа на основе результатов.

Пассивный режим (рекомендуется)

Using trivy:

# generate vulnerability report.
trivy image --format json --output nginx.trivy.json nginx:1.21.0

# generate VEX document by processing vulnerability report.
vex8s generate --manifest examples/nginx.yaml --report nginx.trivy.json --output nginx.vex.json

# scan again with VEX document to suppress vulnerabilities.
trivy image --vex nginx.vex.json --show-suppressed nginx:1.21.0

The same can be applied using grype:

# generate sbom report.
grype --output cyclonedx-json --file nginx.grype.json nginx:1.21.0

# generate vulnerability report.
grype sbom:./nginx.grype.json --output json --file nginx.grype-vr.json

# generate VEX document by processing vulnerability report.
vex8s generate --manifest examples/nginx.yaml --report nginx.grype-vr.json --output nginx.vex.json

# scan sbom with VEX document to suppress vulnerabilities.
grype sbom:./nginx.grype.json --output table --vex nginx.vex.json --show-suppressed

Активный режим

Using trivy:

# scan the image and automatically generate VEX document.
vex8s generate --manifest examples/nginx.yaml --scan.engine trivy --output nginx.vex.json

# scan again with VEX document to suppress vulnerabilities.
trivy image --vex nginx.vex.json --show-suppressed nginx:1.21.0

The same can be applied using grype:

# generate sbom report.
grype --output cyclonedx-json --file nginx.grype.json nginx:1.21.0

# scan the image and automatically generate VEX document.
vex8s generate --manifest examples/nginx.yaml --scan.engine grype --output nginx.vex.json

# scan sbom with VEX document to suppress vulnerabilities.
grype sbom:./nginx.grype.json --output table --vex nginx.vex.json --show-suppressed

Ссылки

Этот проект был вдохновлен проектом Akihiro Suda vexllm.

Категории