GH Actions: set permissions for each workflow/job - #218
Conversation
> 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
**Notes**:
* Includes a few minor tweaks for consistency in the instructions order.
* The permissions added are based on an best effort to discover the ones needed. Some tweaking may still be needed.
|
@jrfnl: I believe that As for the artifact attestations, thank you for bringing them to my attention; I will take a look. |
I see. Want me to have a look at this when I find some time ? |
Refs:
Notes:
@antecedent And while looking at the workflows to create this PR, I noticed the following:
regenerate-pagesjob in therelease.ymlworkflow seems kind of useless as it doesn't do anything other than checkout the branch and create an empty commit. What is that job supposed to do ?Looking at the website, the changelog page feels painfully out of date.
bundlejob to enable that.