Skip to content

[FEATURE]: Make VEX Ratings Actionable in CycloneDX Consumers #719

@fahedouch

Description

@fahedouch

Describe the feature

Many CycloneDX VEX consumers (e.g Dependency-Track, Trivy..) consider only analysis.state (e.g., not_affected, exploitable, resolved) and ignore vulnerabilities[].ratings[] (e.g., CVSS, OWASP Risk Rating). Ratings carry essential exploitability and risk context and should be first-class inputs for prioritization.

Why this matters: ratings are especially important when analysis.state is exploitable or in_triage. In these cases, ratings (e.g., OWASP Risk Rating, CVSS) provide the precision needed to assess exploitability and prioritize remediation. VEX is currently the most effective community mechanism to exchange this information.

Request: Provide clear guidance or a mechanism in CycloneDX so that ratings are consistently interpreted and used by scanners alongside analysis.state.

Possible solutions

  • Spec clarification: Normative language that consumers SHOULD/MUST consider ratings with analysis.state, with basic precedence guidance.
  • Introduce new specification to exchange ratings: Vulnerability Rating Exchange (VRX)

Additional context

Observed behavior: tools often ignore OWASP/CVSS entries in VEX ratings.

Example intent:

{
  "vulnerabilities": [
    {
      "id": "DEBIAN-CVE-XXX",
      "ratings": [{ "method": "OWASP", "score": 5.0, "severity": "critical" }],
      "analysis": {
        "state": "in_triage",
        "detail": "Severity via OWASP Risk Rating (score 5.0 → critical)"
      }
    }
  ]
}

Questions

  • Should ratings be normative inputs for prioritization in VEX consumers?
  • Should we introduce a new specification for ratings exchange (VRX)?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions