Skip to content

Product1 publisher3 min readPublished

GitHub lets enterprise owners export every token that can reach their code

Enterprise Cloud owners can now pull owner, scope, expiry and last-use data for SSH keys, PATs and app tokens as a CSV. The export stops at credentials GitHub issued, so secrets pasted into repositories stay out of scope.

The Product Desk · Product desk

Illustration accompanying GitHub lets enterprise owners export every token that can reach their code

What happened

  • GitHub said on September 21 that Enterprise Cloud owners can export a full inventory of every credential able to access their enterprise, covering SSH keys, OAuth tokens and GitHub App tokens.
  • Each row carries the owner, the scopes, the creation and expiration dates and the last time the credential was used, pulled as a CSV from Enterprise Settings or through a paginated REST API.
  • A new fine-grained permission called "View enterprise credentials" lets security or compliance staff run the review without holding full enterprise admin rights.

Compiled by The Product DeskSomething wrong?How this is made

Why it matters

  • capability One dataset replaces the round of emails to org admins, and the analyst running the review can now be someone who has no power to change enterprise settings.
  • constraint Because the inventory only lists credentials GitHub issued, the 28.65 million hardcoded secrets counted in public repositories last year remain invisible to it.
  • decision Someone has to write the revocation rule and own the fallout when a token with no expiry that runs a nightly job gets switched off.

Last use and expiration are the two columns that make a credential review finishable. GitHub's export puts them in the same row as the owner, the scopes and the creation date, one row per credential [4]. A platform team can sort for credentials with no expiration date, for those unused in the last 90 days, and for classic PATs that still carry broad scopes, instead of asking each org admin for a list [18]. GitHub says the data can be correlated with audit logs to show how a credential is actually being used [5].

What teams tell themselves is that a token gets made for a task and cleaned up when the task ends. What happens is that the credential outlives the task and the project, and a PAT written for a one-off migration script three years ago still carries write access [17]. GitGuardian reported that 64% of the valid secrets it detected in 2022 were still active and exploitable in January 2026 [11].

The inventory does not reach secrets pasted into code [13], and the counted volume sits there. GitGuardian's State of Secrets Sprawl 2026 found 28.65 million hardcoded secrets added to public GitHub during 2025, up 34% on the previous year [10]. A 34% rise implies roughly 21.4 million in 2024 and about 7.3 million more last year, close to 78,000 new hardcoded secrets a day [20][21]. Internal repositories were around six times more likely than public ones to contain one [12].

In May, GitHub disclosed that attackers exfiltrated about 3,800 of its internal repositories after an employee installed a poisoned version of the Nx Console VS Code extension [8]. Its response included rotating critical secrets, "with the highest-impact credentials prioritized first" [9].

"Anyone building with AI can now create credentials, and accountability for them lands back on IT and security," said Mitch Ashley, vice president and practice lead for CIO and technology buyers and software lifecycle engineering at The Futurum Group [14][16]. "Enterprises that ignore that gap discover it during incident response, rotating keys they didn't know existed," he said [15]. Every agent a team adds is another non-human identity with its own tokens, often scoped broadly in a hurry to get a pilot working [19].

Two columns sort the export. Expiry set or not, used in the last 90 days or not [18]. No expiry and unused is the revoke-now box, and nothing should break. Expiry set and unused, let it lapse. Expiry set and in use, put the renewal on a calendar. No expiry and in use is the box that costs a week, because someone has to identify the job behind the token before switching it off.

That box is also the reason to give the review to a named person. The export tells you who owns a credential [4]. Finding out which nightly build stops when it disappears is still a conversation with that owner. Self-hosted teams cannot start at all yet: GitHub says support for Enterprise Server is planned for upcoming releases [7].

What to watch

  • Which GitHub Enterprise Server release ships the inventory, and what self-hosted admins get in the interim.
  • Whether GitHub adds bulk revocation to the same screen; as announced, the feature covers export and review.
  • Whether GitGuardian's next report shows the share of 2022 secrets still active falling below 64%.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories