← All roles
Organization role·Every repository in the organization
All-repository admin
Tier 0 · CriticalControl
Why Tier 0
Admin on every repository at once: it can make every repository public, read and replace every repository secret, remove every branch protection and add collaborators anywhere. Each permission is Tier 1 on one repository; across the whole organization it is organization scale.
Admin on every repository.
Available on: Every setup. Source
Permissions it includes (27)
| Tier | Permission | From |
|---|---|---|
| T1 | Actions: Writerepository |
|
| T1 | Administration: Writerepository |
|
| T1 | Packages: Writerepository |
|
| T1 | Custom properties: Writerepository |
|
| T1 | Webhooks: Writerepository |
|
| T1 | Secret scanning alerts: Readrepository |
|
| T1 | Secrets: Writerepository |
|
| T1 | Workflows: Writerepository |
|
| T2 | Variables: Writerepository |
|
| T2 | Checks: Writerepository |
|
| T2 | Codespaces: Writerepository |
|
| T2 | Contents: Writerepository |
|
| T2 | Discussions: Writerepository |
|
| T2 | Issues: Writerepository |
|
| T2 | Pages: Writerepository |
|
| T2 | Pull requests: Writerepository |
|
| T2 | Repository security advisories: Writerepository |
|
| T2 | Secret scanning alerts: Writerepository |
|
| T2 | Code scanning alerts: Writerepository |
|
| T2 | Commit statuses: Writerepository |
|
| T2 | Dependabot alerts: Writerepository |
|
| T3 | Actions: Readrepository |
|
| T3 | Administration: Readrepository |
|
| T3 | Contents: Readrepository |
|
| T3 | Packages: Readrepository |
|
| T3 | Code scanning alerts: Readrepository |
|
| T3 | Dependabot alerts: Readrepository |
|
Attack paths
Techniques it enables
- Delete branches and workflow runs Delete code or cover tracks · through Actions: Write, Contents: Write
- Trigger the publish workflow from a tampered branch Poison the build or published package · through Actions: Write, Contents: Write
- Approve your own PR from a second account Submit malicious code · through Administration: Write, Pull requests: Write
- Bypass or switch off the rules Submit malicious code · through Administration: Write
- Force push or delete a protected branch Delete code or cover tracks · through Administration: Write, Contents: Write
- Flip private repos to public Read or expose private code · through Administration: Write
- Add a guest collaborator or new app Keep access · through Administration: Write
- Register the attacker's machine as a runner Keep access · through Administration: Write
- Publish a malicious version with a stolen token Poison the build or published package · through Packages: Write
- Have a workflow approve the PR Submit malicious code · through Workflows: Write, Pull requests: Write
- Add a workflow that dumps secrets Steal CI secrets and tokens · through Workflows: Write
- Leave a dormant workflow behind Keep access · through Workflows: Write
- Push directly, without review Submit malicious code · through Contents: Write
- Push more commits after approval Submit malicious code · through Contents: Write, Pull requests: Write
- Approve someone else's PR, then push to it Submit malicious code · through Contents: Write, Pull requests: Write
- Hide it in a change nobody can review Submit malicious code · through Contents: Write
- Use a trusted colleague's account Submit malicious code · through Contents: Write, Pull requests: Write
- Push a release tag to an unreviewed commit Point a release tag at a bad commit · through Contents: Write
- Repoint existing tags on a published Action Point a release tag at a bad commit · through Contents: Write
- Run PR code in a privileged workflow Steal CI secrets and tokens · through Contents: Write
- Read secrets from the runner Steal CI secrets and tokens · through Contents: Write
- Get an agent to copy private code into public Read or expose private code · through Issues: Write, Contents: Read
- Trick or outlast the reviewer Submit malicious code · through Pull requests: Write
- Clone private repos with a stolen token Read or expose private code · through Contents: Read
Escalations it starts
- Start a privileged publish job by hand: Whatever the publish job holds: package registry tokens and the right to publish. · through Actions: Write
- Flip private repositories to public: Private source code exposed to everyone. · through Administration: Write
- Register a self-hosted runner: Every job routed to that runner, with the secrets those jobs receive, and a foothold that outlives the stolen token. · through Administration: Write
- Add a collaborator or guest that outlives the attack: Access that survives password resets and token revocation. · through Administration: Write
- Harvest leaked secrets from scanning alerts: Live credentials found in code and history: cloud keys, tokens and passwords, often for systems outside GitHub. · through Secret scanning alerts: Read
- Change a workflow, get its secrets: Every secret the repository's workflows can read, and cloud access through OIDC. · through Workflows: Write
- Move release tags on a widely used Action: Code execution, with their secrets, in every repository that pins the Action by tag. · through Contents: Write
- Change a shared reusable workflow: Code running in every calling repository's workflow, with the secrets and GITHUB_TOKEN those runs get: an internal version of a compromised Action. · through Contents: Write
Abused in
Nx "s1ngularity"Shai-Hulud self-propagating worm (1.0 & 2.0)Toptal repo-visibility flip and wiperSalesloft Drift GitHub → AWS pivotChainDrop: a hijacked maintainer account publishes through trusted publishingMegalodon: mass backdooring of CI workflowsGhostActionDependabot impersonationTeamPCP tag force-overwrite campaignprt-scan: automated pull_request_target attacksCVE-2026-3854: push-option metadata RCEhackerbot-claw autonomous agent RCEGlassWorm: editor extensions that steal GitHub tokens and force-pushtj-actions/changed-files supply-chain compromiseOAuth consent phishing at scaleUltralytics build cache poisoningArtiPACKED artifact token leakageSelf-hosted runner takeovers (PyTorch and others)GitHub App installation token abuse"Pwn requests": pull_request_target & workflow_runGitHub MCP / agentic token breadthGitHub's internal repositories taken through a VS Code extensionMercedes-Benz source code exposureHeroku / Travis CI OAuth token theft
Abilities with no matching permission
These do not affect the tier.
- Edit and delete their own comments (Only the person's own comments.)
- Have an issue assigned to them (Being assigned grants nothing.)
- Edit wikis in public repositories (Wikis have no API permission. Wiki edits do not change code or settings.)
- Edit wikis in private repositories (Wikis have no API permission. Wiki edits do not change code or settings.)
- Report abusive or spammy content (Moderation report only.)
- Act as a designated code owner for a repository (A code owner's approval can satisfy a review rule. It is a special grant made in the CODEOWNERS file, not a permission.)
- View content exclusion settings for GitHub Copilot (Viewing a setting.)