Skip to content

Commit db4c904

Browse files
committed
chore: Be stricter on action permissions
1 parent 59188e1 commit db4c904

File tree

6 files changed

+55
-39
lines changed

6 files changed

+55
-39
lines changed

.github/workflows/dependency-review.yml

+7-2
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@
99
name: 'Dependency Review'
1010
on: [pull_request]
1111

12-
permissions:
13-
contents: read
12+
permissions: {}
1413

1514
jobs:
1615
dependency-review:
16+
permissions:
17+
contents: read
18+
1719
runs-on: ubuntu-latest
1820
steps:
1921
- name: Harden the runner (Audit all outbound calls)
@@ -23,5 +25,8 @@ jobs:
2325

2426
- name: 'Checkout Repository'
2527
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
28+
with:
29+
persist-credentials: false
30+
2631
- name: 'Dependency Review'
2732
uses: actions/dependency-review-action@3b139cfc5fae8b618d3eae3675e383bb1769c019 # v4.5.0

.github/workflows/generate.yml

+3-21
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ name: Update data and open pull request
33
on:
44
schedule:
55
- cron: '0 18 * * 2'
6+
67
workflow_dispatch:
78

8-
permissions:
9-
contents: read
9+
permissions: {}
1010

1111
jobs:
1212
update-definitions:
@@ -22,38 +22,20 @@ jobs:
2222
with:
2323
egress-policy: audit
2424

25-
- id: is-scheduled
26-
env:
27-
EVENT_NAME: ${{ github.event_name }}
28-
run: |
29-
declare result
30-
declare -i dom
31-
dom="$(date +%d | sed 's/^0//')"
32-
33-
[[ "${EVENT_NAME}" == workflow_dispatch ]] && result=yes
34-
((dom <= 7)) && result=yes
35-
((dom >= 14 && dom <= 21)) && result=yes
36-
37-
echo "ok=${result}" >>"$GITHUB_OUTPUT"
38-
3925
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.2.2
4026
with:
4127
persist-credentials: true
42-
if: steps.is-scheduled.outputs.ok
4328

4429
- uses: ruby/setup-ruby@277ba2a127aba66d45bad0fa2dc56f80dbfedffa #v1.222.0
45-
if: steps.is-scheduled.outputs.ok
4630
with:
47-
ruby-version: '3.2'
31+
ruby-version: '3.3'
4832
rubygems: 'latest'
4933
bundler: 2
5034
bundler-cache: true
5135

5236
- run: bundle exec rake release:gha
53-
if: steps.is-scheduled.outputs.ok
5437

5538
- uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e #v7.0.8
56-
if: steps.is-scheduled.outputs.ok
5739
with:
5840
commit-message: |
5941
${{ env.UPDATE_TITLE }}

.github/workflows/reviewdog.yml

+25-8
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ name: Reviewdog
33
on:
44
pull_request:
55

6-
permissions:
7-
contents: read
6+
permissions: {}
87

98
jobs:
109
typos:
@@ -17,10 +16,16 @@ jobs:
1716
pull-requests: write
1817

1918
steps:
20-
- name: Harden the runner (Audit all outbound calls)
19+
- name: Harden Runner
2120
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
2221
with:
23-
egress-policy: audit
22+
disable-sudo: true
23+
egress-policy: block
24+
allowed-endpoints: >
25+
api.github.com:443
26+
github.com:443
27+
objects.githubusercontent.com:443
28+
raw.githubusercontent.com:443
2429
2530
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.2.2
2631
with:
@@ -38,10 +43,14 @@ jobs:
3843
pull-requests: write
3944

4045
steps:
41-
- name: Harden the runner (Audit all outbound calls)
46+
- name: Harden Runner
4247
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
4348
with:
44-
egress-policy: audit
49+
disable-sudo: true
50+
egress-policy: block
51+
allowed-endpoints: >
52+
api.github.com:443
53+
github.com:443
4554
4655
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.2.2
4756
with:
@@ -59,10 +68,18 @@ jobs:
5968
pull-requests: write
6069

6170
steps:
62-
- name: Harden the runner (Audit all outbound calls)
71+
- name: Harden Runner
6372
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
6473
with:
65-
egress-policy: audit
74+
disable-sudo: true
75+
egress-policy: block
76+
allowed-endpoints: >
77+
api.github.com:443
78+
github.com:443
79+
index.rubygems.org:443
80+
objects.githubusercontent.com:443
81+
raw.githubusercontent.com:443
82+
rubygems.org:443
6683
6784
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.2.2
6885
with:

.github/workflows/scorecards.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ on:
1212
schedule:
1313
- cron: '20 7 * * 2'
1414
push:
15-
branches: ["main"]
15+
branches: ['main']
1616

1717
# Declare default permissions as read only.
18-
permissions: read-all
18+
permissions: {}
1919

2020
jobs:
2121
analysis:

.github/workflows/zizmor.yml

+13-6
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ permissions: {}
99

1010
jobs:
1111
zizmor:
12-
name: zizmor latest via Cargo
12+
name: zizmor latest via uv
1313
runs-on: ubuntu-latest
1414

1515
permissions:
@@ -19,21 +19,28 @@ jobs:
1919
actions: read
2020

2121
steps:
22-
- name: Harden the runner (Audit all outbound calls)
22+
- name: Harden Runner
2323
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
2424
with:
25-
egress-policy: audit
25+
disable-sudo: true
26+
egress-policy: block
27+
allowed-endpoints: >
28+
api.github.com:443
29+
files.pythonhosted.org:443
30+
github.com:443
31+
objects.githubusercontent.com:443
32+
pypi.org:443
2633
2734
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2835
with:
2936
persist-credentials: false
3037

31-
- uses: actions-rust-lang/setup-rust-toolchain@9399c7bb15d4c7d47b27263d024f0a4978346ba4 # v1.11.0
38+
- uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 #v5.3.1
3239

33-
- run: cargo install --locked zizmor
34-
- run: zizmor --persona pedantic --format sarif . > results.sarif
40+
- run: uvx zizmor --persona pedantic --format sarif . > results.sarif
3541
env:
3642
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
43+
3744
- uses: github/codeql-action/upload-sarif@6bb031afdd8eb862ea3fc1848194185e076637e5 # v3.28.11
3845
with:
3946
sarif_file: results.sarif

.github/zizmor.yml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
rules:
2+
artipacked:
3+
ignore:
4+
- generate.yml:25
5+
- publish-gem.yml:42

0 commit comments

Comments
 (0)