You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit modifies the openvex spec to reflect the changes
in the OpenVEX Enhancement Proposal 0014: Expansion of the VEX Product Field.
Signed-off-by: Adolfo García Veytia (Puerco) <puerco@chainguard.dev>
@@ -194,8 +194,7 @@ The following table lists the fields of the OpenVEX statement struct.
194
194
| vuln_description | ✕ | Optional free-form text describing the vulnerability |
195
195
| timestamp | ✕ | Timestamp is the time at which the information expressed in the Statement was known to be true. Cascades down from the document, see [Inheritance](#Inheritance). |
196
196
| last_updated | ✕ | Timestamp when the statement was last updated. |
197
-
| products | ✕ | Product identifiers that the statement applies to. Any software identifier can be used and SHOULD be traceable to a described item in an SBOM. The use of [Package URLs](https://github.com/package-url/purl-spec) (purls) is recommended. While a product identifier is required to have a complete statement, this field is optional as it can cascade down from the encapsulating document, see [Inheritance](#Inheritance). |
198
-
| subcomponents | ✕ | Identifiers of components where the vulnerability originates. While the statement asserts about the impact on the software product, listing `subcomponents` let scanners find identifiers to match their findings. |
197
+
| products | ✕ | List of product structs that the statement applies to. See the [Product Data Structure] section below for the full description. While a product is required to have a complete statement, this field is optional as it can cascade down from the encapsulating document, see [Inheritance](#Inheritance). |
199
198
| status | ✓ | A VEX statement MUST provide the status of the vulnerabilities with respect to the products and components listed in the statement. `status` MUST be one of the labels defined by VEX (see [Status](#Status-Labels)), some of which have further options and requirements. |
200
199
| supplier | ✕ | Supplier of the product or subcomponent. |
201
200
| status_notes | ✕ | A statement MAY convey information about how `status` was determined and MAY reference other VEX information. |
@@ -220,7 +219,7 @@ readable justification labels and optionally enrich the statement with an
These fields are shared by both the `product` and `subcomponent` structs:
274
+
275
+
| Field | Required | Description |
276
+
| --- | --- | --- |
277
+
|@id| ✕ | Optional [IRI](#IRI) identifying the component to make it externally referenceable. |
278
+
| identifiers | ✕ | A map of software identifiers where the key is the type and the value the identifier. OpenVEX favors the use of purl but others are recognized (see the Identifiers Labels table below) |
279
+
| hashes | ✕ | Map of cryptographic hashes of the component. The key is the algorithm name based on the [Hash Function Textual Names](https://www.iana.org/assignments/named-information/named-information.xhtml) from IANA. See [Hash Names Table] for the full supported list. |
280
+
281
+
The `product` struct uses the above listed fields but has a list of subcomponents,
282
+
each itself a `component` subclass:
283
+
284
+
| Field | Required | Description |
285
+
| --- | --- | --- |
286
+
| subcomponents | ✕ | List of `component` structs describing the subcomponents subject of the VEX statement. |
287
+
232
288
### Status Labels
233
289
234
290
Status labels inform the impact of a vulnerability in the products listed
@@ -340,7 +396,7 @@ example, the sole statement has its timestamp data derived from the document:
@@ -472,6 +536,7 @@ alert and dashboards could present users with the official guidance from the pro
472
536
473
537
| Date | Revision |
474
538
| --- | --- |
539
+
| 2023-07-18 | Updated spec to reflect changes in [OPEV-0014: Expansion of the VEX Product Field](https://github.com/openvex/community/blob/main/enhancements/opev-0014.md)|
475
540
| 2023-07-18 | Bumped version of the spec to v0.0.2 after update to meet the VEX-WG doc. |
476
541
| 2023-06-01 | Removed supplier from the document level (following VEX-WG doc). |
477
542
| 2023-05-29 | Specification updated to reflect the published [Minimum Requirements for VEX] document. |
@@ -489,3 +554,4 @@ alert and dashboards could present users with the official guidance from the pro
0 commit comments