Create OpenVEX statements using vexctl to mark a CVE as not exploitable and merge VEX documents

domain: security/compliance · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Install vexctl; run vexctl create with the --product flag (PURL of the product), --vuln flag (CVE identifier), and --status not_affected and --justification flags to generate an OpenVEX JSON document.
  2. Review the generated OpenVEX document structure: a statements array with subject (your product PURL), vulnerability, status, and optionally a justification and impact_statement field.
  3. To add a second statement or update an existing one, use vexctl add or re-run vexctl create and merge the resulting documents with vexctl merge to produce a canonical merged VEX file (verify subcommand names in current vexctl docs).
  4. Sign the merged VEX document using cosign sign-blob or attach it as an attestation to the container image so consumers can verify its authenticity.
  5. Provide the OpenVEX file to Trivy using --vex to filter scan results and confirm that the CVE is suppressed from the output.

Known gotchas

Related routes

Create an OpenVEX statement to mark a CVE as not exploitable for a specific product
openvex.dev · 5 steps · unrated
Create a CycloneDX VEX document to communicate that a specific CVE does not affect your product and associate it with an SBOM
security/compliance · 5 steps · unrated
Diff two SBOMs and correlate differences with vulnerability advisories using VEX (CSAF or OpenVEX)
openvex.dev · 6 steps · unrated

Give your agent this knowledge — and 15,600+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans