zizmor 0.9.1__tar.gz → 0.10.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of zizmor might be problematic. Click here for more details.

Files changed (134) hide show
  1. {zizmor-0.9.1 → zizmor-0.10.0}/.github/ISSUE_TEMPLATE/feature-request.yml +1 -1
  2. {zizmor-0.9.1 → zizmor-0.10.0}/.github/workflows/ci.yml +4 -0
  3. {zizmor-0.9.1 → zizmor-0.10.0}/.github/workflows/pypi.yml +18 -19
  4. {zizmor-0.9.1 → zizmor-0.10.0}/.github/workflows/site.yml +0 -1
  5. {zizmor-0.9.1 → zizmor-0.10.0}/.github/workflows/zizmor.yml +2 -2
  6. {zizmor-0.9.1 → zizmor-0.10.0}/Cargo.lock +612 -189
  7. {zizmor-0.9.1 → zizmor-0.10.0}/Cargo.toml +11 -7
  8. {zizmor-0.9.1 → zizmor-0.10.0}/PKG-INFO +1 -1
  9. {zizmor-0.9.1 → zizmor-0.10.0}/docs/audits.md +49 -0
  10. {zizmor-0.9.1 → zizmor-0.10.0}/docs/development.md +1 -1
  11. {zizmor-0.9.1 → zizmor-0.10.0}/docs/installation.md +20 -4
  12. {zizmor-0.9.1 → zizmor-0.10.0}/docs/snippets/help.txt +2 -0
  13. {zizmor-0.9.1 → zizmor-0.10.0}/docs/snippets/render-trophies.py +5 -2
  14. {zizmor-0.9.1 → zizmor-0.10.0}/docs/snippets/trophies.md +126 -0
  15. {zizmor-0.9.1 → zizmor-0.10.0}/docs/snippets/trophies.txt +25 -3
  16. {zizmor-0.9.1 → zizmor-0.10.0}/docs/usage.md +28 -1
  17. {zizmor-0.9.1 → zizmor-0.10.0}/mkdocs.yml +19 -2
  18. {zizmor-0.9.1 → zizmor-0.10.0}/src/audit/artipacked.rs +2 -0
  19. zizmor-0.10.0/src/audit/cache_poisoning.rs +275 -0
  20. {zizmor-0.9.1 → zizmor-0.10.0}/src/audit/dangerous_triggers.rs +2 -0
  21. {zizmor-0.9.1 → zizmor-0.10.0}/src/audit/excessive_permissions.rs +2 -0
  22. {zizmor-0.9.1 → zizmor-0.10.0}/src/audit/github_env.rs +116 -11
  23. {zizmor-0.9.1 → zizmor-0.10.0}/src/audit/hardcoded_container_credentials.rs +2 -0
  24. {zizmor-0.9.1 → zizmor-0.10.0}/src/audit/impostor_commit.rs +17 -15
  25. {zizmor-0.9.1 → zizmor-0.10.0}/src/audit/insecure_commands.rs +11 -3
  26. {zizmor-0.9.1 → zizmor-0.10.0}/src/audit/known_vulnerable_actions.rs +1 -0
  27. {zizmor-0.9.1 → zizmor-0.10.0}/src/audit/mod.rs +1 -0
  28. {zizmor-0.9.1 → zizmor-0.10.0}/src/audit/ref_confusion.rs +6 -12
  29. {zizmor-0.9.1 → zizmor-0.10.0}/src/audit/self_hosted_runner.rs +14 -6
  30. {zizmor-0.9.1 → zizmor-0.10.0}/src/audit/template_injection.rs +25 -16
  31. {zizmor-0.9.1 → zizmor-0.10.0}/src/audit/unpinned_uses.rs +1 -0
  32. {zizmor-0.9.1 → zizmor-0.10.0}/src/audit/use_trusted_publishing.rs +31 -42
  33. {zizmor-0.9.1 → zizmor-0.10.0}/src/finding/mod.rs +21 -1
  34. {zizmor-0.9.1 → zizmor-0.10.0}/src/github_api.rs +120 -54
  35. {zizmor-0.9.1 → zizmor-0.10.0}/src/main.rs +6 -0
  36. {zizmor-0.9.1 → zizmor-0.10.0}/src/models.rs +114 -6
  37. {zizmor-0.9.1 → zizmor-0.10.0}/src/sarif.rs +87 -7
  38. zizmor-0.10.0/src/state.rs +46 -0
  39. {zizmor-0.9.1 → zizmor-0.10.0}/tests/acceptance.rs +18 -0
  40. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshot.rs +70 -0
  41. zizmor-0.10.0/tests/snapshots/snapshot__cache_poisoning-2.snap +20 -0
  42. zizmor-0.10.0/tests/snapshots/snapshot__cache_poisoning-3.snap +22 -0
  43. zizmor-0.10.0/tests/snapshots/snapshot__cache_poisoning-4.snap +22 -0
  44. zizmor-0.10.0/tests/snapshots/snapshot__cache_poisoning-5.snap +23 -0
  45. zizmor-0.10.0/tests/snapshots/snapshot__cache_poisoning-6.snap +6 -0
  46. zizmor-0.10.0/tests/snapshots/snapshot__cache_poisoning-7.snap +6 -0
  47. zizmor-0.10.0/tests/snapshots/snapshot__cache_poisoning-8.snap +22 -0
  48. zizmor-0.10.0/tests/snapshots/snapshot__cache_poisoning-9.snap +22 -0
  49. zizmor-0.10.0/tests/snapshots/snapshot__cache_poisoning.snap +6 -0
  50. zizmor-0.10.0/tests/snapshots/snapshot__template_injection-3.snap +6 -0
  51. zizmor-0.10.0/tests/snapshots/snapshot__template_injection-4.snap +19 -0
  52. zizmor-0.10.0/tests/snapshots/snapshot__template_injection-5.snap +39 -0
  53. zizmor-0.10.0/tests/test-data/cache-poisoning/caching-disabled-by-default.yml +20 -0
  54. zizmor-0.10.0/tests/test-data/cache-poisoning/caching-enabled-by-default.yml +19 -0
  55. zizmor-0.10.0/tests/test-data/cache-poisoning/caching-opt-in-boolean-toggle.yml +22 -0
  56. zizmor-0.10.0/tests/test-data/cache-poisoning/caching-opt-in-boolish-toggle.yml +16 -0
  57. zizmor-0.10.0/tests/test-data/cache-poisoning/caching-opt-in-expression.yml +22 -0
  58. zizmor-0.10.0/tests/test-data/cache-poisoning/caching-opt-in-multi-value-toggle.yml +21 -0
  59. zizmor-0.10.0/tests/test-data/cache-poisoning/caching-opt-out.yml +21 -0
  60. zizmor-0.10.0/tests/test-data/cache-poisoning/no-cache-aware-steps.yml +15 -0
  61. zizmor-0.10.0/tests/test-data/cache-poisoning/workflow-tag-trigger.yml +20 -0
  62. zizmor-0.10.0/tests/test-data/cache-poisoning.yml +16 -0
  63. zizmor-0.10.0/tests/test-data/template-injection/issue-22-repro.yml +64 -0
  64. zizmor-0.10.0/tests/test-data/template-injection/pr-317-repro.yml +26 -0
  65. zizmor-0.10.0/tests/test-data/template-injection/static-env.yml +53 -0
  66. zizmor-0.9.1/.github/FUNDING.yml +0 -2
  67. zizmor-0.9.1/src/state.rs +0 -63
  68. {zizmor-0.9.1 → zizmor-0.10.0}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  69. {zizmor-0.9.1 → zizmor-0.10.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  70. {zizmor-0.9.1 → zizmor-0.10.0}/.github/dependabot.yml +0 -0
  71. {zizmor-0.9.1 → zizmor-0.10.0}/.github/release.yml +0 -0
  72. {zizmor-0.9.1 → zizmor-0.10.0}/.github/workflows/release.yml +0 -0
  73. {zizmor-0.9.1 → zizmor-0.10.0}/.gitignore +0 -0
  74. {zizmor-0.9.1 → zizmor-0.10.0}/CONTRIBUTING.md +0 -0
  75. {zizmor-0.9.1 → zizmor-0.10.0}/LICENSE +0 -0
  76. {zizmor-0.9.1 → zizmor-0.10.0}/Makefile +0 -0
  77. {zizmor-0.9.1 → zizmor-0.10.0}/README.md +0 -0
  78. {zizmor-0.9.1 → zizmor-0.10.0}/docs/assets/favicon48x48.png +0 -0
  79. {zizmor-0.9.1 → zizmor-0.10.0}/docs/assets/rainbow.svg +0 -0
  80. {zizmor-0.9.1 → zizmor-0.10.0}/docs/assets/zizmor-demo.gif +0 -0
  81. {zizmor-0.9.1 → zizmor-0.10.0}/docs/configuration.md +0 -0
  82. {zizmor-0.9.1 → zizmor-0.10.0}/docs/index.md +0 -0
  83. {zizmor-0.9.1 → zizmor-0.10.0}/docs/magiclink.css +0 -0
  84. {zizmor-0.9.1 → zizmor-0.10.0}/docs/quickstart.md +0 -0
  85. {zizmor-0.9.1 → zizmor-0.10.0}/docs/trophy-case.md +0 -0
  86. {zizmor-0.9.1 → zizmor-0.10.0}/pyproject.toml +0 -0
  87. {zizmor-0.9.1 → zizmor-0.10.0}/site-requirements.txt +0 -0
  88. {zizmor-0.9.1 → zizmor-0.10.0}/src/config.rs +0 -0
  89. {zizmor-0.9.1 → zizmor-0.10.0}/src/expr/expr.pest +0 -0
  90. {zizmor-0.9.1 → zizmor-0.10.0}/src/expr/mod.rs +0 -0
  91. {zizmor-0.9.1 → zizmor-0.10.0}/src/finding/locate.rs +0 -0
  92. {zizmor-0.9.1 → zizmor-0.10.0}/src/registry.rs +0 -0
  93. {zizmor-0.9.1 → zizmor-0.10.0}/src/render.rs +0 -0
  94. {zizmor-0.9.1 → zizmor-0.10.0}/src/utils.rs +0 -0
  95. {zizmor-0.9.1 → zizmor-0.10.0}/tests/common.rs +0 -0
  96. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__artipacked-2.snap +0 -0
  97. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__artipacked-3.snap +0 -0
  98. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__artipacked.snap +0 -0
  99. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__cant_retrieve.snap +0 -0
  100. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__conflicting_online_options-2.snap +0 -0
  101. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__conflicting_online_options-3.snap +0 -0
  102. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__conflicting_online_options.snap +0 -0
  103. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__insecure_commands-2.snap +0 -0
  104. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__insecure_commands.snap +0 -0
  105. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__self_hosted-2.snap +0 -0
  106. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__self_hosted-3.snap +0 -0
  107. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__self_hosted-4.snap +0 -0
  108. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__self_hosted-5.snap +0 -0
  109. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__self_hosted-6.snap +0 -0
  110. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__self_hosted-7.snap +0 -0
  111. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__self_hosted-8.snap +0 -0
  112. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__self_hosted.snap +0 -0
  113. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__template_injection-2.snap +0 -0
  114. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__template_injection.snap +0 -0
  115. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__unpinned_uses-2.snap +0 -0
  116. {zizmor-0.9.1 → zizmor-0.10.0}/tests/snapshots/snapshot__unpinned_uses.snap +0 -0
  117. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/artipacked.yml +0 -0
  118. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/excessive-permissions.yml +0 -0
  119. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/github_env.yml +0 -0
  120. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/hardcoded-credentials.yml +0 -0
  121. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/inlined-ignores.yml +0 -0
  122. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/insecure-commands.yml +0 -0
  123. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/self-hosted/issue-283-repro.yml +0 -0
  124. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/self-hosted/self-hosted-matrix-dimension.yml +0 -0
  125. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/self-hosted/self-hosted-matrix-exclusion.yml +0 -0
  126. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/self-hosted/self-hosted-matrix-inclusion.yml +0 -0
  127. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/self-hosted/self-hosted-runner-group.yml +0 -0
  128. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/self-hosted/self-hosted-runner-label.yml +0 -0
  129. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/self-hosted.yml +0 -0
  130. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/template-injection/template-injection-dynamic-matrix.yml +0 -0
  131. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/template-injection/template-injection-static-matrix.yml +0 -0
  132. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/template-injection.yml +0 -0
  133. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/unpinned-uses.yml +0 -0
  134. {zizmor-0.9.1 → zizmor-0.10.0}/tests/test-data/use-trusted-publishing.yml +0 -0
@@ -7,7 +7,7 @@ body:
7
7
  - type: markdown
8
8
  attributes:
9
9
  value: |
10
- Thank for for making a `zizmor` feature request!
10
+ Thanks for making a `zizmor` feature request!
11
11
 
12
12
  Please read the following parts of this form carefully.
13
13
  Invalid or incomplete submissions take longer to triage,
@@ -17,6 +17,8 @@ jobs:
17
17
  - name: Format
18
18
  run: cargo fmt && git diff --exit-code
19
19
 
20
+ - uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2
21
+
20
22
  - name: Lint
21
23
  run: cargo clippy -- -D warnings
22
24
 
@@ -27,6 +29,8 @@ jobs:
27
29
  with:
28
30
  persist-credentials: false
29
31
 
32
+ - uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2
33
+
30
34
  - name: Test
31
35
  run: cargo test
32
36
 
@@ -6,7 +6,6 @@ on:
6
6
  - main
7
7
  tags:
8
8
  - '*'
9
- pull_request:
10
9
  workflow_dispatch:
11
10
 
12
11
  permissions:
@@ -32,18 +31,18 @@ jobs:
32
31
  - runner: ubuntu-22.04
33
32
  target: ppc64le
34
33
  steps:
35
- - uses: actions/checkout@v4
34
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
36
35
  with:
37
36
  persist-credentials: false
38
37
  - name: Build wheels
39
- uses: PyO3/maturin-action@v1
38
+ uses: PyO3/maturin-action@ea5bac0f1ccd0ab11c805e2b804bfcb65dac2eab # v1
40
39
  with:
41
40
  target: ${{ matrix.platform.target }}
42
41
  args: --release --out dist
43
42
  sccache: 'true'
44
43
  manylinux: auto
45
44
  - name: Upload wheels
46
- uses: actions/upload-artifact@v4
45
+ uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4
47
46
  with:
48
47
  name: wheels-linux-${{ matrix.platform.target }}
49
48
  path: dist
@@ -62,18 +61,18 @@ jobs:
62
61
  - runner: ubuntu-22.04
63
62
  target: armv7
64
63
  steps:
65
- - uses: actions/checkout@v4
64
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
66
65
  with:
67
66
  persist-credentials: false
68
67
  - name: Build wheels
69
- uses: PyO3/maturin-action@v1
68
+ uses: PyO3/maturin-action@ea5bac0f1ccd0ab11c805e2b804bfcb65dac2eab # v1
70
69
  with:
71
70
  target: ${{ matrix.platform.target }}
72
71
  args: --release --out dist
73
72
  sccache: 'true'
74
73
  manylinux: musllinux_1_2
75
74
  - name: Upload wheels
76
- uses: actions/upload-artifact@v4
75
+ uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4
77
76
  with:
78
77
  name: wheels-musllinux-${{ matrix.platform.target }}
79
78
  path: dist
@@ -88,17 +87,17 @@ jobs:
88
87
  - runner: windows-latest
89
88
  target: x86
90
89
  steps:
91
- - uses: actions/checkout@v4
90
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
92
91
  with:
93
92
  persist-credentials: false
94
93
  - name: Build wheels
95
- uses: PyO3/maturin-action@v1
94
+ uses: PyO3/maturin-action@ea5bac0f1ccd0ab11c805e2b804bfcb65dac2eab # v1
96
95
  with:
97
96
  target: ${{ matrix.platform.target }}
98
97
  args: --release --out dist
99
98
  sccache: 'true'
100
99
  - name: Upload wheels
101
- uses: actions/upload-artifact@v4
100
+ uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4
102
101
  with:
103
102
  name: wheels-windows-${{ matrix.platform.target }}
104
103
  path: dist
@@ -113,17 +112,17 @@ jobs:
113
112
  - runner: macos-14
114
113
  target: aarch64
115
114
  steps:
116
- - uses: actions/checkout@v4
115
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
117
116
  with:
118
117
  persist-credentials: false
119
118
  - name: Build wheels
120
- uses: PyO3/maturin-action@v1
119
+ uses: PyO3/maturin-action@ea5bac0f1ccd0ab11c805e2b804bfcb65dac2eab # v1
121
120
  with:
122
121
  target: ${{ matrix.platform.target }}
123
122
  args: --release --out dist
124
123
  sccache: 'true'
125
124
  - name: Upload wheels
126
- uses: actions/upload-artifact@v4
125
+ uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4
127
126
  with:
128
127
  name: wheels-macos-${{ matrix.platform.target }}
129
128
  path: dist
@@ -131,16 +130,16 @@ jobs:
131
130
  sdist:
132
131
  runs-on: ubuntu-latest
133
132
  steps:
134
- - uses: actions/checkout@v4
133
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
135
134
  with:
136
135
  persist-credentials: false
137
136
  - name: Build sdist
138
- uses: PyO3/maturin-action@v1
137
+ uses: PyO3/maturin-action@ea5bac0f1ccd0ab11c805e2b804bfcb65dac2eab # v1
139
138
  with:
140
139
  command: sdist
141
140
  args: --out dist
142
141
  - name: Upload sdist
143
- uses: actions/upload-artifact@v4
142
+ uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4
144
143
  with:
145
144
  name: wheels-sdist
146
145
  path: dist
@@ -161,14 +160,14 @@ jobs:
161
160
  # Used to generate artifact attestation
162
161
  attestations: write
163
162
  steps:
164
- - uses: actions/download-artifact@v4
163
+ - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4
165
164
  - name: Generate artifact attestation
166
- uses: actions/attest-build-provenance@v2
165
+ uses: actions/attest-build-provenance@7668571508540a607bdfd90a87a560489fe372eb # v2
167
166
  with:
168
167
  subject-path: 'wheels-*/*'
169
168
  - name: Publish to PyPI
170
169
  if: ${{ startsWith(github.ref, 'refs/tags/') }}
171
- uses: PyO3/maturin-action@v1
170
+ uses: PyO3/maturin-action@ea5bac0f1ccd0ab11c805e2b804bfcb65dac2eab # v1
172
171
  with:
173
172
  command: upload
174
173
  args: --non-interactive --skip-existing wheels-*/*
@@ -4,7 +4,6 @@ on:
4
4
  push:
5
5
  branches:
6
6
  - main
7
- - site-staging
8
7
 
9
8
  workflow_dispatch:
10
9
 
@@ -19,13 +19,13 @@ jobs:
19
19
  with:
20
20
  persist-credentials: false
21
21
  - name: Install the latest version of uv
22
- uses: astral-sh/setup-uv@v4
22
+ uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4
23
23
  - name: Run zizmor 🌈
24
24
  run: uvx zizmor --format sarif . > results.sarif
25
25
  env:
26
26
  GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27
27
  - name: Upload SARIF file
28
- uses: github/codeql-action/upload-sarif@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6
28
+ uses: github/codeql-action/upload-sarif@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
29
29
  with:
30
30
  sarif_file: results.sarif
31
31
  category: zizmor