-
Notifications
You must be signed in to change notification settings - Fork 18
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
Implement a sign
command
#91
base: main
Are you sure you want to change the base?
Conversation
@Brend-Smits, @marcofranssen I would like to have some feedback on this. Mostly:
|
@pieterlexis Thanks a lot for starting these efforts. I wrote down my thoughts in a new issue #92. Feel free to add your ideas there as well. We might be able to leverage some ideas from cosign/notation projects. |
Hey @pieterlexis, How are things going? Can we help you with anything in this pull request? |
Feedback on how this works, if you like it and perhaps on how I can test this against external tools would be good! |
Hi @pieterlexis, First of all, sorry for the delayed reply. We have been working on restructuring the command line interface (see #98). With this restructure it is now possible to add sign options for the We are looking into further refactors of the action itself. We are inspired by GoReleaser and are looking into separating the binary from the action so people can choose to use 'install only mode' or 'direct use' of a specific version of the CLI (see https://github.com/goreleaser/goreleaser-action/blob/master/action.yml). What do you think about these ideas? Would love to hear your thoughts! Regarding the other questions, it might be easier to set up a quick call. Are you open to this? |
Everyone's busy :)
I'll rebase this then :).
I'll have to have a good look at it.
I am, I already mailed with Marco, but he ghosted me ;) |
@pieterlexis Definitely not my intention to ghost you 😂 I sent you an email as well on the powerdns domain (email used in your commit). I think something went wrong with the email as I don't seem to have any email in my inbox. Did you receive mine? |
49d227f
to
ca9ad38
Compare
Rebased!
Yes, I responded within half an hour or so :). I should ask our IT about this. I'll send you an email. |
57b81cc
to
16a38dd
Compare
Hi Everyone! Awesome to see that this integration is coming soon. Would the capability to sign the image within the action provide it with enough "integrity" to regard it as able to meet the following requirement?
If so, what else does this action need before it can be regarded as SLSA Level 2 compliant? |
1d8221c
to
dec76e1
Compare
I think so, with the caveat that the key should not be available to other parts of the builds. But someone who fully understands SLSA (like @MarkLodato) should chime in. |
Signed-off-by: Pieter Lexis <[email protected]>
Signed-off-by: Pieter Lexis <[email protected]>
According to the SLSA specification, these are [JSON objects](https://slsa.dev/provenance/v0.1). This commit changes their type from raw json to the more correct `map[string]interface{}`. Signed-off-by: Pieter Lexis <[email protected]>
This checks if we can actually verify the signature and if the data in the payload actually matches what we put in. Signed-off-by: Pieter Lexis <[email protected]>
This is required by the [in-toto spec](https://github.com/in-toto/docs/blob/master/in-toto-spec.md#4-document-formats). Signed-off-by: Pieter Lexis <[email protected]>
Signed-off-by: Pieter Lexis <[email protected]>
Signed-off-by: Pieter Lexis <[email protected]>
dec76e1
to
8ce9e27
Compare
We choose to stick with a single action. Although we didn't test it we are not entirely sure how GitHub will behave if you publish multiple actions from the same repo to the marketplace. The For the signing PR we still need to see how we improve this structure to keep it as simple as possible for consumers of the action while keeping the flexibility of different scenarios people would like to use. |
We have introduced signed releases and a bunch of other small improvements. Currently this branch is in conflict with the main branch. We also still need to check if this PR has same results as what we currently do in the workflows using https://github.com/philips-labs/slsa-provenance-action/blob/main/.github/workflows/ci.yaml#L180 In this line we are attaching only the predicate part to a Docker image. whereas for binaries we take the full provenance as it was generated. Signing it will cause an additional envelope which still needs some research on how to deal with this accordingly to support both provenance for containers and blob assets. |
5bd17a0
to
28d96d7
Compare
13e3c34
to
c209f4e
Compare
This PR adds support for signing existing provenance files.
You can see the action in action (heh!) here.
This PR is somewhat work in progress to solicit feedback from the maintainers.
TODO: