Zurück zu den Updates
New releaseAug 23, 2026

vex8s v0.5.0

Schwachstellen unterdrücken, indem Kubernetes-Kontext auf Scans angewendet wird

Teilen

Vex8s

vex8s (Dieses Logo wurde nicht von KI generiert)

Vex8s erstellt VEX-Dokumente, indem es Container-Schwachstellen mit Kubernetes-Einstellungen korreliert, um zu bestimmen, welche CVEs in Ihrem Cluster tatsächlich ausnutzbar sind.

Bitte beachten Sie, dass dies ein experimentelles Projekt ist. Dinge können sich schnell ändern.

Funktionsweise

Das Projekt zielt darauf ab, die Ausnutzbarkeit bekannter CVEs in Kubernetes-Workloads zu bewerten, indem Schwachstellenklassifizierung und securityContext-Analyse kombiniert werden.

vex8s-logic

Es basiert auf dem folgenden Konzept:

  • Jede CVE ist in eine oder mehrere Schwachstellenklassen (CWE) kategorisiert.
  • Die CVE-Beschreibung wird von einem eingebetteten ML-Modell verarbeitet, um ihre Ausbeutungskategorie vorherzusagen.
  • Sowohl die CWEs als auch die vorhergesagten Ausbeutungskategorien werden kombiniert, um zu bestimmen, ob die CVE entschärfbar ist.
  • Jede Ausbeutungskategorie ordnet sich einer Reihe von Kubernetes-Einstellungen zu, die die Auswirkungen blockieren oder reduzieren können.
  • Durch das Parsen eines Kubernetes-Manifests können wir die Container-Einstellungen überprüfen, um zu bewerten, ob die relevanten Einstellungen vorhanden sind.
  • Die Kombination beider Analysen ermöglicht es dem System zu bestimmen, ob eine CVE in einer bestimmten Workload-Konfiguration ausnutzbar ist.
  • Wenn dies zu einer CVE-Entschärfung führt, fügen wir dies dem endgültigen VEX-Dokument hinzu.

Für eine vertiefte Lektüre können Sie dieses Papier einsehen: Environment-Aware Vulnerability Suppression Using Kubernetes Security Contexts and VEX

Installation

Sie können die neueste Binärdatei von der Release-Seite herunterladen.

Oder Sie können es manuell bauen:

make build

Verwendung

vex8s unterstützt derzeit 2 Möglichkeiten zur Erstellung von VEX-Dokumenten:

  • passive-mode: Übergabe eines bereits erstellten Schwachstellenberichts, der von trivy oder grype erzeugt wurde.
  • active-mode: Aktives Scannen der Images mit den trivy- oder grype-Engines und anschließendes Erstellen des Dokuments basierend auf den Ergebnissen.

Passiver Modus (empfohlen)

Mit 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

Das Gleiche kann mit grype angewendet werden:

# 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

Aktiver Modus

Mit 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

Das Gleiche kann mit grype angewendet werden:

# 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

Referenzen

Dieses Projekt wurde von Akihiro Sudas Projekt vexllm inspiriert.

Kategorien