Home / Blog / A Quarter of Azure Identities Trusting GitHub…
Cloud Security
A Quarter of Azure Identities Trusting GitHub Actions Are Takeable. Right Now.
When a repo is deleted or a namespace freed, the OIDC trust policy stays. Anyone can re-register that namespace, get a valid token, and walk into your cloud account.
Almost a quarter of the identities in Azure that trust GitHub Actions are vulnerable to takeover. Now. At this moment.
Let me explain. When you connect your CI/CD to the cloud with OIDC, what you are really telling the cloud is: “trust anyone who arrives from this repo”. Fine, that makes sense.
But what happens when the repo is deleted? When the namespace changes? When somebody leaves the organisation and the project dies?
Nothing. The trust policy stays. The door stays open.
Phantom cloud identities
Researchers found that of all the namespaces connected through OIDC to AWS accounts, in 14% of cases the namespace is no longer registered. Meaning anyone can re-register it, obtain a valid token, and walk straight into your cloud account.
In Azure the situation is worse. 24%. Almost a quarter.
They are called phantom cloud identities - ghost identities that stay alive after their origin has died.
And this is not a technical bug. It is an operational failure. Nobody offboards the identities belonging to pipelines. Nobody checks whether the trust policies still point at something that exists.
We see this constantly
I see it all the time in the penetration tests we run. Companies with brilliant DevOps processes, tidy Terraform, GitHub Actions running like a Swiss watch. And nobody - nobody - knows who has access through the OIDC trust.
The problem runs deeper than it appears. As an industry we built a culture of “trust the pipeline”. Trust GitHub. Trust GitLab. Trust Terraform Cloud. Without asking who else can impersonate that same pipeline.
The real boundary no longer runs through the token. It runs through control of the namespace.
What to do now
Go and check. Every trust policy pointing at token.actions.githubusercontent.com, or gitlab.com, or app.terraform.io. Confirm the namespace still exists, is still yours, and is still relevant. Every role attached to a CI/CD that has died - delete it. Today.
I first shared a version of this as a LinkedIn post on 2026-06-25. It is republished here, lightly edited, so it is easier to find and reference. — Erez Metula
Keep reading
More from the blog
Cloud Security
Cloud Ransomware: Soft-Delete and Versioning Are the Whole Story
One over-permissioned Service Principal leaked through an old configuration, and we could read, delete, replace and encrypt every blob. The difference between…
Read itCloud Security
Attackers Are Running Their C2 on Your Cloud, and You Are Paying for It
No fixed IP to block. No suspicious infrastructure for the SIEM to catch. The traffic belongs to Amazon and the invoice arrives…
Read itCloud Security
An Hour Into the Assessment We’re Cloud Admin – and It’s Never a Zero-Day
Most companies believe their cloud is secure because someone configured IAM policies and the CSPM shows green. We get admin inside an…
Read itTell us what the system does and what worries you.
If a penetration test is not what you need yet, we will say so.