Implement enterprise application identity and OAuth security rules
Open
@safidnadaf is already working on this.
Since Aug 14, 2026.
- Dominant language
- Python
- Stars
- 57
- Forks
- 68
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 17
Description
Objective
Implement the Azure Entra application identity and OAuth security rule pack with evidence-backed findings and conservative handling of incomplete Microsoft Graph data.
Scope
Implement these controls:
- An application has high-risk Microsoft Graph permissions.
- An application has tenant-wide admin consent without approved justification.
- An unverified publisher application has privileged permissions.
- Application credentials have an excessive validity period.
- An application contains multiple active secrets without documented need.
- A stale application retains credentials or privileged permissions.
- A service principal allows access without required user assignment.
- A federated identity credential uses an overly broad subject or trust condition.
- An application permits public-client authentication unnecessarily.
- Application ownership contains inactive, guest, or unsuitable accounts.
Collection architecture
- Microsoft Graph applications and service principals.
- Microsoft Graph owners, directory roles, app-role assignments, delegated permissions, and admin consent.
- Application passwords, certificates, federated identity credentials, publisher verification, and account status.
- Tenant policy and documented exception metadata where required.
Required implementation behavior
- Use paginated collectors and preserve resource identifiers and tenant context.
- Return NOT_APPLICABLE when an application, credential type, or feature is absent.
- Return UNKNOWN for permission failures, API errors, partial inventory, or ambiguous ownership.
- Return FAIL only when unsafe configuration is positively evidenced.
- Never expose secret values.
- Include observed/expected state, evidence source and collection time, remediation, required permissions, severity, confidence, and UNKNOWN reason.
Delivery order
- Permissions, admin consent, publisher, and user-assignment rules.
- Credential age, duplicate-secret, stale-application, and ownership rules.
- Federated credential trust and public-client authentication rules.
Acceptance criteria
- Every rule has collector, evaluator, remediation, documentation, and verified mappings.
- Tests cover compliant, non-compliant, empty, paginated, malformed, stale, missing-owner, duplicate-credential, permission-failure, and API-failure cases.
- No API or authorization error creates a false PASS or FAIL.
- No TBD framework mappings remain.
- Scanner, serialization, compliance scoring, and CI-equivalent tests pass.
- An origin-branch PR references this issue.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.