Skip to content

Releases: zizmorcore/zizmor

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)

v1.24.0

Choose a tag to compare

@github-actions github-actions released this 13 Apr 02:23
Immutable release. Only release title and notes can be modified.
d5aba60

New Features 🌈🔗

  • zizmor now allows users to audit from stdin, by passing zizmor - (#1611)

Enhancements 🌱🔗

  • The use-trusted-publishing audit now detects bun publish and bunx npm publish patterns (#1737)

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

  • zizmor's CLI help and usage output now uses a custom color scheme for improved readability (#1747)

  • The secrets-outside-env audit is now configurable with an allowlist of secret names that should not be flagged, even when referenced outside of an environment (#1759)

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

  • The dependabot-cooldown audit now emits a pedantic finding whenever it encounters a cooldown used with a multi-ecosystem-group, as the two do not interact well (#1780)

  • Recommend gh release upload as a replacement for svenstaro/upload-release-action in superfluous-actions (#1801)

  • Recommend gh issue create as a replacement for dacbd/create-issue-action in superfluous-actions (#1873)

  • The obfuscation audit now emits a finding for with: ${{ expr }} clauses cannot be analyzed (#1772)

  • zizmor --help is now rendered with option groups for improved readability (#1831)

    Many thanks to @deckstose for implementing this improvement!

  • zizmor's SARIF output now uses codeflows instead of related locations, improving its rendering behavior on GitHub Advanced Security (#1843)

  • The ref-version-mismatch audit now uses a more useful audit description for its findings (#1843)

  • The unpinned-images audit now produces more precise findings for image references that are computed through expressions (#1756)

    Many thanks to @miketheman for implementing this improvement!

  • The ref-version-mismatch audit now detects missing version comments as well (#1849)

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

Bug Fixes 🐛🔗

  • Fixed a bug where the concurrency-limits audit reported findings at the job level instead of the workflow level (#1627)

  • Fixed a bug where with: ${{ expr }} clauses would cause a crash. artipacked audit emits a pedantic finding on such clauses. (#1772)

  • Fixed a bug where auto-fixes for the template-injection audit would fail to preserve an environment variable's casing (#1766)

  • Fixed a bug where the secrets-outside-env audit would incorrectly flag reusable workflows (#1777)

  • Fixed a bug where expressions containing Infinity or NaN would fail to parse (#1778)

  • Fixed several bugs where some parenthetical forms in expressions would fail to parse (#1779, #1856)

  • Fixed a bug where expressions with invalid identifiers (such as -Inf) would be incorrectly accepted (#1794)

  • Fixed a bug where the known-vulnerable-actions audit would fail to handle multiple discrete packages in a single advisory (#1810)

  • Fixed a bug where the template-injection audit would incorrectly flag needs.*.result as an injection risk in the default persona (#1814)

  • Fixed a bug where the unpinned-uses audit would product incorrect auto-fixes for actions with subpaths (#1841)

  • Fixed a bug where the ref-version-mismatch audit would fail to produce findings for comments containing nonexistent refs (#1853)

  • Fixed a bug where expressions containing NaN would be constant-evaluated incorrectly (#1858)

  • Fixed a bug where nix would not be recognized as a package-ecosystem in dependabot.yml (#1867)

  • Fixed a bug where the ref-version-mismatch audit would incorrectly parse prerelease version comments (such as # v6-beta), causing some findings to appear unresolvable (#1870)

  • Fixed a bug where various string comparisons in expressions did not perfectly match GitHub's own special uppercasing semantics (#1879)

  • Fixed a bug where zizmor would incorrectly contact github.com instead of the user's requested --gh-hostname for some online requests (#1874)

  • Fixed a bug where the artipacked audit would fail to honor the --no-online-audits flag (#1874)

Changes ⚠️🔗

  • The secrets-outside-env audit now only flags findings with the 'auditor' persona, due to numerous false positives and negatives caused by GitHub's platform limitations (primarily around interactions between environment secrets and reusable workflows) (#1777)

  • zizmor's handling of GitHub Actions expressions has been made stricter, and now rejects unknown functions and function calls with incorrect arities (#1823, #1826)

  • The superfluous-actions audit now uses the "pedantic" persona for some findings along with a medium or low confidence marker to signal when a action may not be easily replaced with built-in functionality (#1822, #1859)

  • The unpinned-uses audit no longer suggests auto-fixes for Git references that don't look like version tags, such as main (#1860)

  • The template-injection audit now considers more "URL-shaped" contexts to be fully attacker-controllable, rather than partially controllable (#1868)

v1.24.0-rc3

v1.24.0-rc3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Apr 02:00
Immutable release. Only release title and notes can be modified.
1e762ac
zizmor v1.24.0-rc3 (#1889)

Signed-off-by: William Woodruff <william@yossarian.net>

v1.24.0-rc2

v1.24.0-rc2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Apr 01:41
Immutable release. Only release title and notes can be modified.
b79c9dc
Fix release CI (#1888)

* Fix the release CI

Signed-off-by: William Woodruff <william@yossarian.net>

* Bump rc, unify versions further

Signed-off-by: William Woodruff <william@yossarian.net>

---------

Signed-off-by: William Woodruff <william@yossarian.net>