]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commit
vex.bbclass: add a new class
authorBenjamin Robin (Schneider Electric) <benjamin.robin@bootlin.com>
Fri, 21 Nov 2025 09:54:10 +0000 (10:54 +0100)
committerSteve Sakoman <steve@sakoman.com>
Mon, 24 Nov 2025 16:08:18 +0000 (08:08 -0800)
commit123a60bc19987e99d511b1f515e118022949be7e
treefc4e3e27cc0b7d56632e61f6306c82fe65f2b229
parent9a204670b1c0daedf1ed8ff944f8e5443b39c8f7
vex.bbclass: add a new class

The "vex" class generates the minimum information that is necessary
for VEX generation by an external CVE checking tool. It is a drop-in
replacement of "cve-check". It uses the same variables from recipes
to make the migration and backporting easier.

The goal of this class is to allow generation of the CVE list of
an image or distribution on-demand, including the latest information
from vulnerability databases. Vulnerability data changes every day,
so a status generated at build becomes out-of-date very soon.

Research done for this work shows that the current VEX formats (CSAF
and OpenVEX) do not provide enough information to generate such
rolling information. Instead, we extract the needed data from recipe
annotations (package names, CPEs, versions, CVE patches applied...)
and store for later use in the format that is an extension of the
CVE-check JSON output format.

This output can be then used (separately or with SPDX of the same
build) by an external tool to generate the vulnerability annotation
and VEX statements in standard formats.

When back-porting this feature, the do_generate_vex() had to be modified
to use the "old" get_patched_cves() API.

Signed-off-by: Marta Rybczynska <marta.rybczynska@syslinbit.com>
Signed-off-by: Samantha Jalabert <samantha.jalabert@syslinbit.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6352ad93a72e67d6dfa82e870222518a97c426fa)
Signed-off-by: Benjamin Robin (Schneider Electric) <benjamin.robin@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/classes/vex.bbclass [new file with mode: 0644]