requests icon indicating copy to clipboard operation
requests copied to clipboard

ci: add minimum GitHub token permissions for workflows

Open ashishkurmi opened this issue 3 years ago • 0 comments
trafficstars

Description

This PR adds minimum token permissions for the GITHUB_TOKEN in GitHub Actions workflows using https://github.com/step-security/secure-workflows.

The GitHub Actions workflow has a GITHUB_TOKEN with write access to multiple scopes. Here is an example of the permissions in one of the workflow runs: https://github.com/psf/requests/runs/8179910695?check_suite_focus=true#step:1:19

After this change, the scopes will be reduced to the minimum needed for the following workflows:

  • codeql-analysis.yml
  • lint.yml
  • run-tests.yml

The following workflow already has the least privileged token permission set:

  • lock-issues.yml

Motivation and Context

  • This is a security best practice, so if the GITHUB_TOKEN is compromised due to a vulnerability or compromised Action, the damage will be reduced.
  • GitHub recommends defining minimum GITHUB_TOKEN permissions. https://docs.github.com/en/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token
  • The Open Source Security Foundation (OpenSSF) Scorecards also treats not setting token permissions as a high-risk issue. This change will help increase the Scorecard score for this repository.

Signed-off-by: Ashish Kurmi [email protected]

ashishkurmi avatar Sep 09 '22 08:09 ashishkurmi