On Tue, Oct 22, 2024 at 12:33 PM Jarek Potiuk <ja...@potiuk.com> wrote:
> > For the real deal, would we publish SBOMs next to the JARs, for example in
> https://dist.apache.org/repos/dist/release/commons/io/binaries/ ? With
> files names that have a version or not?
>
> I think it's a good idea, eventually when SBOM generation is "popular" in
> ASF and when tooling to produce SBOM will be tested and easy to apply by
> all our projects, I think we should likely propose a change to the release
> process to not only have packages, signatures and checksums but also
> (ideally signed) SBOMs.
>
> But there is one watchout before we do it (and how we do it) - and we have
> to learn it over time. Essentially our "release" repo is "write-once-only"
> (or so I think about it). Once we publish something as a package,
> signature, checksum file - should never change,
>
> The whole SBOM generation is relatively new, and the tools that generate it
> change, also SBOM standards will evolve. There is a big difference between
> .tar.gz source package and .sbom - because essentially, SBOM might not be
> treated (at least currently I think) as "immutable". Not because we will
> change sources for example, but because tools to generate SBOMS will be
> better over time. SBOMS contain a lot of information - for example
> information about licences. And some of that information is wrong today
> (due to imperfectness of the tools) - but this might (And will) change in
> the future.

I much agree the tooling around SBOMs is still immature and we have a
lot to learn collectively. That said, I do think SBOMs should be
immutable 'in principle' (and definitely be tied to a particular
version/artifact). If there's bugs in the SBOM, like with bugs in the
code, we can fix those in the new version :).

> A good example - initial SBOMS generated by Airflow had like 50% of licence
> information for all Python dependencies, but when I generate them now -
> they are 100% and pretty correct. Other stuff in SBOMS (who are the
> authors, what's the organisation owning it etc.) - this all might change
> without changing the software that was used to generate the SBOM with (not
> even single package version changed - simply metadata and tooling used to
> produce SBOMS might change).
>
> For example - I have tooling that allows to regenerate and re-publish
> Airflow SBOMS for all historical versions - and publish them via our web
> page:
> https://airflow.apache.org/docs/apache-airflow/stable/security/sbom.html.
> And this and next week I am planning to regenerate and re-publish all of
> them with the latest version of cdxgen (that's the tool we use to generate
> our CycloneDX SBOMS).

This is still cool 'in practice', of course - but I don't think we
should _expect_ projects to go back and update SBOMs for
already-released versions.

> So before we propose where and how to store it, I think we need to decide
> how we approach the lifecycle of SBOMS, and then find the right place for
> them.

Everything is still very much in flux (not just within Apache but
generally), so I think all those different aspects will have to evolve
in tandem - we can't really postpone figuring out how to build SBOMs
until we have a final decision on how to distribute or use them - or
vice-versa - as learnings from each of these will influence each
other.


Kind regards,

Arnout

> On Tue, Oct 22, 2024 at 12:06 PM Gary Gregory <garydgreg...@gmail.com>
> wrote:
>
> > Hi all,
> >
> > For the real deal, would we publish SBOMs next to the JARs, for example in
> > https://dist.apache.org/repos/dist/release/commons/io/binaries/ ? With
> > files names that have a version or not?
> >
> > Gary
> >
> > On Tue, Oct 22, 2024, 5:10 AM Piotr P. Karwasz <piotr.karw...@gmail.com>
> > wrote:
> >
> > > Hi Arnout,
> > >
> > > On Mon, 21 Oct 2024 at 15:34, Arnout Engelen <enge...@apache.org> wrote:
> > > > During a recent discussion elsewhere we figured it might be nice to
> > > collect
> > > > the SBOMs currently published by Apache projects in a single place to
> > > > facilitate experimentation. I've put those at
> > > > https://github.com/apache/security-site/tree/sboms/sboms for now. As
> > you
> > > > can see there's already a fair number of ASF projects publishing SBOMs,
> > > and
> > > > I'm sure I've missed some - LMK.
> > >
> > > Nice job!
> > >
> > > What kind of SBOMs should we upload to the repo and how should we
> > > structure the folders?
> > >
> > > In Log4j (and probably other library Java projects), we have two kinds
> > > of SBOMs, depending on the CycloneDX Maven Plugin goal we use[1]:
> > >
> > > * "normal" source SBOMs: these are generated for each binary component
> > > (e.g. `log4j-api` or `log4j-core`) and list all the dependencies of
> > > those components.
> > > * "aggregate" SBOMs: these are basically a composition of all the
> > > "normal" source SBOMs that are released together. The "dependencies"
> > > of the main component in the aggregate SBOM are the different Maven
> > > modules of a multi-module Maven build.
> > >
> > > I think that the second kind is what we want, since they give all the
> > > information in one place. Each PMC could structure its folders
> > > according to the structure adopted on `downloads.apache.org`. E.g. for
> > > Logging services I could upload the SBOMs as:
> > >
> > > * logging/log4j/2.24.1/apache-log4j-2.24.1-cyclonedx.xml
> > > * logging/log4j-scala/13.1.0/apache-log4j-scala-13.1.0-cyclonedx.xml
> > > * etc.
> > >
> > > What do you think?
> > >
> > > Piotr
> > >
> > > [1]
> > >
> > https://github.com/CycloneDX/cyclonedx-maven-plugin?tab=readme-ov-file#goals
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> > security-discuss-unsubscr...@community.apache.org
> > > For additional commands, e-mail:
> > > security-discuss-h...@community.apache.org
> > >
> > >
> >



-- 
Arnout Engelen
ASF Security Response
Apache Pekko PMC member, ASF Member
NixOS Committer
Independent Open Source consultant

---------------------------------------------------------------------
To unsubscribe, e-mail: security-discuss-unsubscr...@community.apache.org
For additional commands, e-mail: security-discuss-h...@community.apache.org

Reply via email to