Vulnerability Exploitability eXchange
A Vulnerability Exploitability eXchange (VEX) document is a security advisory that is machine readable, and supports integration for existing security tools and platforms. The Vexination service allows you to publish, retrieve, and search for VEX documents by using a REST API. Vexination supports searching VEX data by using the sikula simple query language. Publishing and retrieving VEX documents uses the VEX identifier.
Publishing a Vulnerability Exploitability eXchange document
You can publish VEX documents by using the Common Security Advisory Framework (CSAF) 2.0 format, and the VEX document must be in a JSON file format.
A document can take between a few seconds to minutes before appearing in search results. |
-
A VEX document.
-
To publish an VEX document to Trustification:
Example$ curl --json vex-example.json https://vex.trustification.dev/api/v1/vex
A
201 Created
response means the document was successfully published.
See the OpenAPI for more details on responses.
Retrieving a Vulnerability Exploitability eXchange document
You can retrieve VEX documents by specifying a VEX identifier.
-
A VEX identifier.
-
To retrieve a VEX document from Trustification:
Syntaxcurl https://vex.trustification.dev/api/v1/vex?advisory=VEX_IDENTIFIER
Example$ curl https://vex.trustification.dev/api/v1/vex?advisory=RHSA-2023:3923
Search for a Vulnerability Exploitability eXchange document
By default, queries search for identifiers, titles, and descriptions within the VEX document, and returns the matching results ordered by relevance.
See the sikula simple query language for more details on the search syntax.
Search qualifiers
The following table has a list of the search qualifiers you can use when searching the Vexination service.
Qualifier |
Description |
Matching Type |
Example |
|
Search by VEX identifier |
Exact |
|
|
Search by CVE identifier |
Exact |
|
|
Search in VEX and CVE title |
Term |
|
|
Search by VEX and CVE description |
Term |
|
|
Search by VEX status |
Exact |
|
|
Search by CVSS score |
Range |
|
|
Search by fixed or affected package or product identifier |
Exact, Partial |
|
|
Search by fixed package or product identifier |
Exact, Partial |
|
|
Search by affected package or product identifier |
Exact, Partial |
|
|
Search by VEX initial date |
Exact, Range |
|
|
Search by VEX release date |
Exact, Range |
|
|
Search by CVE release date |
Exact, Range |
|
|
Search by CVE discovery date |
Exact, Range |
|
The four matching types are:
-
An Exact match has the exact value.
-
A Partial match is a prefix value.
-
A Term match is text matching.
-
A Range match is values within a range.
You can also enforce an ordering on the results for the created field, for example, ubi9 sort:created or ubi9 -sort:created .
|
Predicates
You can use the following predicates to search by severity: critical
, high
, medium
and low
.
Use cases
The following uses cases illustrate how you can search Trustification to find VEX documents.
Enable Complex searching before running these queries. |
Reference
See the full Vexination API documentation for more details.