remy / nodemon

Monitor for any changes in your node.js application and automatically restart the server - perfect for development
http://nodemon.io/
MIT License
26.23k stars 1.72k forks source link

GitHub Workflows security hardening #2066

Open sashashura opened 1 year ago

sashashura commented 1 year ago

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.

netlify[bot] commented 1 year ago

Deploy Preview for nodemon ready!

Name Link
Latest commit 296410a8ab1b2632486005a4ca7fd6d6c4f038a7
Latest deploy log https://app.netlify.com/sites/nodemon/deploys/6330699cd75517000979903e
Deploy Preview https://deploy-preview-2066--nodemon.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

sashashura commented 1 year ago

@remy could you please review?

sashashura commented 1 year ago

An example of a workflow run with unrestricted permissions: image

remy commented 1 year ago

I don't really understand the impact of this change. Specifically, I use actions to complete semantic release based releases and I don't know if this has an impact.

A more practical "this is what the change actually does for you" would be ideal (and appreciated). Assume I have the least knowledge...