-
Notifications
You must be signed in to change notification settings - Fork 606
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
Keyless Attestation Support #835
Comments
we (w/@Dentrax) would like to give a hand to this, please let us know if there is anything we can help with 🙋🏻♂️ |
@developer-guy That would be awesome. I'm working on an initial pass today - Are you and @Dentrax free tomorrow so I can get feedback on what you want to see included and what a "complete" keyless experience looks like here? |
@developer-guy here is a branch with the rough edges working. https://github.com/anchore/syft/tree/835-keyless-attestation-upgrade I'm currently trying to get a localized integration test stood up so we can exercise all the different flows.
|
The initial changes for this have been merged in #910. I'm going to leave this issue open as there are probably a few improvements and expansions to be made past the initial support of keyless. |
Right now I use
Just to confirm that with this change, I'll be to do the following instead?
COSIGN_EXPERIMENTAL=1 is set elsewhere. |
@jauderho! That's correct. I just ran this on my local environment and verified the workflow for an image I use. If you have any issues or suggestions for improving this based on your use case let me know on this issue and we can get the ball rolling there. |
Switch to keyless syft attestation. See anchore/syft#835 (comment)
Hmm, I'm getting an error when I try this. See https://github.com/jauderho/dockerfiles/runs/6480238360?check_suite_focus=true
Here's the full output if you are not able to get to the first link: https://gist.github.com/jauderho/e9b7293bbaa3f2e4c5dde09607b586aa Not sure why it's trying to open a key if this is supposed to be keyless. Here's the change that I made in my workflow: jauderho/dockerfiles@9f37033 On a possibly related note, I have been seeing some weirdness with GHCR recently where I am unable to successfully push a different image. Not sure if that is the cause. |
@jauderho I'll take a look and see if I can replicate the issue you're seeing. When doing the default flow you should not see a Which version of syft are you using? |
Looking at the output from that run, it appears to be v0.44.1. I'd further point out that it seems to be working fine with Docker Hub, just not GHCR. I'll try a run with GHCR commented out to see what happens.
|
Looks like if I comment out GHCR, my run with just Docker Hub now fails. Feels like there might be an off by one issue somewhere as I was previously able to push the signature successfully to Docker Hub.
Compare this to the prior run
|
Definitely a bug with GHCR - I'm going to close this issue since we confirmed attestation support is working, but open a new bug specific to GHCR and tag you in it - does that sound good? |
@spiffcs We can follow up on the other thread that you created but to be clear this is not a GHCR only bug IMO. -- Reposting from the other thread.
|
Thanks for pointing that out! Sorry for missing that detail originally. |
@spiffcs Just checking in to see if there has been any new developments with addressing this? |
What would you like to be added:
Support for Sigstore's "Keyless Workflow" in the
syft attest
commandWith the addition of #510 in #785 syft is now able to produce a signed attestation with the generated SBOM as the predicate.
We want to see ephemeral keys and certificates (automatically signed by fulcio) supported where signatures are stored in the
rekor
transparency log.Users will no longer have to pass an on-disk key and can use
attest
in the same way they sign other entities with cosign today.Why is this needed:
Supporting the keyless workflow means Syft users can generate signed SBOM attestations without needing to manage their own keys. Additionally, the keyless workflow provides a stronger way to bind identities (from OIDC) to signatures in a highly discoverable manner, which is valuable to downstream SBOM consumers looking to trust where the SBOM came from.
Additional context:
See #510 for greater attestation roadmap.
The text was updated successfully, but these errors were encountered: