Re: Proposal for vendoring/bundling golang packages by default

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 23, 2025 at 12:32 AM Richard W.M. Jones <rjones@xxxxxxxxxx> wrote:
>
> I don't think supply chain security was really mentioned in the thread
> yet (apologies if it was - I only scanned it).
>
> There's a real danger that if we forgo responsibility for reviewing
> packages to another project, then someone can add a bad package to
> that other project and it becomes a problem for Fedora.  (npm is a
> particularly egregious example.)
>
> And yes, I know that review in Fedora is not always very thorough, but
> we should be aware of this and try not to make it worse.

I agree, this is definitely a concern.

Some people seem to think that "just use vendored dependencies" is a
cheat code to avoid legal and technical review of the dependencies of
an application, when in reality, the responsibility to check that
vendored dependencies contain only permissible content is still on the
package maintainer. (This is what imploded the NodeJS ecosystem after
vendoring was made the default.)

For Rust packages using vendored dependencies that are submitted for
package review, I explicitly check that the contents of the "vendor
tarball" contains only acceptable stuff. For example (not supply-chain
related, but export restrictions related), the "fiat-crypto" crate
contains some elliptic-curve cryptography that is not allowed to be
shipped by Fedora.

The "rust-fiat-crypto" package for this crate handles this correctly
by re-packing the tarball without this code, and never uploading the
original sources to fedora infra.
But of course, running "cargo vendor" will just give you a copy of the
fiat-crypto crate with all that stuff still in it - so this needs to
be patched during creation of the "vendor tarball"  before uploading
it to fedora infra, too.

But no such review is enforced ever again once the package has passed review.

I doubt that all maintainers of using-vendored-dependencies packages
(not specific to Rust) always do thorough reviews of vendored
dependencies like that for every update - because it requires
knowledge (that is often only "encoded" in the RPM packages for those
dependencies), and additional, tedious work reviewing any changes in
the dependencies.

Fabio
-- 
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux