Build: Limit permissions for GitHub workflows

Add explicit permissions section[^1] to workflows. This is a security
best practice because by default workflows run with extended set
of permissions[^2] (except from `on: pull_request` from external forks[^3].
By specifying any permission explicitly all others are set to none. By using
the principle of least privilege the damage a compromised workflow can do
(because of an injection[^4] or compromised third party tool or action) is
restricted. It is recommended to have most strict permissions on the top
level[^5] and grant write permissions on job level[^6] on a case by case
basis.

[^1]: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
[^2]: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token
[^3]: https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
[^4]: https://securitylab.github.com/research/github-actions-untrusted-input/
[^5]: https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions
[^6]: https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

Closes gh-5119
This commit is contained in:
Alex 2022-12-01 15:23:17 +02:00 committed by GitHub
parent 5266f23cf4
commit c909d6b1ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 0 deletions

View File

@ -6,9 +6,16 @@ on:
schedule: schedule:
- cron: '0 4 * * 6' - cron: '0 4 * * 6'
permissions:
contents: read # to fetch code (actions/checkout)
jobs: jobs:
CodeQL-Build: CodeQL-Build:
permissions:
contents: read # to fetch code (actions/checkout)
security-events: write # (github/codeql-action/autobuild)
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:

View File

@ -2,6 +2,9 @@ name: CI
on: [push, pull_request] on: [push, pull_request]
permissions:
contents: read # to fetch code (actions/checkout)
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest