diff options
author | Alex <aleksandrosansan@gmail.com> | 2022-12-01 15:23:17 +0200 |
---|---|---|
committer | Michał Gołębiowski-Owczarek <m.goleb@gmail.com> | 2022-12-01 14:27:11 +0100 |
commit | 0d9fae4c3acca66f9948aa00d7c00aa757dee597 (patch) | |
tree | a3bf3b05ed72cd25aeaa4ddcf6cbb409765ec760 | |
parent | f4809f9b4a2d48ac2f9d1ce1185dd1ecf48a7323 (diff) | |
download | jquery-0d9fae4c3acca66f9948aa00d7c00aa757dee597.tar.gz jquery-0d9fae4c3acca66f9948aa00d7c00aa757dee597.zip |
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
(cherry picked from commit c909d6b1ff444e68618b6da13d9c21714f681925)
-rw-r--r-- | .github/workflows/node.js.yml | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 3619db3e6..b464caf52 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -2,6 +2,9 @@ name: CI on: [push, pull_request] +permissions: + contents: read # to fetch code (actions/checkout) + jobs: build: runs-on: ubuntu-latest |