Derivation rules

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

90 rule(s) · page 2 of 2

A principal with deploymentmanager.typeProviders.create registers a custom type provider backed by an attacker-controlled endpoint; a DM deployment using that type causes DM to call the endpoint as the cloudservices SA, yielding execution as that SA. Uses CanModifyConfiguration path (typeProviders.create emits CanModifyConfiguration on the Deployment).
gcp CanExecuteAs derived
A principal with deploymentmanager.deployments.update replaces an existing deployment's config; DM re-executes as the cloudservices SA.
gcp CanExecuteAs derived
Every Deployment Manager deployment runs as the Google APIs service agent (PROJECT_NUMBER@cloudservices.gserviceaccount.com), which by default holds roles/editor at the project.
gcp ExecutesAs derived
The Google APIs service agent's effective permissions include resourcemanager.projects.setIamPolicy ONLY when it holds roles/owner. A DM config can instruct the SA to call setIamPolicy at project scope, granting the deployer project-level roles.
gcp CanGrantPermission derived
The Google APIs service agent's effective permissions include *.setIamPolicy on resources it manages when it holds roles/editor (GCS, SA, Pub/Sub, etc.). A DM config can instruct the SA to call setIamPolicy, granting the deployer any role on those resources.
gcp CanGrantPermission derived
An Eventarc trigger uses its serviceAccount field as the delivery identity when calling the destination endpoint.
gcp ExecutesAs explicit
actAs on a SA that the principal can configure as the trigger's serviceAccount is the GCP PassRole analog for Eventarc trigger SA assignment.
gcp CanPassIdentity derived
storage.hmacKeys.create generates a long-lived HMAC key (ID + secret) for a Service Account; the secret grants S3-compatible access to all GCS buckets the SA can reach but is scoped to the GCS API only, not full SA impersonation.
container.nodePools.create + iam.serviceAccounts.actAs on a chosen SA => create a new node pool running as that SA; pods on those nodes read the node SA token via the metadata server (legacy metadata mode).
gcp CanCreateWorkloadAs derived
Executing inside a pod on a legacy-metadata node pool (no GKE_METADATA) allows the code to call the GCE metadata server and retrieve the node pool SA's access token.
gcp CanRetrieveToken derived
A GKE node pool with workloadMetadataConfig.mode != GKE_METADATA allows pods to reach the GCE metadata server and read the node pool SA's OAuth token - the node SA credential is exposed to every pod on those nodes.
gcp ExposesCredential derived
A CMEK-encrypted Secret Manager payload authenticates as another identity, completing CanExecuteAs -> CanReadSecret -> CredentialsFor.
gcp CredentialsFor derived
Signing as a key that anchors an identity (JWKS/JWT/code-signing) forges that identity.
gcp CanImpersonate derived
pubsub.subscriptions.create (or pubsub.subscriptions.update) + iam.serviceAccounts.actAs on a push SA allows creating a push subscription that delivers the SA's OIDC token to a push endpoint, attaching the SA's identity to the event source.
gcp CanPassIdentity derived
A Pub/Sub push subscription delivers a Google-signed OIDC token for its pushConfig.oidcToken.serviceAccountEmail to the push endpoint on every delivery; code at the endpoint can extract and replay the token, exposing the push SA's identity.
gcp ExposesCredential derived
The secret's payload authenticates as another identity / service account / data store.
gcp CredentialsFor derived
Reading a secret whose payload is an SA JSON key yields long-lived credentials for that SA.
gcp CanImpersonate derived
A CSR repo IAM binding that grants source.repos.update to a service account from a different GCP project establishes cross-project trust - that SA can push to this project's repository and arm Cloud Build triggers.
gcp CrossProjectTrust derived
cloudtasks.tasks.create with a per-task httpRequest.oidcToken.serviceAccountEmail (or oauthToken) requires iam.serviceAccounts.actAs on the chosen SA - the per-task identity override path.
gcp CanPassIdentity derived
cloudtasks.queues.update + iam.serviceAccounts.actAs on a SA allows an attacker to configure that SA as the queue-level OIDC/OAuth token identity - the GCP actAs guard rail for Cloud Tasks queue-SA attachment.
gcp CanPassIdentity derived
Create a Workbench notebook instance whose underlying GCE VM runs as a passable SA. The instance persists; accessing JupyterLab (notebooks.instances.use) executes code as the SA.
gcp CanCreateWorkloadAs derived
Create a Vertex AI custom training job / pipeline job / notebook execution job whose workers run as a passable SA (create + actAs). Job runs immediately on creation - no invoke step.
gcp CanCreateWorkloadAs derived
A training job, pipeline job, or notebook execution job binds a cross-project service account.
gcp CrossProjectTrust explicit
Workbench notebook instance explicitly declares its service account.
gcp ExecutesAs explicit
Training job, pipeline job, or notebook execution job explicitly declares its service account.
gcp ExecutesAs explicit
A Workbench notebook instance binds a cross-project service account.
gcp CrossProjectTrust explicit
Principal holds iam.serviceAccounts.actAs on a service account (explicit permission normalization).
gcp CanPassIdentity explicit
A training job or Workbench notebook exposes its runtime SA credentials to any code it runs via the GCE metadata server.
gcp ExposesCredential derived
A service-project service account holding compute.networkUser on a host-project subnet can create workloads whose NICs land in that subnet, giving those workloads internal-IP reachability to all other resources in the subnet (including those from other service projects).
gcp CanNetworkReach derived
setIamPolicy on a ServiceAccount lets a principal add/loosen the workloadIdentityUser binding that maps an external WIF subject to the SA.
gcp CanModifyTrust derived
Federating into a WIF-impersonated ServiceAccount gives the external principal a foothold in the SA's home project.
gcp CanEnterProject derived
An external identity the WIF provider accepts and a workloadIdentityUser binding resolves can federate into the impersonated ServiceAccount.
gcp CanFederateAs derived
actAs on a SA that the principal can attach to a workflow (create/update) is the GCP PassRole analog for Workflows.
gcp CanPassIdentity 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
A Kubernetes workload-identity binding (KSA<->GSA / IRSA / AKS Workload Identity) lets the pod's projected SA token federate into a cloud Role/ServiceAccount; escalation roll-ups are federation-chains'.
CanFederateAs derived
move · open · esc close