Skip to content

Commit 8481a63

Browse files
Review SCM files and security updates (#5)
Co-authored-by: Claude <noreply@anthropic.com>
1 parent 82b62ac commit 8481a63

16 files changed

Lines changed: 176 additions & 101 deletions

.github/workflows/generator-generic-ossf-slsa3-publish.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
12
# This workflow uses actions that are not certified by GitHub.
23
# They are provided by a third-party and are governed by
34
# separate terms of service, privacy policy, and support
@@ -16,14 +17,16 @@ on:
1617
release:
1718
types: [created]
1819

20+
permissions: read-all
21+
1922
jobs:
2023
build:
2124
runs-on: ubuntu-latest
2225
outputs:
2326
digests: ${{ steps.hash.outputs.digests }}
2427

2528
steps:
26-
- uses: actions/checkout@v4
29+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
2730

2831
# ========================================================
2932
#

.github/workflows/guix-nix-policy.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1+
# SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
12
name: Guix/Nix Package Policy
23
on: [push, pull_request]
4+
5+
permissions: read-all
6+
37
jobs:
48
check:
59
runs-on: ubuntu-latest
610
steps:
7-
- uses: actions/checkout@v4
11+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
812
- name: Enforce Guix primary / Nix fallback
913
run: |
1014
# Check for package manager files
Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,37 @@
1-
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
1+
# SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
2+
# Workflow for building and deploying a Jekyll site to GitHub Pages
23
name: Deploy Jekyll with GitHub Pages dependencies preinstalled
34

45
on:
5-
# Runs on pushes targeting the default branch
66
push:
7-
branches: ["main"]
8-
9-
# Allows you to run this workflow manually from the Actions tab
7+
branches: [main]
108
workflow_dispatch:
119

12-
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
1310
permissions:
1411
contents: read
1512
pages: write
1613
id-token: write
1714

18-
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
19-
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
2015
concurrency:
2116
group: "pages"
2217
cancel-in-progress: false
2318

2419
jobs:
25-
# Build job
2620
build:
2721
runs-on: ubuntu-latest
2822
steps:
2923
- name: Checkout
30-
uses: actions/checkout@v4
24+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
3125
- name: Setup Pages
32-
uses: actions/configure-pages@v5
26+
uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0
3327
- name: Build with Jekyll
34-
uses: actions/jekyll-build-pages@v1
28+
uses: actions/jekyll-build-pages@44a6e6beabd48582f863aeeb6cb2151cc1716571 # v1.0.13
3529
with:
3630
source: ./
3731
destination: ./_site
3832
- name: Upload artifact
39-
uses: actions/upload-pages-artifact@v3
33+
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1
4034

41-
# Deployment job
4235
deploy:
4336
environment:
4437
name: github-pages
@@ -48,4 +41,4 @@ jobs:
4841
steps:
4942
- name: Deploy to GitHub Pages
5043
id: deployment
51-
uses: actions/deploy-pages@v4
44+
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5

.github/workflows/npm-bun-blocker.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1+
# SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
12
name: NPM/Bun Blocker
23
on: [push, pull_request]
4+
5+
permissions: read-all
6+
37
jobs:
48
check:
59
runs-on: ubuntu-latest
610
steps:
7-
- uses: actions/checkout@v4
11+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
812
- name: Block npm/bun
913
run: |
1014
if [ -f "package-lock.json" ] || [ -f "bun.lockb" ] || [ -f ".npmrc" ]; then

.github/workflows/quality.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,49 @@
1+
# SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
12
name: Code Quality
23
on: [push, pull_request]
34

45
jobs:
56
lint:
67
runs-on: ubuntu-latest
78
steps:
8-
- uses: actions/checkout@v4
9-
9+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
10+
1011
- name: Check file permissions
1112
run: |
1213
find . -type f -perm /111 -name "*.sh" | head -10 || true
13-
14+
1415
- name: Check for secrets
15-
uses: trufflesecurity/trufflehog@main
16+
uses: trufflesecurity/trufflehog@8a8ef8526f86c1dcf54f065f3d1d20aba814a6c1 # v3.82.8
1617
with:
1718
path: ./
1819
base: ${{ github.event.pull_request.base.sha || github.event.before }}
1920
head: ${{ github.sha }}
2021
continue-on-error: true
21-
22+
2223
- name: Check TODO/FIXME
2324
run: |
2425
echo "=== TODOs ==="
2526
grep -rn "TODO\|FIXME\|HACK\|XXX" --include="*.rs" --include="*.res" --include="*.py" --include="*.ex" . | head -20 || echo "None found"
26-
27+
2728
- name: Check for large files
2829
run: |
2930
find . -type f -size +1M -not -path "./.git/*" | head -10 || echo "No large files"
30-
31+
3132
- name: EditorConfig check
32-
uses: editorconfig-checker/action-editorconfig-checker@main
33+
uses: editorconfig-checker/action-editorconfig-checker@8554b65da4ba74e3d14fc0b64f3dc2cb99c6d63d # v2.0.0
3334
continue-on-error: true
3435

3536
docs:
3637
runs-on: ubuntu-latest
3738
steps:
38-
- uses: actions/checkout@v4
39+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
3940
- name: Check documentation
4041
run: |
4142
MISSING=""
4243
[ ! -f "README.md" ] && [ ! -f "README.adoc" ] && MISSING="$MISSING README"
4344
[ ! -f "LICENSE" ] && [ ! -f "LICENSE.txt" ] && [ ! -f "LICENSE.md" ] && MISSING="$MISSING LICENSE"
4445
[ ! -f "CONTRIBUTING.md" ] && [ ! -f "CONTRIBUTING.adoc" ] && MISSING="$MISSING CONTRIBUTING"
45-
46+
4647
if [ -n "$MISSING" ]; then
4748
echo "::warning::Missing docs:$MISSING"
4849
else

.github/workflows/rsr-antipattern.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
# SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
12
# RSR Anti-Pattern CI Check
2-
# SPDX-License-Identifier: AGPL-3.0-or-later
33
#
44
# Enforces: No TypeScript, No Go, No Python (except SaltStack), No npm
55
# Allows: ReScript, Deno, WASM, Rust, OCaml, Haskell, Guile/Scheme
@@ -12,11 +12,13 @@ on:
1212
pull_request:
1313
branches: [main, master, develop]
1414

15+
permissions: read-all
16+
1517
jobs:
1618
antipattern-check:
1719
runs-on: ubuntu-latest
1820
steps:
19-
- uses: actions/checkout@v4
21+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
2022

2123
- name: Check for TypeScript
2224
run: |

.github/workflows/rust-ci.yml

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
12
name: Rust CI
23
on: [push, pull_request]
34
env:
@@ -8,29 +9,29 @@ jobs:
89
test:
910
runs-on: ubuntu-latest
1011
steps:
11-
- uses: actions/checkout@v4
12-
- uses: dtolnay/rust-toolchain@stable
12+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
13+
- uses: dtolnay/rust-toolchain@1482605bfc5719782e1267fd0c0cc350fe7646b8 # stable
1314
with:
1415
components: rustfmt, clippy
15-
- uses: Swatinem/rust-cache@v2
16-
16+
- uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075ebd2b0e7570e8ddc6a # v2.7.3
17+
1718
- name: Check formatting
1819
run: cargo fmt --all -- --check
19-
20+
2021
- name: Clippy lints
2122
run: cargo clippy --all-targets --all-features -- -D warnings
22-
23+
2324
- name: Run tests
2425
run: cargo test --all-features
25-
26+
2627
- name: Build release
2728
run: cargo build --release
2829

2930
security:
3031
runs-on: ubuntu-latest
3132
steps:
32-
- uses: actions/checkout@v4
33-
- uses: dtolnay/rust-toolchain@stable
33+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
34+
- uses: dtolnay/rust-toolchain@1482605bfc5719782e1267fd0c0cc350fe7646b8 # stable
3435
- name: Install cargo-audit
3536
run: cargo install cargo-audit
3637
- name: Security audit
@@ -41,12 +42,12 @@ jobs:
4142
coverage:
4243
runs-on: ubuntu-latest
4344
steps:
44-
- uses: actions/checkout@v4
45-
- uses: dtolnay/rust-toolchain@stable
45+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
46+
- uses: dtolnay/rust-toolchain@1482605bfc5719782e1267fd0c0cc350fe7646b8 # stable
4647
- name: Install tarpaulin
4748
run: cargo install cargo-tarpaulin
4849
- name: Generate coverage
4950
run: cargo tarpaulin --out Xml
50-
- uses: codecov/codecov-action@v3
51+
- uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
5152
with:
5253
files: cobertura.xml

.github/workflows/rust.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
1+
# SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
12
name: Rust
23

34
on:
45
push:
5-
branches: [ "claude/conflow-architecture-design-01LjBsqMdiWLBTXEig4tJS6p" ]
6+
branches: [main, master]
67
pull_request:
7-
branches: [ "claude/conflow-architecture-design-01LjBsqMdiWLBTXEig4tJS6p" ]
8+
branches: [main, master]
9+
10+
permissions: read-all
811

912
env:
1013
CARGO_TERM_COLOR: always
1114

1215
jobs:
1316
build:
14-
1517
runs-on: ubuntu-latest
16-
1718
steps:
18-
- uses: actions/checkout@v4
19-
- name: Build
20-
run: cargo build --verbose
21-
- name: Run tests
22-
run: cargo test --verbose
19+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
20+
- name: Build
21+
run: cargo build --verbose
22+
- name: Run tests
23+
run: cargo test --verbose

.github/workflows/scorecard.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
12
name: OSSF Scorecard
23
on:
34
push:
@@ -14,17 +15,17 @@ jobs:
1415
security-events: write
1516
id-token: write
1617
steps:
17-
- uses: actions/checkout@v4
18+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
1819
with:
1920
persist-credentials: false
20-
21+
2122
- name: Run Scorecard
22-
uses: ossf/scorecard-action@v2.3.1
23+
uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
2324
with:
2425
results_file: results.sarif
2526
results_format: sarif
26-
27+
2728
- name: Upload results
28-
uses: github/codeql-action/upload-sarif@v3
29+
uses: github/codeql-action/upload-sarif@662472033e021d55d94146f66f6058822b0b39fd # v3.28.1
2930
with:
3031
sarif_file: results.sarif

.github/workflows/security-policy.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@ jobs:
44
check:
55
runs-on: ubuntu-latest
66
steps:
7-
- uses: actions/checkout@v4
7+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
88
- name: Security checks
99
run: |
1010
FAILED=false
11-
11+
1212
# Block MD5/SHA1 for security (allow for checksums/caching)
1313
WEAK_CRYPTO=$(grep -rE 'md5\(|sha1\(' --include="*.py" --include="*.rb" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" . 2>/dev/null | grep -v 'checksum\|cache\|test\|spec' | head -5 || true)
1414
if [ -n "$WEAK_CRYPTO" ]; then
1515
echo "⚠️ Weak crypto (MD5/SHA1) detected. Use SHA256+ for security:"
1616
echo "$WEAK_CRYPTO"
1717
fi
18-
18+
1919
# Block HTTP URLs (except localhost)
20-
HTTP_URLS=$(grep -rE 'https://[^l][^o][^c]' --include="*.py" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" --include="*.yaml" --include="*.yml" . 2>/dev/null | grep -v 'localhost\|127.0.0.1\|example\|test\|spec' | head -5 || true)
20+
HTTP_URLS=$(grep -rE 'http://[^l][^o][^c]' --include="*.py" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" --include="*.yaml" --include="*.yml" . 2>/dev/null | grep -v 'localhost\|127.0.0.1\|example\|test\|spec' | head -5 || true)
2121
if [ -n "$HTTP_URLS" ]; then
2222
echo "⚠️ HTTP URLs found. Use HTTPS:"
2323
echo "$HTTP_URLS"

0 commit comments

Comments
 (0)