Skip to content

Commit 4630083

Browse files
IvMisticosclaude
andauthored
Add explicit read permissions to GitHub Actions workflows (#10)
* fix(security): remediate Dependabot and CodeQL alerts Dependabot (benchmark/requirements.txt): - Bump Pillow 9.2.0 -> 11.3.0 (fixes libwebp OOB write, arbitrary code execution, multiple DoS, buffer/integer overflow, and PDF trailer infinite-loop advisories) - Bump fonttools 4.34.4 -> 4.63.0 (fixes XXE and varLib arbitrary file write / XML injection advisories) CodeQL (GitHub Actions workflows): - Add least-privilege top-level `permissions: contents: read` to asdf-lint, asdf-test, and golangci-lint workflows - Pin third-party actions to commit SHAs: - asdf-vm/actions @ b7bcd02 (v4) - golangci/golangci-lint-action @ 82606bf (v9) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kw8Vc56aCTxc11n3oCd2kn * chore(benchmark): upgrade Python deps to latest (14-day cutoff) Re-resolved benchmark/requirements.txt from the sole direct dependency (matplotlib) with uv, excluding releases newer than 2026-06-05. This brings every package to its latest compatible version, picks up prebuilt cp311 wheels (the old matplotlib 3.5.3 pin had none and failed to build from source), and supersedes the earlier targeted Pillow/ fonttools security bumps: - matplotlib 3.5.3 -> 3.10.9 (adds contourpy) - numpy 1.23.1 -> 2.4.6 - pillow 9.2.0 -> 12.2.0 - fonttools 4.34.4 -> 4.63.0 - plus cycler, kiwisolver, packaging, pyparsing, python-dateutil, six Verified: clean install in a fresh venv and graph.py renders all three SVGs successfully. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kw8Vc56aCTxc11n3oCd2kn --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent a3e0dab commit 4630083

4 files changed

Lines changed: 25 additions & 15 deletions

File tree

.github/workflows/asdf-lint.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ on:
88
- 'v*'
99
pull_request:
1010

11+
permissions:
12+
contents: read
13+
1114
jobs:
1215
shellcheck:
1316
runs-on: ubuntu-latest
@@ -16,7 +19,7 @@ jobs:
1619
uses: actions/checkout@v6
1720

1821
- name: Install asdf dependencies
19-
uses: asdf-vm/actions/install@v4
22+
uses: asdf-vm/actions/install@b7bcd026f18772e44fe1026d729e1611cc435d47 # v4
2023

2124
- name: Run ShellCheck
2225
run: bin/scripts/shellcheck.bash
@@ -28,7 +31,7 @@ jobs:
2831
uses: actions/checkout@v6
2932

3033
- name: Install asdf dependencies
31-
uses: asdf-vm/actions/install@v4
34+
uses: asdf-vm/actions/install@b7bcd026f18772e44fe1026d729e1611cc435d47 # v4
3235

3336
- name: List file to shfmt
3437
run: shfmt -f .

.github/workflows/asdf-test.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ on:
88
- 'v*'
99
pull_request:
1010

11+
permissions:
12+
contents: read
13+
1114
jobs:
1215
plugin_test:
1316
name: asdf plugin test
@@ -19,10 +22,10 @@ jobs:
1922
runs-on: ${{ matrix.os }}
2023
steps:
2124
- name: asdf_plugin_test
22-
uses: asdf-vm/actions/plugin-test@v4
25+
uses: asdf-vm/actions/plugin-test@b7bcd026f18772e44fe1026d729e1611cc435d47 # v4
2326
with:
2427
command: type kcc-cache
2528
- name: asdf_plugin_test
26-
uses: asdf-vm/actions/plugin-test@v4
29+
uses: asdf-vm/actions/plugin-test@b7bcd026f18772e44fe1026d729e1611cc435d47 # v4
2730
with:
2831
command: kcc-injector -h

.github/workflows/golangci-lint.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
pull_request:
77
branches: ["main"]
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
golangci:
1114
name: lint
@@ -16,6 +19,6 @@ jobs:
1619
with:
1720
go-version: "1.26.4"
1821
- name: golangci-lint
19-
uses: golangci/golangci-lint-action@v9
22+
uses: golangci/golangci-lint-action@82606bf257cbaff209d206a39f5134f0cfbfd2ee # v9
2023
with:
2124
version: latest

benchmark/requirements.txt

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
cycler==0.11.0
2-
fonttools==4.34.4
3-
kiwisolver==1.4.4
4-
matplotlib==3.5.3
5-
numpy==1.23.1
6-
packaging==21.3
7-
Pillow==9.2.0
8-
pyparsing==3.0.9
9-
python-dateutil==2.8.2
10-
six==1.16.0
1+
contourpy==1.3.3
2+
cycler==0.12.1
3+
fonttools==4.63.0
4+
kiwisolver==1.5.0
5+
matplotlib==3.10.9
6+
numpy==2.4.6
7+
packaging==26.2
8+
pillow==12.2.0
9+
pyparsing==3.3.2
10+
python-dateutil==2.9.0.post0
11+
six==1.17.0

0 commit comments

Comments
 (0)