-
Notifications
You must be signed in to change notification settings - Fork 43
Closed
Labels
enhancementNew feature or requestNew feature or requestintegrationRelated to integration of SSVC into another framework or systemRelated to integration of SSVC into another framework or systemintegration/blockerSomething that is blocking integration with another framework or systemSomething that is blocking integration with another framework or systemtech/backendBack-end tools, code, infrastructureBack-end tools, code, infrastructure
Milestone
Description
Background
In conversation with @tschmidtb51 about various SSVC & CSAF integration tasks (#802), it came up that our current SSVC_Computed.schema.json is actually pretty far out of sync with how we think we want to support SSVC decision point selection exchange.
The CSAF effort needs to pin down SSVC data representation to a specific schema so that they can work towards standardizing SSVC inclusion in CSAF documents. Absent a newer schema, they will be incorporating the existing schema only, which will limit our future options.
Goal
The goal of this issue is to create a minimalist pydantic data structure that we can use to represent a list of SSVC Decision Point Value selections.
Requirements & Assumptions
We can assume that
- decision points are identified fully by their
namespace:key:version(see Initial Decision Table object #795 for more on this), and - within the context of a fully-specified decision point, the
value.keyis sufficient to fully-qualify a selected value roleis not relevant to a selection and does not belong in theselectionschema at all- The concept of evaluator identity might be relevant to a CSAF receiver's decision whether to accept/use the provided evaluation data, but CSAF already has a
sourcefield that covers this angle. versionin the old schema is a hold-over from when we were versioning SSVC as a whole. Our current scheme is that we version individual decision points instead, so that information belongs in the decision point blocks.
Additional requirements:
-
timestampis required, and should be ISO-8601 compatible - Use 'selections' instead of 'options' to contain the list of selections.
- A single decision point can support a list of selections from its values, but must be of minimum length 1.
- A multi-selection allows us to describe evaluations where a user might have evaluated a decision point inconclusively, but might have reduced the possibility space from
$n = N$ to$n < N$ values, where$n$ is the number of selections for a given decision point, and$N$ is the number of values in the original decision point. - Change 'id' to 'vulnerability_id' and make it optional.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestintegrationRelated to integration of SSVC into another framework or systemRelated to integration of SSVC into another framework or systemintegration/blockerSomething that is blocking integration with another framework or systemSomething that is blocking integration with another framework or systemtech/backendBack-end tools, code, infrastructureBack-end tools, code, infrastructure