
Suprimir vulnerabilidades aplicando el contexto de Kubernetes a los análisis
(este logo no ha sido generado por IA)
Vex8s genera documentos VEX correlacionando las vulnerabilidades de contenedores con la configuración de Kubernetes para determinar qué CVEs son realmente explotables en tu clúster.
Ten en cuenta que este es un proyecto experimental. Las cosas pueden cambiar rápidamente.
El proyecto tiene como objetivo evaluar la explotabilidad de CVEs conocidas en cargas de trabajo de Kubernetes combinando la clasificación de vulnerabilidades y el análisis de securityContext.

Se basa en el siguiente concepto:
Para una lectura más profunda, puedes consultar este artículo: Environment-Aware Vulnerability Suppression Using Kubernetes Security Contexts and VEX
Puedes descargar el último binario desde la página de lanzamientos.
O puedes compilarlo manualmente:
make build
Actualmente vex8s admite 2 formas de generar documentos VEX:
modo pasivo: pasar un informe de vulnerabilidad ya generado creado por trivy o grype.
modo activo: escanear activamente las imágenes usando los motores trivy o grype y luego generar el documento basado en los resultados.
Usando 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
Lo mismo se puede aplicar usando 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
Usando 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
Lo mismo se puede aplicar usando 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
Este proyecto fue inspirado por el proyecto vexllm de Akihiro Suda.