Skip to content

Commit 273d9a8

Browse files
Add explicit permissions to all workflow jobs for security
Co-authored-by: thoughtparametersllc <194255310+thoughtparametersllc@users.noreply.github.com>
1 parent ab1bdb7 commit 273d9a8

File tree

5 files changed

+46
-2
lines changed

5 files changed

+46
-2
lines changed

.github/workflows/changelog-check.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ jobs:
1212
check-changelog:
1313
name: Verify Changelog Updated
1414
runs-on: ubuntu-latest
15+
permissions:
16+
contents: read
1517
steps:
1618
- name: Checkout repository
1719
uses: actions/checkout@v4

.github/workflows/lint-test.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ jobs:
1414
lint-python:
1515
name: Lint Python Files
1616
runs-on: ubuntu-latest
17+
permissions:
18+
contents: read
1719
steps:
1820
- name: Checkout repository
1921
uses: actions/checkout@v4
@@ -54,6 +56,8 @@ jobs:
5456
lint-yaml:
5557
name: Lint YAML Files
5658
runs-on: ubuntu-latest
59+
permissions:
60+
contents: read
5761
steps:
5862
- name: Checkout repository
5963
uses: actions/checkout@v4
@@ -82,6 +86,8 @@ jobs:
8286
test-update-badges:
8387
name: Test update_badges.py
8488
runs-on: ubuntu-latest
89+
permissions:
90+
contents: read
8591
steps:
8692
- name: Checkout repository
8793
uses: actions/checkout@v4
@@ -127,6 +133,8 @@ jobs:
127133
shellcheck:
128134
name: Shellcheck
129135
runs-on: ubuntu-latest
136+
permissions:
137+
contents: read
130138
steps:
131139
- name: Checkout repository
132140
uses: actions/checkout@v4
@@ -141,6 +149,8 @@ jobs:
141149
security-scan:
142150
name: Security Scan
143151
runs-on: ubuntu-latest
152+
permissions:
153+
contents: read
144154
steps:
145155
- name: Checkout repository
146156
uses: actions/checkout@v4
@@ -172,6 +182,8 @@ jobs:
172182
test-summary:
173183
name: All Checks Complete
174184
runs-on: ubuntu-latest
185+
permissions:
186+
contents: read
175187
needs:
176188
- lint-python
177189
- lint-yaml

.github/workflows/release.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ jobs:
1717
check-changelog:
1818
name: Check Changelog
1919
runs-on: ubuntu-latest
20+
permissions:
21+
contents: read
2022
outputs:
2123
has_unreleased: ${{ steps.check.outputs.has_unreleased }}
2224
release_notes: ${{ steps.extract.outputs.release_notes }}
@@ -61,6 +63,8 @@ jobs:
6163
determine-version:
6264
name: Determine Next Version
6365
runs-on: ubuntu-latest
66+
permissions:
67+
contents: read
6468
needs: check-changelog
6569
if: needs.check-changelog.outputs.has_unreleased == 'true' || github.event_name == 'workflow_dispatch'
6670
outputs:
@@ -210,6 +214,8 @@ jobs:
210214
marketplace-submission:
211215
name: Marketplace Submission Info
212216
runs-on: ubuntu-latest
217+
permissions:
218+
contents: read
213219
needs: create-release
214220
steps:
215221
- name: Marketplace submission info
@@ -235,6 +241,8 @@ jobs:
235241
workflow-summary:
236242
name: Release Summary
237243
runs-on: ubuntu-latest
244+
permissions:
245+
contents: read
238246
needs:
239247
- create-release
240248
- marketplace-submission

.github/workflows/security-audit.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ jobs:
1717
dependency-review:
1818
name: Dependency Review
1919
runs-on: ubuntu-latest
20+
permissions:
21+
contents: read
2022
if: github.event_name == 'pull_request'
2123
steps:
2224
- name: Checkout repository
@@ -30,6 +32,8 @@ jobs:
3032
python-security-scan:
3133
name: Python Security Scan
3234
runs-on: ubuntu-latest
35+
permissions:
36+
contents: read
3337
steps:
3438
- name: Checkout repository
3539
uses: actions/checkout@v4
@@ -119,6 +123,8 @@ jobs:
119123
secret-scanning:
120124
name: Secret Scanning
121125
runs-on: ubuntu-latest
126+
permissions:
127+
contents: read
122128
steps:
123129
- name: Checkout repository
124130
uses: actions/checkout@v4
@@ -136,6 +142,8 @@ jobs:
136142
workflow-security:
137143
name: Workflow Security Check
138144
runs-on: ubuntu-latest
145+
permissions:
146+
contents: read
139147
steps:
140148
- name: Checkout repository
141149
uses: actions/checkout@v4
@@ -177,6 +185,8 @@ jobs:
177185
security-summary:
178186
name: Security Summary
179187
runs-on: ubuntu-latest
188+
permissions:
189+
contents: read
180190
needs:
181191
- python-security-scan
182192
- codeql-analysis

.github/workflows/test-action.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ jobs:
2424
test-basic-linting:
2525
name: Test Basic Linting
2626
runs-on: ubuntu-latest
27+
permissions:
28+
contents: read
2729
steps:
2830
- name: Checkout repository
2931
uses: actions/checkout@v4
@@ -51,6 +53,8 @@ jobs:
5153
test-custom-options:
5254
name: Test Custom Linting Options
5355
runs-on: ubuntu-latest
56+
permissions:
57+
contents: read
5458
steps:
5559
- name: Checkout repository
5660
uses: actions/checkout@v4
@@ -81,6 +85,8 @@ jobs:
8185
test-requirements-file:
8286
name: Test With Requirements File
8387
runs-on: ubuntu-latest
88+
permissions:
89+
contents: read
8490
steps:
8591
- name: Checkout repository
8692
uses: actions/checkout@v4
@@ -115,7 +121,7 @@ jobs:
115121
name: Test Badge Generation
116122
runs-on: ubuntu-latest
117123
permissions:
118-
contents: write
124+
contents: read
119125
steps:
120126
- name: Checkout repository
121127
uses: actions/checkout@v4
@@ -162,7 +168,7 @@ jobs:
162168
name: Test README Update
163169
runs-on: ubuntu-latest
164170
permissions:
165-
contents: write
171+
contents: read
166172
steps:
167173
- name: Checkout repository
168174
uses: actions/checkout@v4
@@ -214,6 +220,8 @@ jobs:
214220
test-update-badges-script:
215221
name: Test update_badges.py Script
216222
runs-on: ubuntu-latest
223+
permissions:
224+
contents: read
217225
steps:
218226
- name: Checkout repository
219227
uses: actions/checkout@v4
@@ -274,6 +282,8 @@ jobs:
274282
test-python-versions:
275283
name: Test Python ${{ matrix.python-version }}
276284
runs-on: ubuntu-latest
285+
permissions:
286+
contents: read
277287
strategy:
278288
matrix:
279289
python-version: ['3.9', '3.10', '3.11', '3.12']
@@ -304,6 +314,8 @@ jobs:
304314
test-summary:
305315
name: Test Summary
306316
runs-on: ubuntu-latest
317+
permissions:
318+
contents: read
307319
needs:
308320
- test-basic-linting
309321
- test-custom-options

0 commit comments

Comments
 (0)