-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dogfood verification #106
Comments
Agreed! We can prioritize this.
Yep, this should be easy to include in our release workflow.
Yeah, this name isn't great...I believe we cribbed it from
I might be misunderstanding what you mean, but in this case the signing key should be ephemeral and not directly verifiable. The bootstrap process is:
So in this case, verifying the artifact can take a few forms:
So, TL;DR, you shouldn't need to hardcore or otherwise specify any inputs other than the ones |
I think what @jku means here is that he wants to verify that the issuer is GitHub, this should be possible by adding a flag like (Also just want to point out that this library is currently broken due to #105) |
I would like proof that the artifact was built by a GitHub build host using the sigstore-python workflow (and was not e.g. built locally by a malicious maintainer who modified the artifact). I now know how to verify that someone claims that the sigstore-python workflow was used... but I'm not sure that information is useful for me? Maybe your comment about querying Rekor for the identity is the piece that I'm missing (but i can't find more info on that). Or maybe this is just not something these signatures are good for? |
Also linking sigstore/cosign#1313 and sigstore/cosign#1947 here, which are related. |
Yes this looks like it! |
Okay, that makes sense! Yes, we should definitely add a flag that supports that. I can look into it today (although, like @di said, we're currently broken due to changes to the production sigstore instance). |
We just cut 0.5.0, so I'll work on a patch release that dogfoods verification as part of the release CI. |
Closing this could be a little premature considering that the only thing that is currently verifiable is that some sort of build was done ins some project on a GitHub builder (aka checking oidc provider) -- the used project, sources or workflow aren't verifiable. But there's obviously momentum here so I'm not really complaining :) |
I agree. |
One more thought on this, seeing how there's some hesitation in sigstore/cosign on how and if to expose the X509 extensions or even the SAN to CLI (and knowing that those extensions are essential to usefully verifying build integrity -- at least without using much heavier solutions like https://github.com/slsa-framework/slsa-github-generator). It's entirely possible that a generic verifying tool like Thoughts? |
I'd be in favor of something like that. I'd personally prefer a "mode-switching" flag under the But I think @di has the final say 🙂 |
I'm kind of interested in exploring a single-file format that encapsulates all these options first, see #124 |
This should be possible now that #157 is resolved. |
@jku is there other functionality/testing you'd like to see for a closeout of this issue? I think the CLI and API themselves now cover everything you mentioned, but I didn't want to close this out unilaterally 🙂 |
Yeah, looks good to me. If there are further things to improve, new issues would be more useful. Closing |
Closes sigstore/sigstore-conformance#103. Signed-off-by: William Woodruff <[email protected]>
I'm not a complete beginner and I still have trouble understanding what exactly I can actually verify with sigstore-python at the moment... It would be helpful if there was an example in the documentation of verifying e.g. that a sigstore-python release was actually built by the github action of the project.
The status at the moment seems to be:
sign --output-*
options were just added) but currently they are not publishedverify --cert-email
option that seems to be what I want, just slightly badly named: it looks like it would allow me to check that SAN containsURI:https://github.com/sigstore/sigstore-python/.github/workflows/release.yml@refs/tags/$VERSION
verify
for this?I'd really like to use sigstore-python for this exact purpose so I'm willing to do some work here but I think I need a bit of guidance at least: Is my understanding of how to verify that build artifacts were built by a specific github action correct? Am I missing anything with regards to my last bullet point: how do I verify that the cert actually comes from GitHub?
The text was updated successfully, but these errors were encountered: