From: Syeda Shagufta Naaz <shaguftanaazhashmi@gmail.com>
To: isar-users <isar-users@googlegroups.com>
Subject: Re: [RFC PATCH 0/1] SBOM Generation for isar
Date: Wed, 30 Jul 2025 22:38:03 -0700 (PDT) [thread overview]
Message-ID: <39f0bde3-fac8-48a9-a393-2566c17831e9n@googlegroups.com> (raw)
In-Reply-To: <20250220095944.114203-1-felix.moessbauer@siemens.com>
[-- Attachment #1.1: Type: text/plain, Size: 4233 bytes --]
Hi,
Based on the patch, it seems that the externalReferences field is added
when the homepage is available for the package. Would it be feasible to use
our own scripts to populate the externalReferences field for the packages
where it is currently missing?
For the two packages considered below, we can see that the
externalReferences field is added for one component (apparmor) and missing
from the other (adduser).
```
{
"bom-ref": "CDXRef-adduser",
"description": "add and remove users and groups",
"name": "adduser",
"purl": "pkg:deb/debian/adduser@3.134?arch=all",
"supplier": {
"contact": [
{
"email": "adduser@packages.debian.org"
}
],
"name": "Debian Adduser Developers "
},
"type": "library",
"version": "3.134"
},
{
"bom-ref": "CDXRef-apparmor",
"description": "user-space parser utility for AppArmor",
"externalReferences": [
{
"comment": "homepage",
"type": "website",
"url": "https://apparmor.net/"
}
],
"name": "apparmor",
"purl": "pkg:deb/debian/apparmor@3.0.8-3?arch=amd64",
"supplier": {
"contact": [
{
"email": "pkg-apparmor-team@lists.alioth.debian.org"
}
],
"name": "Debian AppArmor Team "
},
"type": "library",
"version": "3.0.8-3"
},
```
Thanks,
Syeda Shagufta Naaz
syedashagufta.naaz@siemens.com
On Thursday, February 20, 2025 at 3:31:38 PM UTC+5:30 Felix Moessbauer
wrote:
From: Christoph Steiger <christop...@siemens.com>
This patch would add SBOM generation support for isar.
We already generate a manifest as part of the do_rootfs task which is
used by some people internally at Siemens to create SBOMs, but it has
a proprietary format and is not documented. It also has become apparent
that more information than in the manifest is required.
To create the SBOMs we parse the dpkg status file in a given image and
have some python scripts to build a valid SBOM for the two standard
formats (CycloneDX and SPDX).
The python scripts are a very minimal implementation to generate SBOMs,
as all other tools have heavier dependencies that are not packaged in
debian. As we also require only a small subset of these libraries (we
only generate a specific version and format, using also only a small
part of the data structures) I chose to quickly implement this myself.
The current implementation also emits source package information in the
SPDX format. Unfortunately the CDX standard does not allow to map the
relationship between a debian source and binary package in a
satisfactory way, so I omitted it for now. There is talks internally
about how to represent this relationship, but it is probably a good idea
to leave it empty for now.
TODOs/next steps:
- license/copyright parsing: debian has no machine-readable format for
these, but they are very valuable for clearing purposes
- tigther bitbake integration: if we hook into each recipe we could add
more information and correctly represent vendor packages
Please tell me what you think and how we could land SBOM generation
here :-)
Christoph Steiger (1):
meta: add CycloneDX/SPDX SBOM generation
meta/classes/create-sbom.bbclass | 49 ++++
meta/classes/image.bbclass | 2 +
meta/lib/sbom.py | 446 +++++++++++++++++++++++++++++++
meta/lib/sbom_cdx_types.py | 82 ++++++
meta/lib/sbom_spdx_types.py | 95 +++++++
5 files changed, 674 insertions(+)
create mode 100644 meta/classes/create-sbom.bbclass
create mode 100644 meta/lib/sbom.py
create mode 100644 meta/lib/sbom_cdx_types.py
create mode 100644 meta/lib/sbom_spdx_types.py
--
2.39.5
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/39f0bde3-fac8-48a9-a393-2566c17831e9n%40googlegroups.com.
[-- Attachment #1.2: Type: text/html, Size: 5410 bytes --]
next prev parent reply other threads:[~2025-07-31 5:49 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-20 9:59 'Felix Moessbauer' via isar-users
2025-02-20 9:59 ` [RFC PATCH 1/1] meta: add CycloneDX/SPDX SBOM generation 'Felix Moessbauer' via isar-users
2025-02-20 18:58 ` 'Gernot Hillier' via isar-users
2025-03-04 11:54 ` 'Niedermayr, BENEDIKT' via isar-users
2025-03-04 12:12 ` 'Christoph Steiger' via isar-users
2025-06-10 12:03 ` 'Christoph Steiger' via isar-users
2025-07-14 12:16 ` 'Simone Weiß' via isar-users
2025-07-28 15:13 ` 'MOESSBAUER, Felix' via isar-users
2025-07-29 9:08 ` 'Christoph' via isar-users
2025-07-28 15:24 ` 'MOESSBAUER, Felix' via isar-users
2025-07-29 8:49 ` 'Christoph' via isar-users
2025-08-01 7:53 ` 'MOESSBAUER, Felix' via isar-users
2025-07-31 5:38 ` Syeda Shagufta Naaz [this message]
2025-07-31 6:50 ` [RFC PATCH 0/1] SBOM Generation for isar 'Christoph Steiger' via isar-users
2025-07-31 7:24 ` 'Jan Kiszka' via isar-users
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=39f0bde3-fac8-48a9-a393-2566c17831e9n@googlegroups.com \
--to=shaguftanaazhashmi@gmail.com \
--cc=isar-users@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox