Skip to content

Conversation

@zhangshaoyong
Copy link

In GitHub Actions, GITHUB_TOKEN is an automatically generated token used to interact with the GitHub repository in workflows (e.g., pulling code, triggering other workflows). By default, it may have broad permissions, such as read and write access to repository content and the ability to manipulate pull requests.
Meanwhile, "restricting to the minimum necessary permissions" is a security best practice: only assign the permissions that are essential for the normal operation of the workflow to GITHUB_TOKEN (e.g., only allowing read access to repository content), and remove all unnecessary permissions (such as write or delete access). This approach helps reduce security risks in case the token is misused, and aligns with the Principle of Least Privilege.

Restrict minimum necessary permissions for GITHUB_TOKEN.
By adding permissions: { contents: read } at the top level, the permission scope of GITHUB_TOKEN is restricted. It only retains the necessary permission to read repository content (used for the actions/checkout step to pull code). Authentication for deployment to PyPI is handled via secrets.PYPI, and no additional permissions from the GitHub token are required, which complies with the principle of least privilege.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant