From 8c634f8a9d58b186e35afec4c5a690804920530c Mon Sep 17 00:00:00 2001 From: naveen <172697+naveensrinivasan@users.noreply.github.com> Date: Sun, 12 Jun 2022 00:31:28 +0000 Subject: [PATCH] Set permissions for GitHub actions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much. - Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests https://securitylab.github.com/research/github-actions-preventing-pwn-requests/ Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com> Closes gh-11367 --- .github/workflows/algolia-index.yml | 3 +++ .github/workflows/antora-generate.yml | 3 +++ .github/workflows/clean_build_artifacts.yml | 5 +++++ .github/workflows/continuous-integration-workflow.yml | 2 ++ .github/workflows/deploy-reference.yml | 3 +++ .github/workflows/milestone-spring-releasetrain.yml | 2 ++ .github/workflows/pr-build-workflow.yml | 3 +++ 7 files changed, 21 insertions(+) diff --git a/.github/workflows/algolia-index.yml b/.github/workflows/algolia-index.yml index dfc2295af3..ab892f3e88 100644 --- a/.github/workflows/algolia-index.yml +++ b/.github/workflows/algolia-index.yml @@ -5,6 +5,9 @@ on: - cron: '0 10 * * *' # Once per day at 10am UTC workflow_dispatch: # Manual trigger +permissions: + contents: read + jobs: update: name: Update Algolia Index diff --git a/.github/workflows/antora-generate.yml b/.github/workflows/antora-generate.yml index 80f1a79a6a..d17d32068b 100644 --- a/.github/workflows/antora-generate.yml +++ b/.github/workflows/antora-generate.yml @@ -10,6 +10,9 @@ on: env: GH_ACTIONS_REPO_TOKEN: ${{ secrets.GH_ACTIONS_REPO_TOKEN }} +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/clean_build_artifacts.yml b/.github/workflows/clean_build_artifacts.yml index 377fb1e44e..84ffd72b99 100644 --- a/.github/workflows/clean_build_artifacts.yml +++ b/.github/workflows/clean_build_artifacts.yml @@ -3,8 +3,13 @@ on: schedule: - cron: '0 10 * * *' # Once per day at 10am UTC +permissions: + contents: read + jobs: main: + permissions: + contents: none runs-on: ubuntu-latest steps: - name: Delete artifacts in cron job diff --git a/.github/workflows/continuous-integration-workflow.yml b/.github/workflows/continuous-integration-workflow.yml index 8d429185d6..5edde35b65 100644 --- a/.github/workflows/continuous-integration-workflow.yml +++ b/.github/workflows/continuous-integration-workflow.yml @@ -232,6 +232,8 @@ jobs: DOCS_SSH_KEY: ${{ secrets.DOCS_SSH_KEY }} DOCS_HOST: ${{ secrets.DOCS_HOST }} perform_release: + permissions: + contents: write # for Git to git push name: Perform release needs: [prerequisites, deploy_artifacts, deploy_docs, deploy_schema] runs-on: ubuntu-latest diff --git a/.github/workflows/deploy-reference.yml b/.github/workflows/deploy-reference.yml index 2b493ebd36..e7c9b0d6bf 100644 --- a/.github/workflows/deploy-reference.yml +++ b/.github/workflows/deploy-reference.yml @@ -7,6 +7,9 @@ on: - cron: '0 10 * * *' # Once per day at 10am UTC workflow_dispatch: # Manual trigger +permissions: + contents: read + jobs: deploy: name: deploy diff --git a/.github/workflows/milestone-spring-releasetrain.yml b/.github/workflows/milestone-spring-releasetrain.yml index 1ad29c0555..5d758ebcb4 100644 --- a/.github/workflows/milestone-spring-releasetrain.yml +++ b/.github/workflows/milestone-spring-releasetrain.yml @@ -7,6 +7,8 @@ env: TITLE: ${{ github.event.milestone.title }} jobs: spring-releasetrain-checks: + permissions: + contents: none name: Check DueOn is on a Release Date runs-on: ubuntu-latest steps: diff --git a/.github/workflows/pr-build-workflow.yml b/.github/workflows/pr-build-workflow.yml index ac62acb676..f7ebdecf92 100644 --- a/.github/workflows/pr-build-workflow.yml +++ b/.github/workflows/pr-build-workflow.yml @@ -5,6 +5,9 @@ on: pull_request env: RUN_JOBS: ${{ github.repository == 'spring-projects/spring-security' }} +permissions: + contents: read + jobs: build: name: Build