chore: add zizmor workflow to harden GitHub Actions security #3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Analyzes all GitHub Actions workflows for security issues using zizmor. | |
| # docs: https://docs.zizmor.sh/ | |
| name: Workflow Security Analysis (zizmor) | |
| on: | |
| pull_request: | |
| paths: | |
| - ".github/workflows/**" | |
| schedule: | |
| # Every Saturday at 00:00 UTC | |
| - cron: "0 0 * * 6" | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| zizmor: | |
| name: zizmor | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - name: Checkout | |
| # see https://github.com/actions/checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| persist-credentials: false | |
| - name: Run zizmor | |
| # see https://github.com/zizmorcore/zizmor-action | |
| uses: zizmorcore/zizmor-action@b1d7e1fb5de872772f31590499237e7cce841e8e # v0.5.3 | |
| with: | |
| # advanced-security: false => emit findings as workflow-command annotations (::error file=…) rather than | |
| # uploading a SARIF report to GitHub's Security tab. | |
| # Uploading SARIF requires `security-events: write` and GitHub Advanced Security (GHAS), | |
| # both of which are unnecessary here and would violate the least-privilege policy. | |
| # The two modes are mutually exclusive: advanced-security must be false for | |
| # annotations to take effect. | |
| advanced-security: false | |
| annotations: true |