-
Notifications
You must be signed in to change notification settings - Fork 225
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
SLSA 1.0 Predicate for npm provenance #798
Comments
To populate the content of any of the external parameters: But as they are forgeable when running in a normal workflow, I support the idea of not populating them for npm. But from a general perspective, it makes sense to have them if they could be added in a non-forgeable, so I don't think the linked |
You can fish these out by parsing the
💯 yeah for sure makes sense from a trusted/reusable workflow for example.
Ah yes, the actions spec is only for a untrusted/top-level workflow right? |
I think the original question can be rephrased as follows: is it OK for SLSA L2 provenance to contain external parameters that are not guaranteed by the build system? The conflict is in the following Provenance is authentic sub-requirements, specifically those labeled (3) and (4) below:
The situation in the original post is that:
I don't have an opinion right away, but want to see if I can first precisely capture the problem in terms of the specification. |
Do you want to add a
+1 from me too |
👍
BTW, this is what is suggested in the "official" community repo for GHA. I wonder if this isn't something that shouldn't be captured in the builder ID rather than the
|
+1, I got confused. It is in the builder.id, you're correct. The example uses it as well. Ignore my previous comment. |
FYI we've got a PR up for this here: npm/cli#6613 |
👋 I've been looking at the v1 actions spec to see what we want to include in the provenance statement generated by the npm CLI in an untrusted workflow (when running
npm publish --provenance
).I'm currently thinking we should omit the external parameters
deployment
,release
,inputs
,vars
as we have no way of telling if these have been forged or not. Also, I don't think there's a way to extractvars
without having access to the github context, which the npm CLI does not have.I'm thinking the predicate would look like this, were all properties can be checked against the new Fulcio cert extensions:
Does this seem reasonable and look right?
cc @ianlewis @MarkLodato @laurentsimon @kommendorkapten @bdehamer
The text was updated successfully, but these errors were encountered: