Browse Source

feat(ci): zizmor github actions vuln scanner (#5368)

* zizmor-action-scanning

Signed-off-by: arielrahamim <ariel@projectcircle.co.il>

* WIP

Signed-off-by: arielrahamim <ariel@projectcircle.co.il>

---------

Signed-off-by: arielrahamim <ariel@projectcircle.co.il>
Co-authored-by: Gergely Brautigam <skarlso777@gmail.com>
arielrahamim 6 months ago
parent
commit
be6f1f7a5e
1 changed files with 56 additions and 0 deletions
  1. 56 0
      .github/workflows/zizmor.yml

+ 56 - 0
.github/workflows/zizmor.yml

@@ -0,0 +1,56 @@
+name: Zizmor Actions Scanner
+
+on:
+  push:
+    branches:
+      - main
+    paths:
+      - '.github/workflows/**'
+  pull_request:
+    branches:
+      - main
+    paths:
+      - '.github/workflows/**'
+
+jobs:
+  detect-noop:
+    permissions:
+      actions: write  # for fkirc/skip-duplicate-actions to skip or stop workflow runs
+      contents: read  # for fkirc/skip-duplicate-actions to read and compare commits
+    runs-on: ubuntu-latest
+    outputs:
+      noop: ${{ steps.noop.outputs.should_skip }}
+    steps:
+      - uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
+        with:
+          egress-policy: audit
+      - name: Detect No-op Changes
+        id: noop
+        uses: fkirc/skip-duplicate-actions@f75f66ce1886f00957d99748a42c724f4330bdcf # v5.3.1
+        with:
+          github_token: ${{ secrets.GITHUB_TOKEN }}
+          paths_ignore: '["**.md", "**.png", "**.jpg"]'
+          do_not_skip: '["workflow_dispatch", "schedule", "push"]'
+          concurrent_skipping: false
+
+  zizmor:
+    name: Run zizmor 🌈
+    runs-on: ubuntu-latest
+    needs: detect-noop
+    if: needs.detect-noop.outputs.noop != 'true'
+    permissions:
+      security-events: write
+    steps:
+      - name: Checkout repository
+        uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
+        with:
+          persist-credentials: false
+
+      - name: Run zizmor 🌈
+        uses: zizmorcore/zizmor-action@e673c3917a1aef3c65c972347ed84ccd013ecda4 # v0.2.0
+        with:
+          inputs: |
+            .github/
+          token: ${{ github.token }}
+          # min-severity: medium
+          # min-confidence: medium