-
Notifications
You must be signed in to change notification settings - Fork 26
Description
Background
There is an org-wide campaign to ensure that workflow permissions are explicitly defined in all GitHub Actions workflow files for two reasons
- We don't want to break your workflows when we change an org setting that makes the default permissions
read - So we can make the above setting change and operate more on the principle of least privilege.
This issue is prepared such that it is readily be assignable to Copilot🙂🤖 (Prompts below for Copilot to use).
For more detailed information about this effort, please see: https://github.com/github/security-services/discussions/465. If you have questions or need help, please drop in at #prodsec-engineering as we may or may not see updates from this issue due to permissions and/or volume.
Issue Description
We have identified 2 workflow files in your repository that are currently lacking explicit permissions definitions.
Affected Workflow Files
The following workflow files need permissions to be explicitly defined:
Requested Action
Please add explicit permissions to these workflow files and ensure they work as expected by Nov 24th (setting change is planned for Dec 1st). As noted, we are including prompts should you like to assign Copilot.
GitHub Copilot Assignment Prompts
We are also adding prompts to make this issue more easily assignable to Copilot:
For GitHub Copilot:
Task: Add explicit permissions to GitHub Actions workflow files that are currently missing them.
Scope: Update the workflow files listed above to include appropriate permissions: blocks.
Analysis Methodology:
- Gather Current State: Check if the workflow has any existing permissions defined
- Inventory Workflow Actions:
- Actions performed directly by the workflow
- API calls made by the workflow
- External actions included via
uses:statements
- Determine Required Permissions: Map each action to its minimum required permissions
- Synthesize Minimal Permissions: Create permissions block with only necessary permissions
Requirements:
- Add a
permissions:block to each workflow file that doesn't have one - Start with
contents: readas the minimum permission - Add additional permissions only if the workflow actually needs them based on the actions it performs
- Place the
permissions:block at the job level or workflow level as appropriate - Ensure the syntax is correct and follows YAML formatting
- Maintain existing content formatting, including indentation and comments
Files to modify: See the list of affected workflow files above.
Acceptance criteria:
- All listed workflow files have explicit permissions defined
- Permissions follow the principle of least privilege
- YAML syntax is valid
- Workflows still function correctly after changes
Copilot Instructions:
Please create a pull request that adds appropriate permissions: blocks to each of the workflow files listed above. Analyze each workflow to determine the minimum permissions required based on the actions it performs, and add only those necessary permissions.