Hello Simon,

Am Thu, Sep 07, 2023 at 03:03:47PM +0000 schrieb Simon Falsig:
> Hi,
> 
> I saw a post from 2021 to the mailing list on generating SBOMs from ptxdist.
> Has there been any further work on this?
> 
> We've been looking at implementing this internally - plan would be to generate
> the SBOM in CycloneDX format, and consume it with Dependency-Track 
> (https://dependencytrack.org) for automatic vulnerability and license 
> monitoring.
> 
> Looks like we're quite close to having a working setup, but it'd make a lot 
> more
> sense to have it upstreamed rather than as local patches, so would like to 
> get a
> bit of input on the approach, and see if we can make that happen :)
> 
> We've identified two main steps:
> 1. Generate the SBOM itself. A minimal version of this can be created from the
>    output of the existing fast-bsp-report in 40 lines of Python, using the
>    CycloneDX library.
>    I'd assume that such a script would just go into the scripts folder in 
> ptxdist?
>    Is there a common way of tracking / documenting dependencies of such 
> scripts?
> 
> 2. To track vulnerabilities, it's necessary to track the Common Platform
>    Enumeration (CPE) name of each package (from 
> https://nvd.nist.gov/products/cpe).
>    This will allow matching packages to CVEs.
>    My suggestion would be to add a _CPE variable to each package (built from
>    whatever other variables make sense, typically _VERSION). I managed to add 
> this
>    for the fast report (extracting it to pkg_cpe in 
> rules/post/ptxd_make_world_common.make,
>    and adding it to the report in scripts/lib/ptxd_make_world_report.sh), but 
> I
>    wouldn't be surprised if there are other places/report that need to track 
> this
>    also for consistency?
>    Packages that specify _CPE would then have this included in their report, 
> and
>    there'd be no change for the packages that don't specify it.

As far as I know buildroot [1] already has support for this.  They
construct this from defaults and override it with several different
variables if defaults are not sufficient for a particular project:

<PKG>_CPE_ID_VENDOR
<PKG>_CPE_ID_VERSION
<PKG>_CPE_ID_UPDATE
<PKG>_CPE_ID_PRODUCT

And maybe more?  Some quirks handling like this is probably necessary
in ptxdist, too?

Greets
Alex

[1] https://buildroot.org/

> 
> 
> I'd be happy to get a bit of initial feedback on the approach. I'll have a 
> look
> at putting up some initial patches in the coming days too.
> 
> Thanks in advance and best regards,
> Simon
> 

Reply via email to