TL;DR: Attackers can automate consent-grant abuse in Entra ID by injecting high-privilege OAuth permissions, tampering app manifests, and planting long-lived secrets that survive normal revocation, according to SlashID. The core issue is not just compromise, but the breakdown of consent governance, privilege lifecycle control, and auditability across non-human identities.
NHIMG editorial — based on content published by SlashID: LLMjacking: How Attackers Hijack AI Using Compromised NHIs
By the numbers:
- When AWS credentials are exposed publicly, attackers attempt access within an average of 17 minutes, and as quickly as 9 minutes in some cases.
- Lack of credential rotation is cited as the top cause of NHI-related attacks by 45% of organisations, followed by inadequate monitoring and logging and over-privileged accounts at 37% each.
Questions worth separating out
Q: What breaks when OAuth consent is writable by too many identities?
A: Consent becomes a privilege-escalation path instead of an administrative exception.
Q: Why do service principals with app-only permissions increase tenant risk?
A: Because app-only permissions let the application act as itself, not as a user.
Q: How do security teams know if app secret governance is failing?
A: Look for secrets with unusually long expiry dates, repeated re-creation of credentials, and application records that still authenticate after the original human owner has changed.
Practitioner guidance
- Lock down OAuth consent pathways Restrict consent approval to a small trusted admin group, and separate ordinary app onboarding from any permission that can write grants or modify tenant-wide access.
- Treat app registrations as privileged identities Require PIM for roles that can create, update, or approve enterprise applications, service principals, and application permissions.
- Alert on consent and manifest changes Monitor Add servicePrincipalOAuth2PermissionGrant, Update application, and Add passwordCredential events, and correlate them with identities that do not normally perform admin tasks.
What's in the full article
SlashID's full blog post covers the operational detail this post intentionally leaves for the source:
- HTTP request examples for /oauth2PermissionGrants and /applications/{id} changes that show exactly how the backdoor is planted.
- Python and Azure CLI snippets for tampering with manifests, permissions, and long-lived client secrets.
- MITRE ATT&CK mapping for each phase of the attack chain, useful for detection engineering and threat modelling.
- Detection and hardening guidance tied to specific Graph audit events and consent controls.
👉 Read SlashID's analysis of Entra ID consent injection and app backdooring →
Azure consent injection: what it means for IAM teams?
Explore further
Consent governance is now NHI governance. Once an application can receive or modify tenant-wide OAuth grants, it is no longer a simple integration. It becomes a governed identity with delegated authority, persistence potential, and audit requirements that look far closer to PAM than to ordinary app registration. IAM teams need to stop treating consent as a user-experience setting and start treating it as a privileged access decision.
A few things that frame the scale:
- 85% of organisations lack full visibility into third-party vendors connected via OAuth apps, with 38% having no or low visibility and 47% having only partial visibility, according to The State of Non-Human Identity Security.
- Only 1 in 4 organisations are already investing in dedicated NHI security capabilities, with an additional 60% planning to do so within the next twelve months, according to The State of Non-Human Identity Security.
A question worth separating out:
Q: Who is accountable when a malicious enterprise application persists after revocation?
A: Accountability sits with the team that owns application governance, directory privileges, and privileged role approvals, not just the incident response team. If consent writes, manifest edits, and secret creation were not separately controlled, the breach reflects a lifecycle governance failure across IAM and PAM. The relevant benchmark is whether privileged changes were traceable before the compromise matured.
👉 Read our full editorial: Azure consent injection and app backdooring expose tenant control