[Bug Infrastructure/29615] prototype & document SOP for signed-git-op repo

serhei at serhei dot io sourceware-bugzilla@sourceware.org
Tue Sep 27 13:23:30 GMT 2022


--- Comment #5 from Serhei Makarov <serhei at serhei dot io> ---
One issue with the SLSA4 checklist is that SLSA4 seems to be written in a way
that assumes developers are reviewing pull requests and there's a magic forge
that everyone trusts to securely decide when the merge criteria have been met.
Applying it to individual commits on a mailing-list workflow will be tricky and
AFAIK the kernel isn't currently doing that. The example on SLSA4 website of a
compliant project is SUSE Open Build System, which sounds magic-forge-y.

(Just trying to wrap my head around how it would hypothetically look. In
fully-paranoid SLSA4, we would need to verify

(a) the patch series submitted to the mailing list was reviewed & signed off by
<insert required number of reviewers>
(b) the patch series committed to the Git repo matches exactly what was signed
off in the mailing list (no last-minute good-Samaritan fixup by the maintainer)

and all of that would need to be recorded by GPG signatures on the mailing list
archives* and in the Git repo and verifiable by anyone after the fact, not 'oh,
we has a forge website, and the forge's security widget ok'ed the merge, so the
resulting Git repo must be good; hope no one hacked the forge'.

[*On an 8-patch series, 2 reviewers would need to attach a total of 16 GPG
signatures. Maybe with suitable tooling you could batch up the contents of the
8 patches into 1 email, and sign that, I dunno. {Forget doing that in your
corporate GMail web client.} You would then have a script anyone can run for
auditing purposes that slurps the Git repo and mailing list archives and flags
any commits that don't have two matching, GPG-signed Signed-Off-By: replies by

[The Git repo would also need to consume mailing lists somehow and block any
patches that have not been signed off. But this is orthogonal to after-the-fact
audits, and can basically be thought of as a convenience measure to protect
maintainers from accidentally making un-approved changes that would immediately
be caught and reverted.])

Is there an existing example of an SLSA4 compliant (or at least
trying-in-good-faith) project that has grappled with this kind of workflow? I'm
honestly not sure if the tooling to enable it is 100% there, at LF or anywhere

At the same time it's kind of intriguing to see if this level of paranoia can
be implemented in a somewhat convenient way.

You are receiving this mail because:
You are the assignee for the bug.

More information about the Overseers mailing list