Skip to content

Commit f462e67

Browse files
#17 - Added readme
1 parent 77c6036 commit f462e67

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

VEX/README.md

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Vulnerability Exploitability Exchange (VEX)
2+
3+
Known vulnerabilities inherited from the use of third-party and open source software and the exploitability of the vulnerabilities
4+
can be communicated with CycloneDX. Previously unknown vulnerabilities affecting both components and services may also be disclosed
5+
using CycloneDX, making it ideal for both VEX and security advisory use cases.
6+
- VEX information can be represented inside an existing BOM, or in a dedicated VEX BOM
7+
- Supports known and unknown vulnerabilities against components and services
8+
- Communicates the vulnerability details, exploitability, and detailed analysis
9+
10+
## Independent BOM and VEX BOM
11+
Inventory described in a BOM (SBOM, SaaSBOM, etc) will typically remain static until such time the inventory changes.
12+
However, vulnerability information is much more dynamic and subject to change. Therefore, it is recommended to decouple
13+
the VEX from the BOM. This allows VEX information to be updated without having to create and track additional BOMs.
14+
15+
VEX is an integral part of the CycloneDX specification providing the convenience of leveraging a single format and tool chain.
16+
17+
![Independent BOM and VEX Document](https://cyclonedx.org/theme/assets/images/vexbom.svg){: width="500" }
18+
19+
With CycloneDX, it is possible to reference a component, service, or vulnerability inside a BOM from other systems or
20+
other BOMs. This deep-linking capability is referred to as BOM-Link.
21+
22+
**Syntax**:
23+
```
24+
urn:cdx:serialNumber/version#bom-ref
25+
```
26+
27+
**Examples**:
28+
```
29+
urn:cdx:f08a6ccd-4dce-4759-bd84-c626675d60a7/1
30+
urn:cdx:f08a6ccd-4dce-4759-bd84-c626675d60a7/1#componentA
31+
```
32+
33+
| Field | Description |
34+
| ------------ | ----------- |
35+
| serialNumber | The unique serial number of the BOM. The serial number MUST conform to RFC-4122. |
36+
| version | The version of the BOM. The default version is `1`. |
37+
| bom-ref | The unique identifier of the component, service, or vulnerability within the BOM. |
38+
39+
## BOM With Embedded VEX
40+
41+
![BOM With Embedded VEX](https://cyclonedx.org/theme/assets/images/embedded-vex.svg){: width="167" }
42+
43+
CycloneDX also supports embedding VEX information inside a BOM, thus having a single artifact that describes both
44+
inventory and VEX data. There are several uses for embedding VEX data including:
45+
46+
* Audit use cases where inventory and vulnerability data need to be captured at a specific point in time
47+
* Automated security tools may opt to create a single BOM with embedded vulnerability or VEX data for convenience and portability
48+
49+
## CycloneDX and Third-Party Advisory Formats
50+
51+
Every component or service defined in a CycloneDX BOM may optionally define external references to security advisory
52+
feeds. CycloneDX is agnostic to the advisory format, however, the
53+
[Common Security Advisory Framework (CSAF)](https://www.oasis-open.org/committees/csaf), an OASIS Open standard, is
54+
recommended. Refer to the [Security Advisories Use Case](https://cyclonedx.org/use-cases/#security-advisories) for more information.
55+
56+
CSAF also supports an optional VEX profile which can be used with CycloneDX.
57+
58+
## High-Level Object Model
59+
60+
![CycloneDX Object Model Swimlane](../../theme/assets/images/CycloneDX-Object-Model-Swimlane.svg){: width="900"}

0 commit comments

Comments
 (0)