Skip to content

Releases

v1.32.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 00:06
Immutable release. Only release title and notes can be modified.

Sponsorship is appreciated!

New Features 🌈🔗

  • zizmor now has experimental support for GitHub Actions workflow lockfiles. Please see the limitations documentation for more information about the current implementation and its limitations (#2463)

Enhancements 🌱🔗

  • zizmor's input collection is now "root-aware" by default, meaning that invocations like zizmor . will no longer collect inputs unless they would actually be used by GitHub Actions, etc. This should eliminate spurious findings from (e.g.) workflow definitions in vendored directories. See the input collection documentation for more information. (#2454)

  • zizmor's LSP now honors the didChangeWorkspaceFolders event (#2461)

  • zizmor's LSP now audits pre-commit inputs (#2485)

  • zizmor now provides Windows ARM64 wheels on PyPI (#2424)

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

Bug Fixes 🐛🔗

  • Fixed a bug where the bot-conditions audit did not properly flag if: condition of jobs that call a reusable workflow (#2457)

  • Fixed a bug where the obfuscation audit would incorrectly flag (and suggest an incorrect auto-fix for) expressions that constant-reduce to other expressions (#2483)

  • Fixed a bug where the template-injection audit did not flag attacker-controllable contexts wrapped in fromJSON(...), such as fromJSON(toJSON(github.event.issue.title)) (#2495)

  • Fixed a bug where the template-injection audit did not flag attacker-controllable contexts in the values of case(...), such as case(cond, github.event.issue.title, 'x') (#2504)

  • Fixed a class of bugs in the obfuscation audit where a constant-reducible subexpression would not be replaced with a contextually correct form (#2483)

  • Fixed a bug where zizmor would incorrectly audit pre-commit inputs that ended with .yml, despite pre-commit requiring the .yaml suffix (#2485)

  • Fixed a bug where zizmor would not honor some ignore comments for the stale-action-refs audit (#2494)

  • Fixed a bug where zizmor would not honor some ignore comments for the ref-version-mismatch audit (#2494)

v1.31.1

Choose a tag to compare

@github-actions github-actions released this 16 Oct 02:21
Immutable release. Only release title and notes can be modified.

Sponsorship is appreciated!

Bug Fixes 🐛🔗

v1.31.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 08:41
Immutable release. Only release title and notes can be modified.

Sponsorship is appreciated!

Enhancements 🌱🔗

  • The typosquat-uses audit now supports pre-commit config inputs (#2437)

  • The self-hosted-runner audit is now significantly more precise (#2350)

    Many thanks to @ubiratansoares for proposing and implementing this enhancement!

  • The dangerous-triggers audit now considers the issue_comment trigger fundamentally dangerous (#2396)

  • zizmor is now aware of the image_version workflow trigger (#2397)

  • The dangerous-triggers audit now produces more precise finding/diagnostic spans (#2402)

  • The cache-poisoning audit is now aware of pnpm/setup (#2409)

  • The unpinned-images audit now produces more precise findings when the user's workflow contains an indirect matrix (#2395)

    Many thanks to @ubiratansoares for proposing and implementing this enhancement!

  • The cache-poisoning audit is now aware of GitHub's new cache-mode: setting, and will skip any findings that would occur when a job has an effective cache-mode: none (#2418)

  • The cache-poisoning audit now flags usages of cache-mode: write and cache-mode: write-only with dangerous triggers, i.e. triggers that give an attacker privileged code execution (#2426)

  • zizmor now uses a tree-sitter grammar for PowerShell that's more precise/capable of capturing more non-trivial PowerShell expressions (#2444)

Bug Fixes 🐛🔗

  • Fixed a class of false positives/imprecisions in adhoc-packages that caused some pnpm and yarn invocations to be misclassified as package installations (#2386)

    Many thanks to @marcalexiei for implementing this improvement!

  • Fixed a bug where zizmor would fail to honor Git submodules and worktrees when discovering configuration files relative to a repo root (#2390)

  • Fixed a bug where the ref-version-mismatch audit would crash on unusually placed version comments (#2394)

  • Fixed a bug where zizmor would fail to handle some pre-commit inputs that use prek extensions to the language_version and default_language_version keys (#2413)

  • Fixed a bug where the use-trusted-publishing audit would fail to detect certain true-positive patterns inside of PowerShell blocks (#2444)

v1.30.1

Choose a tag to compare

@github-actions github-actions released this 09 Sep 05:34
Immutable release. Only release title and notes can be modified.

Sponsorship is appreciated!

Bug Fixes 🐛🔗

  • Fixed a bug where zizmor would crash on pre-commit inputs that reference a GitHub URL with an explicit .git suffix (#2363)

  • Fixed a bug where self-repository auto-fixes were incorrectly marked as "safe" instead of "unsafe" (#2373)

v1.30.0

Choose a tag to compare

@github-actions github-actions released this 30 Aug 21:38
Immutable release. Only release title and notes can be modified.

Sponsorship is appreciated!

New Features 🌈🔗

Bug Fixes 🐛🔗

  • Fixed a bug where zizmor would reject a .pre-commit-config.yml input containing a prek-specific builtin section (#2259)

  • Fixed a bug where the unpinned-uses audit would fail to honor ignore comments within the same step scope (#2289)

  • Fixed a bug where zizmor would reject a dependabot.yml containing a goproxy-server registry definition (#2300)

  • Fixed a bug where zizmor would reject pre-commit configurations containing prek-specific glob patterns in files or exclude (#2308)

  • Fixed a handful of unsound patch bugs when performing YAML add and/or replace operations (#2295)

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

  • Fixed a bug where the cache-poisoning audit would incorrectly flag newer astral-sh/setup-uv versions that disable caching behavior automatically (#2330)

  • Fixed a bug where the ref-version-mismatch audit would produce a misleading diagnostic when an action has overlapping branch and tag names (#2337)

  • Fixed a bug where the artipacked audit would incorrectly flag the with: clauses of unrelated actions (#2339)

  • Fixed a class of bugs where zizmor would incorrectly match an action's commit to a sibling action's tag (#2247)

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

  • Fixed a bug where zizmor would crash on deeply nested GitHub Actions expressions (#2349)

v1.29.0

Choose a tag to compare

@github-actions github-actions released this 02 Aug 01:53
Immutable release. Only release title and notes can be modified.

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:25
Immutable release. Only release title and notes can be modified.

v1.27.0

Choose a tag to compare

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

v1.26.1

Choose a tag to compare

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

v1.26.0

Choose a tag to compare

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