Open jamietanna opened 8 months ago
Thanks for including the certificate. I haven't seen the populated entries for GitLab yet.
There's a few things to discuss here:
For the first point, #554 would likely need done first. The GitLab cert above doesn't have the fields we currently check, but does have the fields we should be checking to (partially) fix #554 as well.
For the second point, I'm not as familiar with GitLab CI, but there doesn't seem to be a GitHub action "marketplace". One benefit of that on the GitHub side is it allows us to have confidence about how the results are produced. What steps would help ensure someone didn't create their own JSON payload to upload?
I see GitLab is working on an equivalent to the GitHub Actions ecosystem: https://about.gitlab.com/blog/2023/07/10/introducing-ci-components/. If there were a standard Scorecard action component on GitLab, we could check for the presence of the component in the workflow file, similar to how we check for the Scorecard job in https://github.com/ossf/scorecard-webapp/blob/efeceb7f76c949f59f12035bbb3bec0d978d4f87/app/server/verify_workflow.go#L194
I would want this feature out of experimental before we rely on it, though.
Just to note, CI Components became GA with GitLab v17
Just to note, CI Components became GA with GitLab v17
And now the have verified badges too if that is something you wanted to explore: https://docs.gitlab.com/ee/ci/components/#verified-component-creators
I've just been looking at adding support for publishing results from GitLab CI for a few of my projects.
I've just hit #511 with my test repo so I thought I'd try using a non-nested group which now fails with something slightly different:
There's some more details in my thread in the OpenSSF Slack, if that's of help.
The ephemeral certificate has the following data within it:
I'm taking advantage of https://github.com/sigstore/cosign/pull/2864 to use a Sigstore-specific ID token to provide non-interactive authentication, and then using the
CI_JOB_JWT
to actually sign the data