Topic · cvss severity consistent

CVSS severity consistent

Gist

CVSS severity consistent is whether an active KnownIssue whose holistic severity sits strictly below its own CVSS vector band still carries a reviewer-stamped severity_bound. Proof runs proof audit --check cvss_severity_consistent. Jama still authors.

proof audit --check cvss_severity_consistent

Keep the FIRST explainer if you need the qualitative score page. Keep Jama if it already authors the shall. Neither one reads this vector against this label.

01 · The silent under-label

A low stamp on a 9.8 vector drops the record out of every high-end hop.

Presence of the finding is not this hop. This hop is whether the label still matches the vector it carries.

The check is default-on, warning, verify stage. It walks every active KnownIssue (open / reviewed) that carries a CVSS vector which parses and yields a qualitative band. A KI whose status is fixed or withdrawn leaves the active set, so it is never flagged. Load failure is a fail. Zero CVSS-carrying KnownIssues is a pass that inspected nothing of this kind.

Every other severity-reconciliation surface in Proof is scoped to the high end. High severity reproducer grade reads severity, cve_surface, and severity_basis but never parses the vector. The severity-inflation policy only computes the over-rating direction, and only for high or critical labels. The known-issue mismatch nudge fires only for cve_surface in {likely, confirmed} and only at the two extreme corners. Downgrade the label to low, stamp severity_basis: reproducer, and the 9.8 rides along unread. That is the hole.

id: KI-C1
title: Unauthenticated SSRF via webhook URL
status: open
severity: low
severity_basis: reproducer
cvss: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

This hop reads the vector directly. It is indifferent to severity_basis and cve_surface, so a reproducer stamp no longer buys silence. The label band is compared to the vector band. When the label sits strictly below the vector, the hop fires unless a reviewer stamped severity_bound.

Known issue severity prose consistent asks whether the title grade and the field name the same tier. It does not parse CVSS. Security relevance consistent asks whether a security-named KI still has a vector and a non-none surface. It does not grade the band against the label. KI-C1 can sit in .proof/known-issues/ labeled low, vector 9.8, and those hops stay green. That is the silent under-label.

proof known-issue edit KI-C1 --set-severity critical
proof audit --check cvss_severity_consistent

Raise the label to the vector band, or stamp severity_bound with a non-empty reviewer and rationale, or correct the vector if the reproducer disproved the worst-case theory. An anonymous note is not a waiver. Over-rating (a label above the vector) is owned by the inflation policy and is never flagged here. Filing the KI as fixed to silence a still-open under-label is not a close. Deleting the YAML also silences the hop. It destroys the finding rather than recording the decision.

02 · The exhibit

Same KI-C1. Silent under-label, or this hop.

Open finding, label low, vector 9.8 Critical, severity_basis: reproducer. Click the tabs.

The row

  • Ask does the KI exist and sit at low with a reproducer basis
  • Stamp KI-C1.yaml is present, severity low, vector 9.8 unread
  • Why high-end hops read the label, not the vector
Status green

This hop

Nobody asked whether a low label still sits below its own Critical vector. Reproducer grade already skipped it. The warning is this hop.

No stamp

The row

Keep the FIRST explainer. Keep the Jama field. That is not this hop.

Keep the record

Proof

  • Ask is KI-C1 active, vector parseable, label strictly below the vector band, and unstamped
  • Out KI-C1: label low sits 3 bands below its own CVSS vector 9.8 Critical with no reviewer-stamped severity_bound
Vector unread

Same KI-C1. Silent under-label, or this hop. Click the tabs.

Surface What they do What Proof does What we lose
High severity reproducer grade Whether a high or critical KI has a runnable witness. Reads the label, not the vector. Warning. Whether the label sits below the vector it still carries. Not the witness hop. See high severity reproducer grade.
Known issue severity prose consistent Warning. Whether the title grade and the field name the same tier. Warning. Whether the field sits below the parsed vector band. Not the prose hop. See known issue severity prose consistent.
Security relevance consistent Warning. Whether a security-named KI still has a vector and a non-none surface. Warning. Whether that vector's band still matches the label. Not the naming hop. See security relevance consistent.
FIRST CVSS explainer Ads cvss severity is the qualitative score page if it ranks. A parse of this KI's vector against this KI's label. Not FIRST. We have not frozen a FIRST pack. Over-rating is a different check.
Jama field The authoring programme. Attributes if you put them there. A YAML object the audit can warn next to the shall. Not Jama's V&V. Jama still authors. We have not run a frozen Jama pack.

The teaching graph is still one active KI next to an unread vector. Raise the label, or stamp why it is legitimately lower.

proof known-issue edit KI-C1 --set-severity critical

The other honest exit is a reviewer-owned bound. Both fields must be non-empty:

severity_bound:
  reviewer: leonid
  rationale: webhook needs a misconfig the product refuses

Prose grade stays on known issue severity prose consistent. Naming stays on security relevance consistent. High-severity reachability stays on high severity reproducer grade. Do not treat a FIRST CVSS explainer as this cell. Jama still authors. Proof vs Jama.

03 · The honest loss

Proof names an unread vector. It does not prove the SSRF, and it does not prove the Go.

A green cvss_severity_consistent can still mean there were no CVSS-carrying KnownIssues. The hop is a warning. Jama still authors.

Warning severity. A counted finding does not block the audit. The hop does not fetch the tracker URL, re-run a PoC, or confirm the security claim is true. It fires only in the under-label direction. A label above the vector is owned by the inflation policy and is never flagged here. An empty vector is out of scope. An unparseable vector is skipped, not flagged. Zero CVSS-carrying KnownIssues is a pass that inspected nothing of this kind. Load failure is a fail. A severity_bound with no reviewer is not stamped. A warning is not a waiver: proof waive is a human authorization gate. The hop does not prove the Go. We have not scored this floor against a frozen Jama pack, a GitHub advisory export, or a FIRST CVSS pack. The loss is named, not scored.

The prose hop stays on known issue severity prose consistent. The naming hop stays on security relevance consistent. The engagement stays on software correctness audit. Jama still authors.

04 · Nearby questions

What people type next.

What is CVSS severity consistent? Same question. Same URL.

Is this high severity reproducer grade? No. That hop is whether a high or critical KI has a runnable witness. This hop is whether a low label still sits below its own vector. See high severity reproducer grade.

Is this known issue severity prose consistent? No. That hop is whether the title grade and the field name the same tier. This hop parses the vector. See known issue severity prose consistent.

Is this security relevance consistent? No. That hop is whether a security-named KI still has a vector and a non-none surface. This hop grades the band against the label. See security relevance consistent.

Does over-rating fire? No. A label above the vector is owned by the inflation policy. This hop never fires in that direction.

Does an unparseable vector fire? No. The hop skips a string it cannot parse. An empty vector is also out of scope.

Does a green hop prove the Go? No. The hop does not run the PoC. It does not fetch the tracker. It does not prove the function.

Is Proof a Jama alternative for the shall? No. Jama still authors. Proof vs Jama.