Skip to content

GitHub Workflows security hardening#532

Open
sashashura wants to merge 1 commit into
servo:mainfrom
sashashura:patch-1
Open

GitHub Workflows security hardening#532
sashashura wants to merge 1 commit into
servo:mainfrom
sashashura:patch-1

Conversation

@sashashura

Copy link
Copy Markdown

This PR adds explicit permissions section to workflows. This is a security best practice because by default workflows run with extended set of permissions (except from on: pull_request from external forks). 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 or compromised third party tool or action) is restricted.
It is recommended to have most strict permissions on the top level and grant write permissions on job level case by case.

Signed-off-by: Alex <aleksandrosansan@gmail.com>
@jrmuizel

jrmuizel commented Dec 8, 2022

Copy link
Copy Markdown
Collaborator

What is the damage a compromised workflow can do?

@sashashura

Copy link
Copy Markdown
Author

You can see current permissions here for example.

GITHUB_TOKEN Permissions
  Actions: write
  Checks: write
  Contents: write
  Deployments: write
  Discussions: write
  Issues: write
  Metadata: read
  Packages: write
  Pages: write
  PullRequests: write
  RepositoryProjects: write
  SecurityEvents: write
  Statuses: write

You don't have releases, but it could push a commit (directly, without a pull request) and modify tags.

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.

2 participants