scala3 icon indicating copy to clipboard operation
scala3 copied to clipboard

GitHub Workflows security hardening

Open sashashura opened this issue 3 years ago • 3 comments

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.

sashashura avatar Sep 19 '22 21:09 sashashura

previously in this area: #15538

SethTisue avatar Sep 19 '22 23:09 SethTisue

/signed cla

sashashura avatar Sep 20 '22 06:09 sashashura

previously in this area: #15538

Looking at https://github.com/lampepfl/dotty/pull/15538/files#diff-944291df2c9c06359d37cc8833d182d705c9e8c3108e7cfe132d61a06e9133ddR612 this added contents: write to the job that already had the permission when triggered on push, schedule or workflow_dispatch. This is not enough without defining top level read-only permission.

sashashura avatar Sep 20 '22 06:09 sashashura

An example of current permissions (without the changes in the pull request):

image

sashashura avatar Oct 12 '22 10:10 sashashura

Signed cla again...

sashashura avatar Nov 30 '22 22:11 sashashura