
Supprimer les vulnérabilités en appliquant le contexte Kubernetes aux analyses.
(ce logo n'est pas généré par IA)
Vex8s génère des documents VEX en corrélant les vulnérabilités des conteneurs avec les paramètres Kubernetes pour déterminer quelles CVE sont réellement exploitables dans votre cluster.
Veuillez noter qu'il s'agit d'un projet expérimental. Les choses peuvent changer rapidement.
Le projet vise à évaluer l'exploitabilité des CVE connues dans les charges de travail Kubernetes en combinant la classification des vulnérabilités et l'analyse du securityContext.

Il repose sur le concept suivant :
Pour une lecture plus approfondie, vous pouvez consulter cet article : Environment-Aware Vulnerability Suppression Using Kubernetes Security Contexts and VEX
Vous pouvez télécharger le dernier binaire depuis la page des versions.
Ou vous pouvez le compiler manuellement :
make build
vex8s prend actuellement en charge 2 façons de générer des documents VEX :
mode passif : en fournissant un rapport de vulnérabilité déjà généré par trivy ou grype.
mode actif : en analysant activement les images avec les moteurs trivy ou grype, puis en générant le document à partir des résultats.
Avec 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
La même chose peut être faite avec 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
Avec 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
La même chose peut être faite avec 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
Ce projet s'est inspiré du projet vexllm d'Akihiro Suda.