Skip to content

Run Zizmor against all workflows - #66

Merged
whymarrh merged 6 commits into
mainfrom
zizmor
Apr 25, 2026
Merged

Run Zizmor against all workflows#66
whymarrh merged 6 commits into
mainfrom
zizmor

Conversation

@whymarrh

Copy link
Copy Markdown
Member

This PR adds a job to run zizmor against all of the GitHub Actions workflows.

It surfaced a good handful of issues! So I fixed those up as well.

See actions/checkout#485
See https://docs.zizmor.sh/audits/#artipacked

From the docs:

> By default, using `actions/checkout` causes a credential to be persisted on
> disk. Versions below v6.0.0 store the credential directly in the checked-out
> repo's `.git/config`, while v6.0.0 and later store it under `$RUNNER_TEMP`.

> Subsequent steps may accidentally publicly persist the credential, e.g. by
> including it in a publicly accessible artifact via actions/upload-artifact.

> However, even without this, persisting the credential on disk is non-ideal
> unless actually needed.

> Starting with zizmor v1.17.0, this audit produces lower-severity findings
> when v6.0.0 or higher of actions/checkout is used. This reflects a change
> in v6.0.0's credential persistence behavior towards a more misuse-resistant
> location.

> See orgs/community#179107 for additional information.
Resolves the following:

```
error[cache-poisoning]: runtime artifacts potentially vulnerable to a cache poisoning attack
  --> ./.github/workflows/build-and-release.yml:27:9
   |
 2 | / on:
 3 | |   push:
 4 | |     tags:
 5 | |       - 'v*'
   | |____________- generally used when publishing artifacts generated at runtime
...
27 |           uses: actions/setup-go@4a36011 # v6.4.0
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ enables caching by default
   |
   = note: audit confidence → Low
   = note: this finding has an auto-fix
```
Per https://github.com/actions/attest-build-provenance/blob/v4.1.0/README.md

**As of version 4, `actions/attest-build-provenance` is simply a wrapper on top
of [`actions/attest`][7].**

Existing applications may continue to use the `attest-build-provenance` action,
but new implementations should use `actions/attest` instead. Please see the
[`actions/attest`][7] repository for usage information.

Documentation for previous versions of this action can be found
[here](https://github.com/actions/attest-build-provenance/blob/v3.2.0/README.md).

[7]: https://github.com/actions/attest
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@whymarrh
whymarrh merged commit 26abb90 into main Apr 25, 2026
9 checks passed
@whymarrh
whymarrh deleted the zizmor branch April 25, 2026 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants