[PR #14513] GitHub Workflows security hardening #30133

Closed
opened 2026-01-31 09:38:49 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/14513

State: closed
Merged: Yes


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.

**Original Pull Request:** https://github.com/microsoft/terminal/pull/14513 **State:** closed **Merged:** Yes --- 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. [permissions section]: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions [extended set of permissions]: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token [from external forks]: https://securitylab.github.com/research/github-actions-preventing-pwn-requests/ [injection]: https://securitylab.github.com/research/github-actions-untrusted-input/ [most strict permissions on the top level]: https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions [job level]: https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs
claunia added the pull-request label 2026-01-31 09:38:49 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#30133