From 1d7a9debf241f9649a40ebc367204bac0a86a67e Mon Sep 17 00:00:00 2001 From: Maximilian Brune Date: Thu, 14 Apr 2022 14:54:16 +0200 Subject: Add SBOM (Software Bill of Materials) Generation Firmware is typically delivered as one large binary image that gets flashed. Since this final image consists of binaries and data from a vast number of different people and companies, it's hard to determine what all the small parts included in it are. The goal of the software bill of materials (SBOM) is to take a firmware image and make it easy to find out what it consists of and where those pieces came from. Basically, this answers the question, who supplied the code that's running on my system right now? For example, buyers of a system can use an SBOM to perform an automated vulnerability check or license analysis, both of which can be used to evaluate risk in a product. Furthermore, one can quickly check to see if the firmware is subject to a new vulnerability included in one of the software parts (with the specified version) of the firmware. Further reference: https://web.archive.org/web/20220310104905/https://blogs.gnome.org/hughsie/2022/03/10/firmware-software-bill-of-materials/ - Add Makefile.inc to generate and build coswid tags - Add templates for most payloads, coreboot, intel-microcode, amd-microcode. intel FSP-S/M/T, EC, BIOS_ACM, SINIT_ACM, intel ME and compiler (gcc,clang,other) - Add Kconfig entries to optionally supply a path to CoSWID tags instead of using the default CoSWID tags - Add CBFS entry called SBOM to each build via Makefile.inc - Add goswid utility tool to generate SBOM data Signed-off-by: Maximilian Brune Change-Id: Icb7481d4903f95d200eddbfed7728fbec51819d0 Reviewed-on: https://review.coreboot.org/c/coreboot/+/63639 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth --- src/sbom/payload-U-Boot.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/sbom/payload-U-Boot.json (limited to 'src/sbom/payload-U-Boot.json') diff --git a/src/sbom/payload-U-Boot.json b/src/sbom/payload-U-Boot.json new file mode 100644 index 0000000000..840ab6fe84 --- /dev/null +++ b/src/sbom/payload-U-Boot.json @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +{ + "lang": "en-US", + "tag-id": "b714bb4f-c590-5bb7-af60-65374ecd097d", + "tag-version": 0, + "software-name": "U-Boot", + "software-version": "", + "version-scheme": "alphanumeric", + "software-meta": [ + { + "colloquial-version": "", + "persistent-id": "org.u-boot", + "summary": "Das U-Boot (subtitled 'the Universal Boot Loader') is an open-source, primary boot loader used in embedded devices to package the instructions to boot the device's operating system kernel" + } + ], + "entity": [ + { + "entity-name": "coreboot", + "reg-id": "coreboot.org", + "role": [ + "tagCreator" + ] + } + ] +} -- cgit v1.2.3