Skip to content

Org setting change coming Dec 1, please define actions workflow permissions #61

@misfir3

Description

@misfir3

Background

There is an org-wide campaign to ensure that workflow permissions are explicitly defined in all GitHub Actions workflow files for two reasons

  1. We don't want to break your workflows when we change an org setting that makes the default permissions read
  2. 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:

  1. Gather Current State: Check if the workflow has any existing permissions defined
  2. Inventory Workflow Actions:
    • Actions performed directly by the workflow
    • API calls made by the workflow
    • External actions included via uses: statements
  3. Determine Required Permissions: Map each action to its minimum required permissions
  4. Synthesize Minimal Permissions: Create permissions block with only necessary permissions

Requirements:

  1. Add a permissions: block to each workflow file that doesn't have one
  2. Start with contents: read as the minimum permission
  3. Add additional permissions only if the workflow actually needs them based on the actions it performs
  4. Place the permissions: block at the job level or workflow level as appropriate
  5. Ensure the syntax is correct and follows YAML formatting
  6. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions