By NHI Mgmt Group Editorial TeamBased on Oasis Security: “Enhancing Github Security with Oasis” (May 1, 2026)

TL;DR: GitHub environments concentrate machine users, PATs, SSH keys, apps, and secrets in a single collaboration surface, making stale identities, unrotated credentials, and over-permissive integrations the main governance risks according to Oasis Security. The control problem is not automation itself but visibility into what exists, who can use it, and when access should expire.


At a glance

What this is: This is a GitHub NHI governance analysis showing that machine users, tokens, keys, apps and secrets create the real security exposure when visibility, rotation and app controls are incomplete.

Why it matters: IAM, IGA and PAM teams need this lens because GitHub often becomes a shared control plane for non-human access, and unmanaged lifecycle gaps there can widen blast radius across development and delivery workflows.


Context

GitHub is not just a code collaboration platform. In practice, it becomes an identity control plane where machine users, personal access tokens, SSH keys, GitHub Apps, OAuth Apps and repository secrets all coexist with different lifecycles and privilege patterns.

The governance gap is visibility, not automation. Without an accurate inventory of what exists, who is using it, and when access should end, teams cannot reliably manage non-human identities in GitHub or limit the blast radius of over-permissive integrations.

That makes GitHub a classic non-human identity problem rather than a tooling problem. The article's starting point is typical for modern engineering estates, where collaboration and automation are tightly coupled but poorly governed.


Key questions

Q: What breaks when GitHub NHIs are not inventoried?

A: Teams lose the ability to tell which machine users, tokens, keys and apps still exist, so stale access persists unnoticed. That makes ownership unclear, revocation slower and attack paths harder to contain because no one can confidently say what is active or who is responsible for it.

Q: Why do unrotated GitHub credentials increase supply chain risk?

A: Unrotated credentials preserve access long after the original workflow changes, which means an old token or key can still reach repositories, secrets or automation paths. In GitHub, that turns lifecycle drift into supply chain exposure because trusted integrations remain usable after their business need has expired.

Q: What do teams get wrong when reviewing permissions for installed GitHub apps?

A: Teams often focus on whether an app is useful instead of whether its permissions are proportionate. Excessive permissions, broad repository access, and weak visibility into who installed the app or where it is used all increase risk. A sound review checks scope, repository boundaries, behavior, and whether the requested permissions match the app's real function.

Q: How should organisations govern third-party access in GitHub?

A: They should treat every external integration as a managed identity with ownership, scope, expiry and revocation criteria. The key is to combine access review with lifecycle offboarding so that OAuth Apps, GitHub Apps and other connectors do not persist beyond their intended use.


How it works in practice

What makes GitHub a non-human identity control plane?

GitHub environments often mix human collaboration with machine execution in the same tenant, which is why the identity model gets messy quickly. Machine users, PATs, SSH keys, apps and repository secrets all authenticate differently, expire differently and inherit different scopes. That creates multiple credential classes that must be inventoried and governed as identities, not just as configuration artefacts. The security issue is less about GitHub itself and more about the accumulation of standing access paths that persist after the original business need has changed.

Practical implication: build one inventory of GitHub NHIs and attach ownership, scope and expiry to every credential and integration.

Why do rotation and offboarding matter for GitHub secrets?

Secrets in GitHub are often long-lived by default, which makes them attractive targets for reuse and abuse. A token, deploy key or app credential that was valid for a build pipeline last quarter may still work today if no one has rotated or revoked it. That creates a lifecycle problem: access survives the task that justified it. In NHI governance terms, stale credentials and unremoved apps are not housekeeping issues, they are persistent access paths that can be exploited without any change to the application code.

Practical implication: tie secret rotation and credential revocation to lifecycle events, not calendar drift alone.

How do GitHub App and OAuth App permissions expand supply chain risk?

Apps connected to GitHub can access repositories, metadata and workflow functions, so an overly broad grant can become a supply chain dependency rather than a point integration. The article's point about shadow OAuth apps is important because users may grant access without fully understanding the scope, and that access can survive far beyond the initial approval. The governance issue is not merely permission breadth. It is whether the organisation can continuously explain why each app exists, what it can reach and whether that access still matches the intended workflow.

Practical implication: review third-party app grants against least privilege and remove integrations that no longer have a clear business purpose.


NHI Mgmt Group analysis

GitHub has become an identity system, not just a developer platform. The article shows that machine users, PATs, SSH keys, apps and secrets all live in one operational surface, which means governance has to treat GitHub as a non-human identity control plane. The practical consequence is that ownership, scope and expiry matter as much as code access itself.

Visibility is the first control gap, and it is the one that makes every other gap harder to close. If teams cannot see every GitHub NHI, they cannot reliably decide which identities are stale, which are over-permissive, or which should never have existed outside a specific workflow. That is why inventory is not a reporting exercise but a prerequisite for lifecycle governance.

Stale GitHub credentials create identity blast radius. A long-lived token or app grant does not merely widen attack surface, it preserves access beyond the business need that justified it. That is a lifecycle failure, and the implication for practitioners is to govern access as a time-bound entitlement rather than a permanent integration.

Shadow OAuth apps are a governance problem as much as a security problem. Users can grant access that looks convenient but outlives the original purpose, which means third-party app oversight belongs in the same conversation as third-party access reviews. Practitioners should treat every unowned integration as an unresolved accountability question.

GitHub NHI governance is where software delivery, third-party access and credential lifecycle meet. The article points to a wider field shift: development platforms now need the same discipline that IAM and PAM teams apply elsewhere, because the control boundary is no longer the repository alone. Practitioners should align GitHub governance with NHI lifecycle management, not ad hoc developer administration.

From our research library:

What this signals

GitHub NHI governance will increasingly be judged by inventory quality, not by the number of integrations a team can support. The operational question is whether every machine user, token and app has an owner, a purpose and an expiry condition. Without those three attributes, GitHub turns into a durable entitlement store rather than a controlled delivery surface.

Third-party app oversight is now part of developer platform risk management. When OAuth Apps and GitHub Apps are approved without lifecycle discipline, the organisation inherits hidden delegated access that outlives the original approval moment. That means third-party access reviews must sit alongside CI/CD and secrets governance, not after them.

Identity blast radius is the right concept for GitHub programmes that mix automation and collaboration. One over-permissive integration can touch repositories, workflows and secrets in the same tenant, so the real control objective is to contain how far a credential can travel before it is rotated, revoked or re-owned.


For practitioners

  • Inventory every GitHub NHI Discover machine users, PATs, SSH keys, GitHub Apps, OAuth Apps and repository secrets in one ownership model, then assign a business owner and expiry expectation to each one.
  • Enforce secret rotation by lifecycle event Rotate or revoke credentials when the underlying workflow, team, vendor or application changes, rather than waiting for informal cleanup cycles to catch them.
  • Review third-party app grants for least privilege Validate that each GitHub App or OAuth App still has a business purpose, a current owner and the narrowest permissions needed for the workflow it supports.

Key takeaways

  • GitHub's security problem is not automation itself but unmanaged non-human identities that persist beyond their intended use.
  • Machine users, tokens, keys, apps and secrets create a lifecycle challenge that traditional developer workflows often do not surface.
  • Practitioners need ownership, visibility and revocation discipline to keep GitHub integrations from becoming standing access paths.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP Non-Human Identity Top 10 addresses the attack and risk surface, while CIS Controls v8 and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
OWASP Non-Human Identity Top 10NHI-02 — Secret LeakageGitHub PATs, SSH keys and repository secrets are explicitly central to the article.
NHI-05 — Overprivileged NHIThe article highlights apps and integrations with excessive access rights in GitHub.
NHI-07 — Long-Lived SecretsRotation period and stale credential risk are direct themes of the article.
Recommendation — Scan GitHub repositories and connected workflows for exposed secrets and revoke any leaked credential immediately. Review GitHub app grants and remove permissions that exceed the minimum needed for each workflow. Shorten the lifetime of GitHub credentials and enforce rotation before standing access becomes stale.
CIS Controls v8CIS-5 — Account ManagementMachine users and app accounts in GitHub require lifecycle ownership and removal discipline.
Recommendation — Apply account management controls to discover, review and remove unused GitHub identities.
NIST CSF 2.0PR.AA-05 — Access Permissions, Entitlements and AuthorizationsThe article centers on managing who and what can access GitHub resources.
Recommendation — Continuously validate GitHub entitlements so access matches current roles, workflows and business purpose.

Key terms

  • GitHub NHI: A non-human identity used inside GitHub to support automation, integration or delegated access. This can include machine users, tokens, keys, apps and secrets. In practice, it must be governed as an identity lifecycle, not as a miscellaneous platform setting.
  • GitHub App: A GitHub App is an integration that can be installed in one or more repositories or organisations and granted specific permissions. It is commonly used for automation and third-party tooling, so governance should focus on installation scope, permission level, and ongoing review of what the app can access.
  • Personal Access Token (PAT): A personal access token is a reusable credential that authenticates a user or service to an API without a password. In practice, it inherits the permissions of the owning identity, which makes it a high-value non-human identity when it is exposed, copied, or left valid after the original task is complete.
  • Shadow OAuth Relationship: A shadow OAuth relationship is an external application granted access by a user without a procurement record, risk review, or clear owner. It is the SaaS equivalent of unmanaged machine identity, because it can persist quietly while still holding meaningful access.

Deepen your knowledge

NHI governance, agentic AI identity, and machine identity lifecycle are core topics in our NHI Foundation Level course, the industry's only accredited NHI security programme. If you are building or maturing an IAM programme, it is worth exploring.
NHIMG Editorial Note
Published by the NHIMG editorial team on June 6, 2026.
Updated on October 6, 2026.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org