I think you misunderstood what I said.
Or I don't understand your answer.

But it is off-topic anyway. I'm sorry for derailing the conversation.

On Mon, Feb 19, 2024 at 11:49 PM Jarek Potiuk <ja...@potiuk.com> wrote:
>
> > The "upstream" library SBOM is - in those cases - mostly useful for
> > metadata (authorship, provenance maybe, signatures/hashes, licenses
> > etc.) but other than that they can be "dangerous" to use.
> > The whole SBOM ecosystem is still very immature in my opinion and all
> > of these best practices are yet to emerge.
> > The Cyber Resilience Act will probably speed that up a bit
>
> Quite agree on both accounts (immature + CRA). I think however that even
> such "imperfect" SBOM from libraries has it's value as it can indicate that
> "some dependencies" are involved  - and I think this will partially solve
> itself when the release cycle speeds up for many libraries (which will be
> pretty inevitable effect of CRA IMHO) + VEX.
> From my experience I always see the dependencies a bit similar to the
> "eventually consistent" concept. The more "Fresh" information you have the
> more accurate it is - asymptotically approaching the "true state" (i.e
> least number of false positives and negatives).
>
> The older information/SBOMS you have, the bigger the number of both
> "falsey" information you will get increases. It will not negate the value
> of the whole SBOM, but it will make it less reliable over time - that's why
> also in Airflow we have this "SBOM/images frozen at release time" concept,
> It's 100% accurate at release time, but a month from then, the dependency
> of your library will be updated and some CVEs fixed there (and announced
> about the version of library you "Froze" at your release time. It does not
> make your software insecure, but it makes the SBOM information less
> accurate and shows the false positive. VEX should - to some extent -
> mitigate that, but I am of the opinion that we only should keep VEX
> reflecting the "latest released" version of software (per maintained line)-
> so that it "fixes" such false positives only for the most recently released
> version of the software. But VEX should "reset" at the moment the new
> release is out (and we should have only one VEX updated  - always pointing
> to the last released version in the maintained line).
>
> I think this SBOM deterioration over time and "freezing" all dependencies
> at release time has one great property overall. It will - even more -
> increase people's incentives to spend time and energy on upgrading to the
> latest software, because the older software they will have the less they
> will be able to rely on even the SBOM of htat software and the more
> potential false positives they will have to deal with. With all the
> regulations in place and with us - producers of the software - agreeing on
> the fact that "old SBOMS should be fixed in point in time" and all of us -
> producers of the software - agreeing that it is OK for SBOMS to deteriorate
> over time, and that we are not going to address this deterioration by VEX
> except the last available release, it might help to make sure that users
> will in-fact upgrade their software.
>
> Simply speaking - as an industry we have to create an incentive for our
> users to see how cost connecting with "not upgrading" grows with time (by
> having to analyse and handle growing number of true and false positives) -
> up to the point that the cost of not upgrading is bigger than the cost of
> upgrading. So far we lived in a world where the cost of not upgrading was
> close to 0 in most cases for most users and we need to change it. We need
> to make absolutely sure that the users are painfully aware that their cost
> of not upgrading is growing constantly - starting from 0 at the moment of
> upgrading to the latest version.
>
> So having a "dangerous" SBOM for something that was released, 3 versions
> ago - yes. I very much like the idea. It should be more and more dangerous
> to rely on it the older it gets.
>
> J.
>
> On Mon, Feb 19, 2024 at 10:50 PM Lars Francke <lars.fran...@gmail.com>
> wrote:
>
> > Please don't take this the wrong way: I'm not arguing for or against
> > anything.
> > I just present opinions that you'll see and read in the SBOM ecosystem.
> > I don't have a fully formed opinion on most of these things myself.
> >
> > One argument is that downstream consumers of libraries should build
> > their own SBOMs as only they will know how something is actually used.
> > In Java for example only the consumer will know if she excluded
> > something or replaced a dependency or another "sibling" dependency has
> > something that overrides ours, shading could happen, optional
> > dependencies can be used or not etc.
> >
> > The "upstream" library SBOM is - in those cases - mostly useful for
> > metadata (authorship, provenance maybe, signatures/hashes, licenses
> > etc.) but other than that they can be "dangerous" to use.
> > The whole SBOM ecosystem is still very immature in my opinion and all
> > of these best practices are yet to emerge.
> > The Cyber Resilience Act will probably speed that up a bit.
> >
> > On Mon, Feb 19, 2024 at 9:57 PM Gary Gregory <garydgreg...@gmail.com>
> > wrote:
> > >
> > > I don't think that's fair or good. I see 2 purposes:
> > >
> > > 1) Ourselves knowing what we publish
> > > 2) Use for downstream consumers
> > >
> > > For 1, I see an SBOM like a POM in a different format. We can run tools
> > on
> > > a POM or SBOM to maybe tell us interesting things. Like "you have a
> > > (transitive) dependency on a CVE".
> > >
> > > For 2, there is no way of knowing, so I'll keep my life simpler and
> > publish
> > > whatever a plain Maven plug-in configuration gives me.
> > >
> > > If you think Apache Commons should do better or differently, please let
> > me
> > > know!
> > >
> > > Gary
> > >
> > > On Mon, Feb 19, 2024, 12:45 PM Lars Francke <lars.fran...@gmail.com>
> > wrote:
> > >
> > > > There are some people saying that libraries should not publish SBOMs
> > at all
> > > > because they have no idea how they are going to be used and then
> > publishing
> > > > something could lead to a false sense of correctness.
> > > >
> > > > I'm not sure I agree but there is some truth in it.
> > > >
> > > > Gary Gregory <garydgreg...@gmail.com> schrieb am Mo., 19. Feb. 2024,
> > > > 18:24:
> > > >
> > > > > This is something I've been thinking about for a while: a (Maven)
> > project
> > > > > should not have optional dependencies. It just makes a mess in the
> > end
> > > > and
> > > > > usually surprises users with class not found errors at runtime.
> > > > >
> > > > > This makes more sense if you split up a project into a multi-module
> > > > (Maven)
> > > > > project to only bring in required dependencies in the module that
> > > > actually
> > > > > needs it.
> > > > >
> > > > > Then I can add a check (somehow) that warns me (or fails) if my POMs
> > use
> > > > > optional dependencies. Another informative check would be if
> > transitive
> > > > > dependencies have optional dependencies.
> > > > >
> > > > > Gary
> > > > >
> > > > > On Mon, Feb 19, 2024, 12:12 PM Piotr P. Karwasz <
> > piotr.karw...@gmail.com
> > > > >
> > > > > wrote:
> > > > >
> > > > > > Hi Arnout,
> > > > > >
> > > > > > Wow, great job! Until recently I had to upload SBOMs to Dependency
> > > > > > Track manually. I suppose you have some sort of script for that?
> > > > > >
> > > > > > On Mon, 19 Feb 2024 at 15:20, Arnout Engelen <enge...@apache.org>
> > > > wrote:
> > > > > > > More and more Apache projects are producing SBOMs as part of
> > their
> > > > > > release
> > > > > > > process. Challenges producing and consuming SBOMs are definitely
> > > > > on-topic
> > > > > > > for this list, and ideally we can consolidate that knowledge on
> > the
> > > > > > wiki[0]
> > > > > >
> > > > > > The first challenge that comes to mind is what version of our
> > > > > > transitive dependencies should libraries specify in their SBOMs. I
> > > > > > stress out the case of libraries, because for applications it is
> > > > > > easier: they list the libraries they embed in their distribution.
> > > > > >
> > > > > > I am a big fan of Maven's dependency management, so whenever our
> > > > > > direct dependency `foo` depends on a vulnerable `bar-1.0.0`, I bump
> > > > > > the version of `bar` in the dependency management section of my
> > > > > > project to `1.0.1` and the problem is solved! My test suite will
> > run
> > > > > > using `bar-1.0.1`, my SBOM will contain `bar-1.0.1` and Dependency
> > > > > > Track will not complain.
> > > > > >
> > > > > > However this is just a trick: users of my library will still have
> > > > > > `bar-1.0.0` on their classpath, unless they also bump the version
> > of
> > > > > > `bar` or the `foo` project releases a version that depends on
> > > > > > `bar-1.0.1`.
> > > > > >
> > > > > > There is also another solution in Maven: I could add `bar` as a
> > direct
> > > > > > dependency of my project and bump its version to `1.0.1`. This way
> > > > > > users can also benefit from the version bump, but this adds
> > additional
> > > > > > maintenance work: Dependabot will track new versions of `bar` and
> > the
> > > > > > list of project dependencies becomes long and messy.
> > > > > >
> > > > > > What do you think we should do in this case?
> > > > > >
> > > > > > > If you know of any other projects to include, would like help
> > setting
> > > > > up
> > > > > > > SBOM publishing for your project, contribute 'nightly' SBOM
> > > > snapshots,
> > > > > or
> > > > > > > discuss other things SBOM, I'm all ears!
> > > > > >
> > > > > > It would be nice to integrate Dependency Track into our release
> > > > > > process. If the process of uploading SBOMs to Dependency Track is
> > > > > > simplified, I could:
> > > > > >
> > > > > >  * compile a snapshot,
> > > > > >  * check if there are dependency alerts (Dependabot gives us alerts
> > > > > > for direct dependencies, but not the transitive ones),
> > > > > >  * bump the vulnerable transitive dependency versions (if
> > possible),
> > > > > >  * prepare a release candidate.
> > > > > >
> > > > > > Piotr
> > > > > >
> > > > > >
> > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail:
> > > > > security-discuss-unsubscr...@community.apache.org
> > > > > > For additional commands, e-mail:
> > > > > > security-discuss-h...@community.apache.org
> > > > > >
> > > > > >
> > > > >
> > > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: security-discuss-unsubscr...@community.apache.org
> > For additional commands, e-mail:
> > security-discuss-h...@community.apache.org
> >
> >

---------------------------------------------------------------------
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