Skip to content

GH Actions: set permissions for each workflow/job - #125

Merged
jrfnl merged 1 commit into
mainfrom
feature/ghactions-set-minimal-permissions
Oct 18, 2026
Merged

jrfnl merged 1 commit into
mainfrom
feature/ghactions-set-minimal-permissions

Conversation

@jrfnl

@jrfnl jrfnl commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

Description

Users frequently over-scope their workflow and job permissions, or set broad workflow-level permissions without realizing that all jobs inherit those permissions.

Furthermore, users often don't realize that the default GITHUB_TOKEN permissions can be very broad, meaning that workflows that don't configure any permissions at all can still provide excessive credentials to their individual jobs.

Remediation
In general, permissions should be declared as minimally as possible, and as close to their usage site as possible.

In practice, this means that workflows should almost always set permissions: {} at the workflow level to disable all permissions by default, and then set specific job-level permissions as needed.

Refs:

Closes #114

> Users frequently over-scope their workflow and job permissions, or set broad workflow-level permissions without realizing that all jobs inherit those permissions.
>
> Furthermore, users often don't realize that the _default_ `GITHUB_TOKEN` permissions can be very broad, meaning that workflows that don't configure any permissions at all can _still_ provide excessive credentials to their individual jobs.
>
> **Remediation**
> In general, permissions should be declared as minimally as possible, and as close to their usage site as possible.
>
> In practice, this means that workflows should almost always set `permissions: {}` at the workflow level to disable all permissions by default, and then set specific job-level permissions as needed.

Refs:
* https://docs.zizmor.sh/audits/#excessive-permissions
@github-actions

Copy link
Copy Markdown

=== This is an auto-generated comment ===

Thank you for your PR.
A dry-run has been executed on your PR, executing all markdown pre-processing for the wiki files.

Please review the resulting final markdown files via the created artifact.
This is especially important when adding new pages or updating auto-generated output blocks.

N.B.: the above link will automatically be updated when this PR is updated.

@jrfnl
jrfnl merged commit 0d6faf6 into main Oct 18, 2026
19 checks passed
@jrfnl
jrfnl deleted the feature/ghactions-set-minimal-permissions branch October 18, 2026 02:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

Review the GitHub Actions workflows for least-privilege token permissions

1 participant