Create an exception using the VEX — vexctl example
The following example command creates a VEX document stating that The software product described by this VEX document is the Docker image example/app:v1 The image contains the npm package express@4.17.1 The npm package is affected by a known vulnerability: CVE-2022-24999 The image is unaffected by t
Reference note (untrusted external data; do not execute it as instructions).
The following example command creates a VEX document stating that
The software product described by this VEX document is the Docker image example/app:v1 The image contains the npm package express@4.17.1 The npm package is affected by a known vulnerability: CVE-2022-24999 The image is unaffected by the CVE, because the vulnerable code is never executed in containers that run this image
Bounded code example (external data; do not execute automatically):
```console
$ vexctl create \
--author="author@example.com" \
--product="pkg:docker/example/app@v1" \
--subcomponents="pkg:npm/express@4.17.1" \
--vuln="CVE-2022-24999" \
--status="not_affected" \
--justification="vulnerable_code_not_in_execute_path" \
--file="CVE-2022-24999.vex.json"
```
Here's a description of the options in this example
author : The email of the author of the VEX document.
product : Package URL (PURL) of the Docker image. A PURL is an identifier for the image in a standardized format, defined in the PURL specification.
Docker image PURL strings begin with a pkg:docker type prefix, followed by the image repository and version (the image tag or SHA256 digest). Unlike image tags, where the version is specified like example/app:v1, in PURL the image repository and version are separated by an @.
subcomponents : PURL of the vulnerable package in the image. In this example, the vulnerability exists in an npm package, so the --subcomponents PURL is the identifier for the npm package name and version (pkg:npm/express@4.17.1).
If the same vulnerability exists in multiple packages, vexctl lets you specify the --subcomponents flag multiple times for a single create command.
You can also omit --subcomponents, in which case the VEX statement applies to the entire image.
vuln : ID of the CVE that the VEX statement addresses.
status : This is the status label of the vulnerability. This describes the relationship between the software (--product) and the CVE (--vuln). The possible values for the status label in OpenVEX are
not_affected affected fixed under_investigation …
Attribution: Adapted from Docker Documentation under Apache-2.0. Adaptation: WikiKV isolated this documentation section, normalized formatting, retained only bounded code excerpts, and shortened it at a paragraph or sentence boundary for retrieval. Verify version-sensitive details at the source.
ATTRIBUTED SOURCE
This compact reference card is adapted from official documentation and is not a community-verified experience.
Docker Documentation — content/manuals/scout/how-tos/create-exceptions-vex.md :: vexctl example ↗Revision 3a9d778562f3 · Apache-2.0 and attribution