Skip to content

Releases: zizmorcore/zizmor

v1.30.0-rc1

v1.30.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Aug 03:48
Immutable release. Only release title and notes can be modified.
5001e37
Plug Docker release into main release flow (#2304)

v1.29.0

Choose a tag to compare

@github-actions github-actions released this 01 Aug 21:14
Immutable release. Only release title and notes can be modified.
3c11696

New Features 🌈🔗

  • zizmor now has experimental support for auditing pre-commit inputs, meaning both pre-commit configuration and hook definitions (#2209)

  • New audit: insecure-url-scheme detects usages of insecure (i.e. plaintext) protocols when making network requests. The initial version of this audit is limited to pre-commit inputs only (#2228)

  • zizmor now supports GitHub's "self-repository" reference syntax for local actions, e.g. uses: $/foo/bar instead of a manual checkout and uses: ./foo/bar (#2248)

Changes ⚠️🔗

Removals 🌅🔗

  • --collect=workflows-only and --collect=actions-only have been fully removed. Use --collect=workflows and --collect=actions for the replacement behavior (#2242)

Bug Fixes 🐛🔗

  • Fixed a bug where zizmor would reject a valid workflow definition for containing a literal jobs..outputs. value for being a non-string (#2220)

  • Fixed a bug where the github-app audit would incorrectly flag some usages as needing a repositories: key, despite requesting organization-level-only permissions (#2227)

  • Fixed a class of bugs where zizmor would discover the user's configuration in unintuitive ways. When auditing from a Git repository, zizmor now uses the repository root to discover configuration consistently (#2234)

v1.28.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 22:17
Immutable release. Only release title and notes can be modified.
4381cc6

Security 🔒🔗

  • v1.27.0 contained a logging defect that would print any configured GitHub credentials as part of zizmor's cleartext logging. No versions other than v1.27.0 were affected. See GHSA-f42p-wjw5-97qh for full information.

    Many thanks to @shaanmajid for finding and reporting this vulnerability.

Enhancements 🌱🔗

  • The JSON (v1) output format now includes metadata for each finding's fixes, if the finding has fixes (#2186)

  • The dependabot-cooldown audit is now aware of GitHub's new three-day default cooldown (#2193)

  • sbt is now recognized as a package-ecosystem in dependabot.yml (#2211)

Bug Fixes 🐛🔗

  • Fixed a bug where the template-injection audit would incorrectly flag steps.*.outcome and steps.*.conclusion as injection risks in the default persona (#2199)

  • Fixed a bug where the github-env audit would incorrectly flag some printf calls as exploitable (#2201)

  • Fixed a bug where zizmor would produce a misleading and confusing error message when asked to audit an ambiguous remote input (#2205)

v1.27.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 08:31
Immutable release. Only release title and notes can be modified.
e262736

New Features 🌈🔗

  • zizmor now has experimental support for workflows that specify parallel steps. See Usage - Parallel steps for more information (#2153)
    Enhancements 🌱🔗

  • zizmor's handling of paths is now more consistent, particularly when run on Windows (#2163)

  • zizmor now emits a helpful warning when being run in implicit offline mode (#2180)

Bug Fixes 🐛🔗

  • Fixed a bug where the secrets-outside-env audit would not honor ignore comments within the same job scope (#2157)

  • Fixed a bug where the ref-version-mismatch audit would not honor ignore comments within the same steps scope (#2177)

  • Fixed a bug where --collect=[MODE] was not correctly handled when auditing remote inputs (#2185)

v1.26.1

Choose a tag to compare

@github-actions github-actions released this 21 Jun 02:52
Immutable release. Only release title and notes can be modified.
597db4d

This is a small corrective release for 1.26.0.

v1.26.0

Choose a tag to compare

@github-actions github-actions released this 21 Jun 02:17
Immutable release. Only release title and notes can be modified.
97037cd

New Features 🌈🔗

  • New audit: typosquat-uses detects uses: clauses that reference likely typoed actions (#1985)

    Many thanks to @andrew for proposing and implementing this improvement!

  • New audit: unsound-ternary detects pseudo-ternary expressions that don't evaluate as expected (#2085)

    Many thanks to @terror for proposing and implementing this improvement!

  • New audit: adhoc-packages detects run: steps that install packages in an ad-hoc manner (#2061)

    Many thanks to @connorshea for proposing and implementing this improvement!

Enhancements 🌱🔗

Performance Improvements 🚄🔗

  • Most online audits are significantly faster, thanks to more precise retry handling (#2036)
    Bug Fixes 🐛🔗

  • Fixed a bug where zizmor's LSP would not recognize dependabot.yaml files in its default configuration (#2026)

    Many thanks to @fionn for implementing this fix!

  • Fixed a bug where ref-version-mismatch would fail to fully match some version comments (#2040)

  • Fixed a bug where dependabot-cooldown would fail to honor the user's configured days when performing autofixes (#2055)

  • Steps and jobs gated by statically-false if: conditions (e.g. if: false, if: ${{ false }}) are now skipped during auditing, since they cannot execute (#2059, #2069)

  • Fixed a bug where ref-version-mismatch would fail to identify some valid version comments (#2073)

  • Fixed a bug where unpinned-images would incorrectly flag empty matrix expansions as unpinned container image references (#2102)

  • Fixed a bug where unpinned-images would incorrectly flag some matrix expansions as unpinned (#2098)

  • The SARIF (--format=sarif) and GitHub Annotations (--format=github) output formats now provide more correct/useful paths, particularly when the user provides a relative path as input to zizmor rather than zizmor . (#1748, #2095)

Changes ⚠️🔗

  • The impostor-commit audit no longer suggests auto-fixes, to avoid incorrectly minimizing the amount of manual remediation work needed (#2054)

  • The JSON and SARIF outputs no longer contain a misleading prefix key (#2095)

v1.25.2

Choose a tag to compare

@github-actions github-actions released this 16 May 06:38
Immutable release. Only release title and notes can be modified.
b50d8f6

Bug Fixes 🐛🔗

v1.25.1

Choose a tag to compare

@github-actions github-actions released this 16 May 06:18
Immutable release. Only release title and notes can be modified.
9300d3b

Bug Fixes 🐛🔗

v1.25.0

Choose a tag to compare

@github-actions github-actions released this 14 May 20:51
Immutable release. Only release title and notes can be modified.
ee07597

New Features 🌈🔗

  • zizmor's finding severities can now be remapped on a per-audit basis. See the configuration for details (#1913)

    Many thanks to @Proximyst for proposing and implementing this improvement!

  • New audit: github-app detects dangerous usages of GitHub App installation tokens (#1926)

  • New audit: [unpinned-tools] detects actions that install tools without pinning to a specific version (#1820)

  • zizmor now accepts the --no-ignores flag to disable all ignore comments and configurations when reporting findings (#1935)

  • zizmor's LSP now honors the --persona flag on the CLI (#1943)

  • zizmor is now aware of Docker-based action definitions, in addition to the pre-existing support for "composite" actions (#1965)

Enhancements🔗

Performance Improvements 🚄🔗

  • The impostor-commit audit is now significantly faster (in addition to being more correct) when the user has pinned their action to a tag SHA instead of a commit SHA (#1998)
    Bug Fixes 🐛🔗

  • Fixed a crash in the template-injection audit when a workflow uses a parenthesized compound expression in context position (#1904)

  • Fixed a bug where local directory input collection could miss workflows for relative-path invocations from within .github subdirectories (#1909)

  • Fixed a bug where the unpinned-images audit would miss images defined in container: clauses (#1944)

  • Fixed a bug where inline ignore comments could not be easily applied to superfluous-actions findings (#1945)

  • Fixed a bug where the cache-poisoning audit would fail to detect some release trigger patterns (#1946)

  • Fixed a bug where inline ignore comments could not be easily applied to cache-poisoning findings (#1962)

  • Fixed a class of imprecisions where the cache-poisoning audit would incorrectly flag cache usage that doesn't actually occur on release events (#1940)

    Many thanks to @reubenwong97 for implementing this fix!

  • Fixed a bug where dependabot.yml files containing a private cargo repository couldn't be parsed (#1976)

  • Fixed a bug where zizmor's input validation warnings lacked a mention of which files failed to validate (#1980)

  • Fixed a bug where the impostor-commit audit would falsely indicate impostor commits if an action was pinned to a tag SHA instead of a commit SHA (#1998)

v1.24.1

Choose a tag to compare

@github-actions github-actions released this 13 Apr 18:25
Immutable release. Only release title and notes can be modified.
2eaf42b

Bug Fixes 🐛🔗

  • Fixed a bug where the ref-version-mismatch audit would incorrectly flag some version comments as not containing an appropriate version (#1900)