Skip to content

Commit 6f326ec

Browse files
authored
fix(ci): protect CI against supply chain attack on nodejs
1 parent 01ba4e3 commit 6f326ec

File tree

5 files changed

+41
-8
lines changed

5 files changed

+41
-8
lines changed

.github/workflows/main.yaml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ permissions:
1010
pages: write
1111
id-token: write
1212

13+
env:
14+
SAFE_CHAIN_MINIMUM_PACKAGE_AGE_HOURS: 360 # 15 days
15+
1316
jobs:
1417
faency:
1518
name: Deploy
@@ -18,17 +21,22 @@ jobs:
1821

1922
steps:
2023
- name: Checkout code
21-
uses: actions/checkout@v4
24+
uses: actions/checkout@v6
2225

2326
- name: enable corepack
2427
run: corepack enable
2528

2629
- name: Setup node
27-
uses: actions/setup-node@v4
30+
uses: actions/setup-node@v6
2831
with:
2932
node-version-file: .nvmrc
3033
cache: yarn
3134

35+
- name: Setup safe-chain
36+
run: |
37+
npm i -g @aikidosec/safe-chain
38+
safe-chain setup-ci
39+
3240
- name: Config git
3341
run: |
3442
git config --local user.email "[email protected]"

.github/workflows/pr-prod-build.yaml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,31 @@ name: Production build test
33
on:
44
pull_request:
55

6+
env:
7+
SAFE_CHAIN_MINIMUM_PACKAGE_AGE_HOURS: 360 # 15 days
8+
69
jobs:
710
faency:
811
name: Production build test
912
runs-on: ubuntu-latest
1013
steps:
1114
- name: Checkout
12-
uses: actions/checkout@v4
15+
uses: actions/checkout@v6
1316

1417
- name: enable corepack
1518
run: corepack enable
1619

1720
- name: Setup Node.js
18-
uses: actions/setup-node@v4
21+
uses: actions/setup-node@v6
1922
with:
2023
node-version-file: .nvmrc
2124
cache: yarn
2225

26+
- name: Setup safe-chain
27+
run: |
28+
npm i -g @aikidosec/safe-chain
29+
safe-chain setup-ci
30+
2331
- name: Install production dependencies
2432
run: yarn workspaces focus --all --production
2533

.github/workflows/pr.yaml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,32 @@ name: Pull Request Lint
33
on:
44
pull_request:
55

6+
env:
7+
SAFE_CHAIN_MINIMUM_PACKAGE_AGE_HOURS: 360 # 15 days
8+
69
jobs:
710
faency:
811
name: Test, lint and build
912
runs-on: ubuntu-latest
1013

1114
steps:
1215
- name: Checkout code
13-
uses: actions/checkout@v4
16+
uses: actions/checkout@v6
1417

1518
- name: enable corepack
1619
run: corepack enable
1720

1821
- name: Setup node
19-
uses: actions/setup-node@v4
22+
uses: actions/setup-node@v6
2023
with:
2124
node-version-file: .nvmrc
2225
cache: yarn
2326

27+
- name: Setup safe-chain
28+
run: |
29+
npm i -g @aikidosec/safe-chain
30+
safe-chain setup-ci
31+
2432
- name: Install
2533
run: yarn install
2634

.github/workflows/release.yaml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,32 @@ on:
55
branches:
66
- master
77

8+
env:
9+
SAFE_CHAIN_MINIMUM_PACKAGE_AGE_HOURS: 360 # 15 days
10+
811
jobs:
912
faency:
1013
name: Release
1114
if: github.repository == 'traefik/faency'
1215
runs-on: ubuntu-latest
1316
steps:
1417
- name: Checkout
15-
uses: actions/checkout@v4
18+
uses: actions/checkout@v6
1619

1720
- name: enable corepack
1821
run: corepack enable
1922

2023
- name: Setup Node.js
21-
uses: actions/setup-node@v4
24+
uses: actions/setup-node@v6
2225
with:
2326
node-version-file: .nvmrc
2427
cache: yarn
2528

29+
- name: Setup safe-chain
30+
run: |
31+
npm i -g @aikidosec/safe-chain
32+
safe-chain setup-ci
33+
2634
- name: Install dependencies
2735
run: yarn workspaces focus --all --production
2836

.yarnrc.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
nodeLinker: node-modules
2+
enableScripts: false

0 commit comments

Comments
 (0)