Skip to content

Scope down create-github-app-token permissions in bump workflows#14874

Merged
reaperhulk merged 1 commit into
mainfrom
claude/secure-github-app-token-GdPrO
May 17, 2026
Merged

Scope down create-github-app-token permissions in bump workflows#14874
reaperhulk merged 1 commit into
mainfrom
claude/secure-github-app-token-GdPrO

Conversation

@alex
Copy link
Copy Markdown
Member

@alex alex commented May 17, 2026

Summary

actions/create-github-app-token mints a token carrying every permission the BoringBot app's installation has, by default. In the three daily dependency-bump workflows that token is only used by peter-evans/create-pull-request to push a branch and open a PR.

This scopes each generated token down to the minimum required:

  • permission-contents: write
  • permission-pull-requests: write

Affected workflows:

  • .github/workflows/downstream-version-bump.yml
  • .github/workflows/x509-limbo-version-bump.yml
  • .github/workflows/boring-open-awslc-bump.yml

This limits blast radius: a compromise of any of these workflow runs can no longer leverage the broader app installation permissions.

Test plan

  • Confirm peter-evans/create-pull-request still succeeds on the next scheduled (or workflow_dispatch) run — it requires only contents: write and pull-requests: write, both of which are granted.

https://claude.ai/code/session_015kWwkXkn8vzX14psMPDtb2


Generated by Claude Code

The generated GitHub App token was minted with all installation
permissions but is only used to push a branch and open a PR via
peter-evans/create-pull-request. Restrict it to contents:write and
pull-requests:write.

https://claude.ai/code/session_015kWwkXkn8vzX14psMPDtb2
@reaperhulk reaperhulk merged commit 5ef3c10 into main May 17, 2026
121 of 123 checks passed
@reaperhulk reaperhulk deleted the claude/secure-github-app-token-GdPrO branch May 17, 2026 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants