From 2363650fd4c1456c8dc4062bb8f3cb6cd8d9796e Mon Sep 17 00:00:00 2001 From: alexkrivonos Date: Wed, 16 Sep 2026 12:11:21 +0200 Subject: [PATCH 1/2] ci: add zizmor workflow for automated GitHub Actions auditing - Introduce a new Zizmor audit workflow to statically analyze all GitHub Actions for security vulnerabilities. - Update checkout action comments to reflect the exact v7.0.1 tag for clarity. - Document the new workflow in the CHANGELOG. --- .github/workflows/fix-style.yml | 2 +- .github/workflows/phpstan.yml | 2 +- .github/workflows/run-tests.yml | 4 +-- .github/workflows/zizmor.yml | 44 +++++++++++++++++++++++++++++++++ CHANGELOG.md | 2 ++ 5 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/zizmor.yml diff --git a/.github/workflows/fix-style.yml b/.github/workflows/fix-style.yml index 795a081..7f5fd51 100644 --- a/.github/workflows/fix-style.yml +++ b/.github/workflows/fix-style.yml @@ -37,7 +37,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml index 5317cc2..640cccc 100644 --- a/.github/workflows/phpstan.yml +++ b/.github/workflows/phpstan.yml @@ -35,7 +35,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 68a470e..2629b40 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -41,7 +41,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false @@ -77,7 +77,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false diff --git a/.github/workflows/zizmor.yml b/.github/workflows/zizmor.yml new file mode 100644 index 0000000..fca122e --- /dev/null +++ b/.github/workflows/zizmor.yml @@ -0,0 +1,44 @@ +name: "Audit GitHub Actions" + +on: + push: + branches: + - main + - master + paths: + - '.github/workflows/**' + pull_request: + branches: + - main + - master + paths: + - '.github/workflows/**' + schedule: + - cron: '17 6 * * 1' + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + zizmor: + name: "Zizmor GitHub Actions Audit" + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: Checkout code + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Audit GitHub Actions workflows + uses: zizmorcore/zizmor-action@3dc1ecc9bcb9e94e9b2c709687979e1298497054 # v0.6.2 + with: + advanced-security: false + annotations: true + version: 1.29.0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 3da18b9..46f5751 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Security - Pinned all third-party GitHub Actions to immutable full commit SHAs. +- Added a blocking, SHA-pinned Zizmor workflow audit with a fixed scanner + version for deterministic GitHub Actions security checks. - Added Dependabot cooldowns of at least three days for Composer and GitHub Actions updates to reduce exposure to newly compromised releases. - Restricted GitHub Actions tokens to read-only repository contents and stopped From 124526d5f635eca3ce1c0b21bbefa69ff7097ce9 Mon Sep 17 00:00:00 2001 From: alexkrivonos Date: Wed, 16 Sep 2026 12:13:33 +0200 Subject: [PATCH 2/2] fix(ci): increase dependabot cooldown default-days to 7 to satisfy zizmor audit --- .github/dependabot.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 10fba78..bc6036e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -9,7 +9,7 @@ updates: - "dependencies" - "php" cooldown: - default-days: 5 + default-days: 7 semver-major-days: 7 semver-minor-days: 5 semver-patch-days: 3 @@ -23,4 +23,4 @@ updates: - "dependencies" - "github-actions" cooldown: - default-days: 5 + default-days: 7