Open jgilbert2017 opened 7 months ago
cc @JonDouglas
For this proposal, are you suggesting a concept of build provenance / trusted publishing similar to this?
I'm about to write a larger/broader proposal on this, so stay tuned!
wow, that looks like it :100: provided the artifacts that are published to the nuget server are being built by github from source.
this would be an enormous and necessary step up in defense against supply chain attacks. you da man.
Related Problem
Background: Supply chain attacks are becoming an increased vector for compromise.
Most recently, the open source library xz was compromised via a bad actor who inserted malicious code via a change to a source tarball that was not present in the git tree.
The current trust paradigm of nuget is based upon publisher trust via a signing key which can then be used to publish arbitrary binary nuget packages (*.nupkg).
An improvement to this model would be to allow trusted publishers to publish source releases (via signing a release tag) rather than a binary.
This would increase transparency and reduce the chance that a bad actor introduces malicious code into a binary.
The Elevator Pitch
Support publishing nuget packages via the package owner submitting a link to a git repository and a commit hash.
The nuget server backend should permanently mirror the the repository and checkout and build the nupkg artifact.
The nuget gallery should link to the mirrored source tree and commit.
Additional Context and Details
In support of this idea, it appears that
go
language packages work via a git tag.cc: @FiloSottile, @rsc, @anarazel
https://bsky.app/profile/filippo.abyssdomain.expert/post/3kowo2acmyx2k