
Suprimir vulnerabilidades aplicando contexto Kubernetes a varreduras
(este logotipo não foi gerado por IA)
O Vex8s gera documentos VEX correlacionando vulnerabilidades de containers com configurações do Kubernetes para determinar quais CVEs são realmente exploráveis no seu cluster.
Por favor, note que este é um projeto experimental. As coisas podem mudar rapidamente.
O projeto tem como objetivo avaliar a exploração de CVEs conhecidas em workloads do Kubernetes, combinando classificação de vulnerabilidades e análise de securityContext.

É baseado no seguinte conceito:
Para uma leitura mais aprofundada, você pode consultar este artigo: Environment-Aware Vulnerability Suppression Using Kubernetes Security Contexts and VEX
Você pode baixar o binário mais recente na página de release.
Ou você pode compilá-lo manualmente:
make build
Atualmente, o vex8s suporta 2 maneiras de gerar documentos VEX:
passive-mode: passando um relatório de vulnerabilidade já gerado pelo trivy ou grype.
active-mode: escaneando ativamente as imagens usando os mecanismos trivy ou grype e depois gerando o documento com base nos 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
O mesmo pode ser aplicado 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
O mesmo pode ser aplicado 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 projeto foi inspirado pelo projeto vexllm de Akihiro Suda.