Skip to content

Commit 2ec1eb9

Browse files
committed
chore: Add security scanning and harden GH actions
1 parent d3d9bf9 commit 2ec1eb9

6 files changed

Lines changed: 82 additions & 2 deletions

File tree

.github/dependabot.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,25 @@ multi-ecosystem-groups:
1010
labels:
1111
- "dependencies"
1212
open-pull-requests-limit: 5
13-
cooldown:
14-
default-days: 2
1513

1614
updates:
1715
- package-ecosystem: "github-actions"
1816
directory: "/"
1917
multi-ecosystem-group: "dependencies"
2018
patterns: ["*"]
19+
cooldown:
20+
default-days: 3
2121

2222
- package-ecosystem: "docker"
2323
directory: "/"
2424
multi-ecosystem-group: "dependencies"
2525
patterns: ["*"]
26+
cooldown:
27+
default-days: 3
2628

2729
- package-ecosystem: "npm"
2830
directory: "/"
2931
multi-ecosystem-group: "dependencies"
3032
patterns: ["*"]
33+
cooldown:
34+
default-days: 3

.github/workflows/codeql.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: "CodeQL"
2+
3+
on:
4+
push:
5+
branches:
6+
- "main"
7+
pull_request:
8+
schedule:
9+
- cron: '42 4 * * 3' # Every Wednesday at 4:42am
10+
11+
jobs:
12+
analyze:
13+
name: Analyze (${{ matrix.language }})
14+
runs-on: 'ubuntu-latest'
15+
permissions:
16+
security-events: write
17+
packages: read
18+
actions: read
19+
contents: read
20+
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
include:
25+
- language: actions
26+
build-mode: none
27+
- language: javascript-typescript
28+
build-mode: none
29+
30+
steps:
31+
- name: Checkout repository
32+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
33+
with:
34+
persist-credentials: false
35+
36+
- name: Initialize CodeQL
37+
uses: github/codeql-action/init@68bde559dea0fdcac2102bfdf6230c5f70eb485e # v4.35.4
38+
with:
39+
languages: ${{ matrix.language }}
40+
build-mode: ${{ matrix.build-mode }}
41+
queries: security-and-quality
42+
43+
- name: Perform CodeQL Analysis
44+
uses: github/codeql-action/analyze@68bde559dea0fdcac2102bfdf6230c5f70eb485e # v4.35.4
45+
with:
46+
category: "/language:${{matrix.language}}"

.github/workflows/docker.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ jobs:
2222
steps:
2323
- name: Checkout
2424
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
25+
with:
26+
persist-credentials: false
2527

2628
- name: Set up QEMU
2729
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0

.github/workflows/quality.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ jobs:
1313
steps:
1414
- name: Checkout repository ⬇️
1515
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
16+
with:
17+
persist-credentials: false
1618

1719
- name: Set up pnpm
1820
uses: pnpm/action-setup@91ab88e2619ed1f46221f0ba42d1492c02baf788 # v6.0.6

.github/workflows/security.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Security
2+
3+
on:
4+
push:
5+
6+
permissions: {}
7+
8+
jobs:
9+
zizmor:
10+
name: Check GitHub Actions
11+
runs-on: ubuntu-latest
12+
timeout-minutes: 15
13+
permissions:
14+
security-events: write # Required to upload results as security events
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
18+
with:
19+
persist-credentials: false
20+
21+
- name: Run zizmor
22+
uses: zizmorcore/zizmor-action@b1d7e1fb5de872772f31590499237e7cce841e8e # v0.5.3

.github/zizmor.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
rules:
2+
dependabot-cooldown:
3+
config:
4+
days: 3 # Reduce default cooldown period for Dependabot PRs from 7 to 3 days

0 commit comments

Comments
 (0)