返回更新列表
新发布Aug 23, 2026

vex8s v0.5.0

将Kubernetes上下文应用于扫描以抑制漏洞

分享

Vex8s

vex8s (此徽标非AI生成)

Vex8s 通过关联容器漏洞与Kubernetes设置,生成 VEX 文档,以确定哪些CVE在你的集群中实际可利用。

请注意,这是一个实验性项目。内容可能会快速变化。

工作原理

该项目旨在通过结合漏洞分类和 securityContext 分析,评估已知CVE在Kubernetes工作负载中的可利用性。

vex8s-logic

它基于以下概念:

  • 每个CVE被分类到一个或多个漏洞类别(CWE
  • CVE描述由嵌入式ML 模型处理,以预测其利用类别
  • 将CWE和预测的利用类别结合起来,确定CVE是否可缓解。
  • 每个利用类别映射到一组可以阻止或减少影响的Kubernetes设置。
  • 通过解析Kubernetes清单,我们可以检查容器设置,以评估相关设置是否到位。
  • 结合两种分析,系统可以确定在给定工作负载配置下CVE是否可利用。
  • 如果导致CVE缓解,我们将此添加到最终的VEX文档中。

如需更深入的阅读,您可以参考这篇论文:使用Kubernetes安全上下文和VEX的环境感知漏洞抑制

安装

您可以从发布页面下载最新二进制文件。

或者您可以手动构建:

make build

用法

vex8s 当前支持两种生成VEX文档的方式:

  • 被动模式:传递已由 trivygrype 生成的漏洞报告。

  • 主动模式:使用 trivygrype 引擎主动扫描镜像,然后根据结果生成文档。

被动模式(推荐)

使用 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

同样的操作可以使用 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

主动模式

使用 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

同样的操作可以使用 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 启发。

分类