Derivation rules

2,433 declarative match → where → emit rules (1,787 derived, 646 explicit). Filter by cloud, emitted edge, node type, or text.

76 rule(s) · page 2 of 2

Any code running on a host that has a managed identity bound can obtain a bearer token for that MI from the IMDS (or App Service identity) endpoint with no Entra credential.
azure CanRetrieveToken derived
Synthesize an IMDS bearer token node for each host+MI pair where the host executes as the MI.
azure LocatedIn derived
Principal with read permission on the MI ARM resource can enumerate its metadata (clientId, principalId, tenantId) - recon aiding IMDS multi-MI token requests.
azure CanRead explicit
An attacker who can start a stopped host can then retrieve IMDS tokens for its bound MI.
azure CanRetrieveToken derived
An IMDS bearer token minted from a host+MI pair is valid authentication as that MI.
azure CredentialsFor derived
A policy assignment with a system-assigned managed identity produces an ExecutesAs edge: remediation tasks run as that system MI. Extracted from the assignment's identity.principalId field.
azure ExecutesAs explicit
A policy assignment with one or more user-assigned managed identities produces ExecutesAs edges for each. Extracted from the assignment's identity.userAssignedIdentities map (keys are MI resource IDs).
azure ExecutesAs explicit
An Azure Policy remediation task (modeled as BuildWorker - the ARM deployment runner) executes as the managed identity bound in the policy assignment's identity block. Zero-cost structural fact; can-execute-as execute-as-via-code-modify and cicd-chains cicd-modify-buildspec-executes-as consume this to produce CanExecuteAs.
azure ExecutesAs derived
Attach a user-assigned MI to the workspace (workspaces/write + assign/action); all Spark jobs and pipelines then run as both the system-assigned MI and the newly attached user-assigned MI.
azure CanAttachIdentity derived
Attach a privileged user-assigned MI to the workspace (CanAttachIdentity) + workspace gains a new ExecutesAs target -> all Spark/pipeline runs can mint tokens for the attached MI.
azure CanCreateWorkloadAs derived
Publish a pipeline with attacker code (CanModifyCode on workspace) + trigger it (CanTrigger) + workspace ExecutesAs MI => execute as workspace MI. Cites cicd-chains.yaml cicd-modify-buildspec-executes-as and can-execute-as.yaml.
azure CanExecuteAs derived
Synapse Compute Operator submits a Spark batch job via Livy API (CanExecuteCommand) + Spark pool runs as workspace MI (ExecutesAs) => execute attacker code as the workspace MI.
azure CanExecuteAs derived
Any code running on Synapse Spark/pipeline compute can mint a bearer token for the workspace MI via IMDS.
azure CanRetrieveToken derived
A Synapse linked service that stores credentials as plaintext (SQL auth password, storage key, SAS token) exposes those credentials to any principal with Synapse Linked Data Manager or Synapse Administrator role.
azure ExposesCredential derived
The Synapse workspace exposes the workspace managed identity credential to all Spark jobs and pipeline activities via IMDS (169.254.169.254).
azure ExposesCredential derived
Exec into a pod (cluster RBAC / credential / run-command) inherits the pod's mounted ServiceAccount/IRSA/Workload-Identity token, executing as that identity.
CanExecuteAs derived
Reading a credential that is credentials for an identity yields the ability to authenticate as that identity.
CanImpersonate derived
Reading a secret that is credentials for an identity yields the ability to authenticate as that identity.
CanImpersonate derived
Signing tokens as an identity yields impersonation when a downstream trust validates those signatures.
CanImpersonate derived
move · open · esc close