Skip to content

Commit 6286e12

Browse files
authored
Merge pull request #9645 from BitGo/INF-3420-public-repo-action-policy
ci: add zizmor action-pinning policy for public repositories
2 parents 3115584 + 027ed72 commit 6286e12

1 file changed

Lines changed: 136 additions & 0 deletions

File tree

.github/zizmor.yml

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
# Zizmor policy for BitGo's public repositories (INF-3420).
2+
#
3+
# The org-level action-pinning required workflow cannot run against
4+
# public repositories: GitHub does not allow required workflows from a
5+
# private repository to run in public ones. This is its
6+
# public-repository counterpart, stored in a public repository so that
7+
# enforcement for public repositories can reference it.
8+
#
9+
# Every zizmor audit except unpinned-uses is disabled: this policy
10+
# enforces third-party action pinning and nothing else.
11+
#
12+
# The grandfathered lists came from a 2026-09-03 scan of every
13+
# non-archived public repository in the BitGo org for `uses:`
14+
# references not pinned to a full-length commit SHA (INF-3420). Both
15+
# lists are shrink-only: remove an entry once every public-repository
16+
# workflow that references it pins it to a commit SHA -- do not add
17+
# new entries.
18+
rules:
19+
adhoc-packages:
20+
disable: true
21+
anonymous-definition:
22+
disable: true
23+
archived-uses:
24+
disable: true
25+
artipacked:
26+
disable: true
27+
bot-conditions:
28+
disable: true
29+
cache-poisoning:
30+
disable: true
31+
concurrency-limits:
32+
disable: true
33+
dangerous-triggers:
34+
disable: true
35+
dependabot-cooldown:
36+
disable: true
37+
dependabot-execution:
38+
disable: true
39+
excessive-permissions:
40+
disable: true
41+
forbidden-uses:
42+
disable: true
43+
github-app:
44+
disable: true
45+
github-env:
46+
disable: true
47+
hardcoded-container-credentials:
48+
disable: true
49+
impostor-commit:
50+
disable: true
51+
insecure-commands:
52+
disable: true
53+
insecure-url-scheme:
54+
disable: true
55+
known-vulnerable-actions:
56+
disable: true
57+
misfeature:
58+
disable: true
59+
obfuscation:
60+
disable: true
61+
overprovisioned-secrets:
62+
disable: true
63+
ref-confusion:
64+
disable: true
65+
ref-version-mismatch:
66+
disable: true
67+
secrets-inherit:
68+
disable: true
69+
secrets-outside-env:
70+
disable: true
71+
self-hosted-runner:
72+
disable: true
73+
self-repository:
74+
disable: true
75+
stale-action-refs:
76+
disable: true
77+
superfluous-actions:
78+
disable: true
79+
template-injection:
80+
disable: true
81+
typosquat-uses:
82+
disable: true
83+
undocumented-permissions:
84+
disable: true
85+
unpinned-images:
86+
disable: true
87+
unpinned-tools:
88+
disable: true
89+
unredacted-secrets:
90+
disable: true
91+
unsound-condition:
92+
disable: true
93+
unsound-contains:
94+
disable: true
95+
unsound-ternary:
96+
disable: true
97+
use-trusted-publishing:
98+
disable: true
99+
unpinned-uses:
100+
config:
101+
policies:
102+
# Trusted orgs -- ref-pinning (a tag or branch) is enough.
103+
# Mirrors the org-level policy: GitHub-owned (actions/*,
104+
# github/*) and the docker/* and aws-actions/* orgs. These orgs
105+
# are trusted enough that hash-pinning them adds SHA-churn
106+
# maintenance with no security benefit.
107+
"actions/*": ref-pin
108+
"github/*": ref-pin
109+
"docker/*": ref-pin
110+
"aws-actions/*": ref-pin
111+
112+
# Grandfathered internal (BitGo-owned) actions and reusable
113+
# workflows still referenced by a floating tag/branch by at
114+
# least one public repository as of the INF-3420 scan.
115+
"BitGo/gha-renovate-bot/*": ref-pin
116+
"BitGo/install-github-release-binary/*": ref-pin
117+
"BitGo/semantic-release-github-actions/*": ref-pin
118+
119+
# Grandfathered external third-party actions still referenced by
120+
# a floating tag/branch by at least one public repository as of
121+
# the INF-3420 scan.
122+
"actions-rs/toolchain": ref-pin
123+
"azure/setup-helm": ref-pin
124+
"codecov/codecov-action": ref-pin
125+
"dtolnay/rust-toolchain": ref-pin
126+
"helm/chart-releaser-action": ref-pin
127+
"ilammy/msvc-dev-cmd": ref-pin
128+
"ludeeus/action-shellcheck": ref-pin
129+
"peter-evans/create-pull-request": ref-pin
130+
"xresloader/upload-to-github-release": ref-pin
131+
132+
# Everything else: every other action (including new third-party
133+
# actions, subpaths of grandfathered third-party repos, and
134+
# internal actions in repos not listed above) must be pinned to
135+
# a full commit SHA.
136+
"*": hash-pin

0 commit comments

Comments
 (0)