ContainerService
Managed container runtime (ECS/ACI/Cloud Run service).
class: Compute
Realizing resources
gcp gcp
| resource | scope | enumerate | required permissions |
|---|---|---|---|
gcp:run:service |
regional | run.projects.locations.services.list |
run.services.list |
azure azure
| resource | scope | enumerate | required permissions |
|---|---|---|---|
azure:aci:containergroup |
global | arg:microsoft.containerinstance/containergroups |
Microsoft.ContainerInstance/containergroups/read |
azure:app:containerapp |
global | arg:microsoft.app/containerapps |
Microsoft.App/containerapps/read |
As edge source
CanDecryptCanDeleteDataCanExfiltrateCanNetworkReachCanReachPortCanReadCredentialCanReadDataCanReadSecretCanRetrieveTokenCanWriteDataContainsCredentialContainsResourceReferenceContainsSecretExecutesAsExposedToAccountExposedToInternetExposedToTenantExposesCredentialHasPolicyLocatedInPrivateReachabilityAs edge target
AttachedToAuthenticatesToCanAdministerCanAttachIdentityCanControlCanCreateCanDeleteCanDeployCanExecuteCommandCanExecuteOnCanInvokeCanModifyCanModifyCodeCanModifyConfigurationCanModifyPolicyCanNetworkReachCanReachPortCanReadCanReplaceCanStartCanTakeOwnershipCanTriggerCanWriteContainsContainsResourceReferenceControlsHasPermissionPrivateReachabilityExposure sites
None.
Rules that touch ContainerService 19
Arbitrary container deployment runs as the Lightsail-managed service execution context.
aws
CanExecuteAsAn available Interface VPC Endpoint (PrivateLink) makes the backing AWS or third-party service reachable from compute within the VPC via private networking, without traversing the public internet. Source is any Compute node in the VPC that has network access to the endpoint ENI.
An available Interface VPC Endpoint (PrivateLink) makes the backing AWS or third-party service reachable from compute within the VPC via private networking, without traversing the public internet. Derived from the endpoint state and VPC co-location facts.
A compute resource is internet-exposed when its security group has an inbound rule allowing 0.0.0.0/0 (or ::/0) on a port, the resource has a public IP, and the subnet has a route to an Internet Gateway. All three conditions must be observed facts.
exec in a container + its group runs as an MI => execute as that MI (via IMDS/env token).
azure
CanExecuteAswrite (recreate) a container group that already runs as an MI => execute as that MI.
azure
CanExecuteAsmanagedClusters/agentPools/write + assign on a target MI allows swapping the kubelet MI, binding all nodes to a more-privileged identity.
azure
CanAttachIdentityExec into a running replica + the app runs as an MI => execute as that MI (read the identity endpoint from the shell).
azure
CanExecuteAsExecuting code in a custom-container session that binds a reachable MI => execute as that MI (read the identity endpoint from the session).
azure
CanExecuteAsControl-plane image/command replacement + the app runs as an MI => execute as that MI (via the identity endpoint).
azure
CanExecuteAsExecuting code in a custom-container session pool runs attacker-supplied code in the sandbox; if the pool binds a reachable MI this is a CanExecuteAs primitive identical to the app exec path.
azure
CanExecuteCommandModify the buildspec/pipeline/runbook/template a runner executes, then run it, to execute as the runner's service identity.
Triggering a pipeline reaches each downstream stage runner it orchestrates; propagate CanTrigger to those runners.
Trigger/start a runner whose current definition already runs attacker-influenced code, executing as the runner's identity.
Exec into a pod (cluster RBAC / credential / run-command) inherits the pod's mounted ServiceAccount/IRSA/Workload-Identity token, executing as that identity.
The Cloud Deploy execution SA's Cloud Run deployment permissions (run.developer) give it CanDeploy to a Cloud Run service.
gcp
CanDeployModify code/config of an existing Cloud Run resource; it runs as its existing runtime SA.
gcp
CanExecuteAsPushing/overwriting an image in a registry poisons every workload that pulls it - code control propagates from the registry to each consuming Compute/KubernetesWorkload.
A workload poisoned via a registry image push runs as its identity, so the pusher executes as that identity.