-
Notifications
You must be signed in to change notification settings - Fork 274
Open
Description
👋 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 extract vars 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:
{
"_type": "https://in-toto.io/Statement/v1",
"subject": [{
"name": "pkg:npm/[email protected]",
"digest": {
"sha512": "16bf7e5b59e40522190a425047b8c39ffcc8d145cdb15a69fbb9834240a764e2311bda7ac8d5c1c7dc67b47b1f532607139e570e4915577fab61bae4cc079eb0"
}
}],
"predicateType": "https://slsa.dev/provenance/v1",
"predicate": {
"buildDefinition": {
"buildType": "https://slsa-framework.github.io/github-actions-buildtypes/workflow/v1",
"externalParameters": {
"workflow": {
"ref": "refs/heads/main",
"repository": "https://github.com/sigstore/sigstore-js",
"path": ".github/workflow/release.yml"
}
},
"systemParameters": {
"github": {
"event_name": "push",
"repository_id": "495574555",
"repository_owner_id": "71096353"
}
},
"resolvedDependencies": [
{
"uri": "git+https://github.com/sigstore/sigstore-js@refs/heads/main",
"digest": {
"gitCommit": "5b8c0801d1f5d105351a403f58c38269de93f680"
}
}
]
},
"runDetails": {
"builder": {
"id": "https://github.com/actions/runner/github-hosted"
},
"metadata": {
"invocationId": "https://github.com/sigstore/sigstore-js/actions/runs/1536140711/attempts/1",
"startedOn": "2023-01-01T12:34:56Z"
}
}
}
}Does this seem reasonable and look right?
cc @ianlewis @MarkLodato @laurentsimon @kommendorkapten @bdehamer
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Untriaged