2 Service Accounts
2 Workloads
100 Bindings
17 Critical
6 High
5 Medium
72 Low
Description
Watches and sends kubernetes resource-related events
Overview
| Identity | Namespace | Automount | Secrets | Permissions | Workloads | Risk |
|---|---|---|---|---|---|---|
komodor-agent | default | ❌ | — | 83 | 11 | Critical |
komodor-agent-admission-controller | default | ❌ | — | 17 | 1 | Critical |
Numbers in the last two columns indicate how many bindings or workloads involve each ServiceAccount.
Identities
🤖 komodor-agent
Namespace: default | Automount: ❌
🔑 Permissions (83)
| Role | Resource | Verbs | Risk | Tags |
|---|---|---|---|---|
ClusterRole komodor-agent | * | delete · get · list · patch · watch | Critical | ClusterAdminAccess ClusterStructure ClusterWideAccess ClusterWideLogAccess (+24 more) |
ClusterRole komodor-agent | rbac.authorization.k8s.io/clusterrolebindings | * · get · list · watch | Critical | BindingToPrivilegedRole ClusterAdminAccess ClusterWideAccess InformationDisclosure PrivilegeEscalation (+4 more) |
ClusterRole komodor-agent | rbac.authorization.k8s.io/clusterroles | * · get · list · watch | Critical | BindingToPrivilegedRole ClusterAdminAccess ClusterWideAccess InformationDisclosure PrivilegeEscalation (+4 more) |
ClusterRole komodor-agent | core/configmaps | create · delete · get · list · patch · update · watch | Critical | ConfigMapAccess DataExposure InformationDisclosure PotentialPrivilegeEscalation Tampering |
ClusterRole komodor-agent | batch/cronjobs | create · delete · get · list · patch · update · watch | Critical | Persistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering WorkloadLifecycle |
ClusterRole komodor-agent | apps/daemonsets | create · delete · get · list · patch · update · watch | Critical | NodeAccess Persistence PrivilegeEscalation Tampering WorkloadLifecycle |
ClusterRole komodor-agent | apps/deployments | create · delete · get · list · patch · update · watch | Critical | Persistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering WorkloadLifecycle |
ClusterRole komodor-agent | batch/jobs | create · delete · get · list · patch · update · watch | Critical | PotentialPrivilegeEscalation PrivilegeEscalation Tampering WorkloadLifecycle |
ClusterRole komodor-agent | networking.k8s.io/networkpolicies | create · delete · get · list · patch · update · watch | Critical | DenialOfService LateralMovement NetworkManipulation NetworkPolicyManagement Tampering |
ClusterRole komodor-agent | core/nodes/proxy | get · list | Critical | ClusterAdminAccess CodeExecution ElevationOfPrivilege LateralMovement (+1 more) |
ClusterRole komodor-agent | core/pods | create · delete · get · list · patch · update · watch | Critical | LateralMovement Persistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering (+1 more) |
ClusterRole komodor-agent | core/pods/exec | create | Critical | ClusterWidePodExec CodeExecution ElevationOfPrivilege LateralMovement PodExec (+1 more) |
ClusterRole komodor-agent | core/secrets | * · create · delete · get · list · update · watch | Critical | ClusterWideAccess ClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure (+6 more) |
ClusterRole komodor-agent | core/serviceaccounts | * · get · list · watch | Critical | ClusterAdminAccess ClusterWideAccess IdentityManagement Impersonation PotentialPrivilegeEscalation (+4 more) |
ClusterRole komodor-agent | core/services | create · delete · get · list · patch · update · watch | Critical | DenialOfService NetworkManipulation ServiceExposure Tampering |
ClusterRole komodor-agent | apps/statefulsets | create · delete · get · list · patch · update · watch | Critical | Persistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering WorkloadLifecycle |
ClusterRole komodor-agent | app.komodor.com/* | create · delete · get · list · patch · update · watch | High | ClusterWideAccess |
ClusterRole komodor-agent | networking.k8s.io/ingresses | create · delete · get · list · patch · update · watch | High | DenialOfService NetworkManipulation ServiceExposure Tampering |
ClusterRole komodor-agent | core/pods/log | get · list | High | ClusterWideLogAccess DataExposure InformationDisclosure LogAccess |
ClusterRole komodor-agent | core/pods/portforward | create | High | ClusterWidePodPortForward LateralMovement NetworkManipulation PodPortForward |
ClusterRole komodor-agent | rbac.authorization.k8s.io/rolebindings | * · get · list · watch | High | BindingToPrivilegedRole ClusterWideAccess InformationDisclosure PrivilegeEscalation RBACManipulation (+3 more) |
ClusterRole komodor-agent | rbac.authorization.k8s.io/roles | * · get · list · watch | High | ClusterWideAccess InformationDisclosure PrivilegeEscalation RBACManipulation RBACQuery (+2 more) |
ClusterRole komodor-agent | storage.k8s.io/csinodes | get · list · watch | Medium | InformationDisclosure NodeAccess Reconnaissance StorageDetailsDisclosure |
ClusterRole komodor-agent | core/events | create · get · list · patch · update · watch | Medium | InformationDisclosure OperationalData Reconnaissance |
ClusterRole komodor-agent | admissionregistration.k8s.io/mutatingwebhookconfigurations | get · list · watch | Medium | InformationDisclosure Reconnaissance WebhookReconnaissance |
ClusterRole komodor-agent | core/resourcequotas | get · list · watch | Medium | InformationDisclosure QuotaTampering Reconnaissance ResourceConfiguration |
ClusterRole komodor-agent | admissionregistration.k8s.io/validatingwebhookconfigurations | get · list · watch | Medium | InformationDisclosure Reconnaissance WebhookReconnaissance |
ClusterRole komodor-agent | argoproj.io/analysistemplates | get · list · patch · watch | Low | |
ClusterRole komodor-agent | certificates.k8s.io/certificatesigningrequests | get · list · watch | Low | |
ClusterRole komodor-agent | argoproj.io/clusteranalysistemplates | get · list · patch · watch | Low | |
ClusterRole komodor-agent | rbac/clusterrolebindings | get · list · watch | Low | |
ClusterRole komodor-agent | rbac/clusterroles | get · list · watch | Low | |
ClusterRole komodor-agent | argoproj.io/clusterworkflowtemplates | get · list · watch | Low | |
ClusterRole komodor-agent | apps/controllerrevisions | get · list · watch | Low | |
ClusterRole komodor-agent | argoproj.io/cronworkflows | get · list · watch | Low | |
ClusterRole komodor-agent | storage.k8s.io/csidrivers | get · list · watch | Low | |
ClusterRole komodor-agent | storage.k8s.io/csistoragecapacities | get · list · watch | Low | InformationDisclosure Reconnaissance StorageDetailsDisclosure |
ClusterRole komodor-agent | apiextensions.k8s.io/customresourcedefinitions | get · list · watch | Low | |
ClusterRole komodor-agent | apps/deployments/scale | patch | Low | |
ClusterRole komodor-agent | core/endpoints | get · list · watch | Low | |
ClusterRole komodor-agent | discovery.k8s.io/endpointslices | get · list · watch | Low | |
ClusterRole komodor-agent | flowcontrol.apiserver.k8s.io/flowschemas | get · list · watch | Low | |
ClusterRole komodor-agent | autoscaling/horizontalpodautoscalers | create · delete · get · list · patch · update · watch | Low | |
ClusterRole komodor-agent | extensions/ingressclasses | get · list · watch | Low | |
ClusterRole komodor-agent | networking.k8s.io/ingressclasses | get · list · watch | Low | |
ClusterRole komodor-agent | extensions/ingresses | get · list · watch | Low | |
ClusterRole komodor-agent | coordination.k8s.io/leases | get · list · watch | Low | |
ClusterRole komodor-agent | core/limitranges | get · list · watch | Low | InformationDisclosure Reconnaissance ResourceConfiguration |
ClusterRole komodor-agent | authorization.k8s.io/localsubjectaccessreviews | get · list · watch | Low | |
ClusterRole komodor-agent | core/namespaces | get · list · watch | Low | ClusterStructure InformationDisclosure Reconnaissance |
ClusterRole komodor-agent | extensions/networkpolicies | get · list · watch | Low | |
ClusterRole komodor-agent | core/nodes | get · list · patch · watch | Low | |
ClusterRole komodor-agent | metrics.k8s.io/nodes | get · list · watch | Low | |
ClusterRole komodor-agent | core/nodes/stats | get · list | Low | |
ClusterRole komodor-agent | core/persistentvolumeclaims | create · delete · get · list · patch · update · watch | Low | |
ClusterRole komodor-agent | core/persistentvolumes | create · delete · get · list · patch · update · watch | Low | |
ClusterRole komodor-agent | policy/poddisruptionbudgets | get · list · watch | Low | |
ClusterRole komodor-agent | metrics.k8s.io/pods | get · list · watch | Low | |
ClusterRole komodor-agent | core/pods/eviction | create | Low | |
ClusterRole komodor-agent | policy/podsecuritypolicies | get · list · watch | Low | |
ClusterRole komodor-agent | core/podtemplates | get · list · watch | Low | |
ClusterRole komodor-agent | scheduling.k8s.io/priorityclasses | get · list · watch | Low | |
ClusterRole komodor-agent | flowcontrol.apiserver.k8s.io/prioritylevelconfigurations | get · list · watch | Low | |
ClusterRole komodor-agent | apps/replicasets | create · delete · get · list · patch · update · watch | Low | |
ClusterRole komodor-agent | core/replicationcontrollers | get · list · watch | Low | |
ClusterRole komodor-agent | rbac/rolebindings | get · list · watch | Low | |
ClusterRole komodor-agent | rbac/roles | get · list · watch | Low | |
ClusterRole komodor-agent | argoproj.io/rollouts | get · list · patch · watch | Low | |
ClusterRole komodor-agent | argoproj.io/rollouts/finalizers | get · list · patch · watch | Low | |
ClusterRole komodor-agent | argoproj.io/rollouts/status | get · list · patch · watch | Low | |
ClusterRole komodor-agent | node.k8s.io/runtimeclasses | get · list · watch | Low | |
ClusterRole komodor-agent | keda.sh/scaledjobs | get · list · patch · update | Low | |
ClusterRole komodor-agent | keda.sh/scaledobjects | get · list · patch · update | Low | |
ClusterRole komodor-agent | authorization.k8s.io/selfsubjectaccessreviews | get · list · watch | Low | |
ClusterRole komodor-agent | authorization.k8s.io/selfsubjectrulesreviews | get · list · watch | Low | |
ClusterRole komodor-agent | core/serviceaccounts/token | create | Low | |
ClusterRole komodor-agent | apps/statefulsets/scale | patch | Low | |
ClusterRole komodor-agent | core/storageclasses | create · delete · patch · update | Low | |
ClusterRole komodor-agent | storage.k8s.io/storageclasses | get · list · watch | Low | |
ClusterRole komodor-agent | authorization.k8s.io/subjectaccessreviews | get · list · watch | Low | |
ClusterRole komodor-agent | storage.k8s.io/volumeattachments | get · list · watch | Low | |
ClusterRole komodor-agent | argoproj.io/workflows | get · list · watch | Low | |
ClusterRole komodor-agent | argoproj.io/workflowtemplates | get · list · watch | Low |
⚠️ Potential Abuse (59)
The following security risks were found based on the above permissions:
- Cluster-wide pod exec
- Namespaced pod exec
- Cluster-wide pod port-forward
- Namespaced pod port-forward
- Create pods cluster-wide
- Create pods in a namespace
- Update/Patch pods cluster-wide
- Update/Patch pods in a namespace
- Read secrets cluster-wide
- Read secrets in a namespace
- Modify secrets cluster-wide
- Modify secrets in a namespace
- Read pod logs cluster-wide
- Read pod logs in a namespace
- Read ConfigMaps cluster-wide
- Read ConfigMaps in a namespace
- Modify ConfigMaps cluster-wide
- Modify ConfigMaps in a namespace
- Delete namespaces
- Manage ClusterRoles (create, update, patch, delete)
- Manage ClusterRoleBindings (create, update, patch, delete)
- Manage Roles in a namespace (create, update, patch, delete)
- Manage RoleBindings in a namespace (create, update, patch, delete)
- Escalate privileges via ClusterRoles (escalate verb)
- Bind ClusterRoles to identities (bind verb)
- Manage Deployments cluster-wide (potential for privileged pod execution)
- Manage Deployments in a namespace (potential for privileged pod execution)
- Manage DaemonSets cluster-wide (runs on all nodes, high impact)
- Manage DaemonSets in a namespace (runs on nodes, high impact)
- Manage StatefulSets cluster-wide
- Manage StatefulSets in a namespace
- Manage CronJobs cluster-wide (scheduled privileged execution, persistence)
- Manage CronJobs in a namespace (scheduled privileged execution, persistence)
- Manage Jobs cluster-wide (one-off privileged execution)
- Manage Jobs in a namespace (one-off privileged execution)
- Manage (get, list, watch, delete) CertificateSigningRequests
- Impersonate users, groups, or service accounts (cluster-wide)
- Manage ServiceAccounts cluster-wide
- Manage ServiceAccounts in a namespace
- Read events cluster-wide
- Manage NetworkPolicies cluster-wide
- Manage NetworkPolicies in a namespace
- Manage Services cluster-wide
- Manage Services in a namespace
- Read RBAC configuration cluster-wide
- List Namespaces (Cluster Reconnaissance)
- List ValidatingWebhookConfigurations (Reconnaissance)
- List MutatingWebhookConfigurations (Reconnaissance)
- Read LimitRanges (Namespace Information Disclosure)
- Read ResourceQuotas (Namespace Information Disclosure)
- Read All ResourceQuotas (Cluster-wide Information Disclosure)
- Manage Ingresses (Namespace Service Exposure/Traffic Redirection)
- Read ComponentStatuses (Control Plane Reconnaissance)
- Read CSINode Objects (Node & Storage Reconnaissance)
- Read CSIStorageCapacities (Namespace Storage Reconnaissance)
- Watch All Resources in a Namespace (Broad Information Disclosure)
- Node proxy GET RCE via WebSocket
📦 Workloads (11)
| Kind | Name | Container | Image |
|---|---|---|---|
| DaemonSet | komodor-agent-daemon | metrics | public.ecr.aws/komodor-public/telegraf:v2.0.32-alpine |
| DaemonSet | komodor-agent-daemon | node-enricher | public.ecr.aws/komodor-public/komodor-agent:0.2.189 |
| DaemonSet | komodor-agent-daemon | otel-collector | public.ecr.aws/komodor-public/komodor-otel-collector:0.1.7 |
| DaemonSet | komodor-agent-daemon | otel-init-sidecar | public.ecr.aws/komodor-public/komodor-agent:0.2.189 |
| DaemonSet | komodor-agent-daemon | telegraf-init-sidecar | public.ecr.aws/komodor-public/komodor-agent:0.2.189 |
| DaemonSet | komodor-agent-daemon-windows | metrics | public.ecr.aws/komodor-public/telegraf-windows:v2.0.32 |
| DaemonSet | komodor-agent-daemon-windows | telegraf-init-sidecar | public.ecr.aws/komodor-public/komodor-agent-windows:0.2.189 |
| Deployment | komodor-agent | k8s-watcher | public.ecr.aws/komodor-public/komodor-agent:0.2.189 |
| Deployment | komodor-agent | supervisor | public.ecr.aws/komodor-public/komodor-agent:0.2.189 |
| Deployment | komodor-agent-metrics | metrics | public.ecr.aws/komodor-public/telegraf:v2.0.32-alpine |
| Deployment | komodor-agent-metrics | telegraf-init-sidecar | public.ecr.aws/komodor-public/komodor-agent:0.2.189 |
🤖 komodor-agent-admission-controller
Namespace: default | Automount: ❌
🔑 Permissions (17)
| Role | Resource | Verbs | Risk | Tags |
|---|---|---|---|---|
ClusterRole komodor-agent-admission-controller | * | get | Critical | ClusterAdminAccess ClusterWideAccess ClusterWideLogAccess CodeExecution (+7 more) |
ClusterRole komodor-agent-admission-controller | batch/cronjobs | get · list · watch | Low | |
ClusterRole komodor-agent-admission-controller | apps/daemonsets | get · list · watch | Low | |
ClusterRole komodor-agent-admission-controller | apps/deployments | get · list · watch | Low | |
ClusterRole komodor-agent-admission-controller | core/events | watch | Low | |
ClusterRole komodor-agent-admission-controller | autoscaling/horizontalpodautoscalers | get · list · patch · watch | Low | |
ClusterRole komodor-agent-admission-controller | batch/jobs | get · list · watch | Low | |
ClusterRole komodor-agent-admission-controller | coordination.k8s.io/leases | create · get · update | Low | |
ClusterRole komodor-agent-admission-controller | core/nodes | get · list · patch · watch | Low | |
ClusterRole komodor-agent-admission-controller | core/persistentvolumeclaims | get · list · watch | Low | |
ClusterRole komodor-agent-admission-controller | core/persistentvolumes | get · list · watch | Low | |
ClusterRole komodor-agent-admission-controller | policy/poddisruptionbudgets | get · list · watch | Low | |
ClusterRole komodor-agent-admission-controller | core/pods | get · list · patch · watch | Low | |
ClusterRole komodor-agent-admission-controller | core/pods/resize | patch | Low | |
ClusterRole komodor-agent-admission-controller | apps/replicasets | get · list · watch | Low | |
ClusterRole komodor-agent-admission-controller | keda.sh/scaledobjects | get · list · patch · watch | Low | |
ClusterRole komodor-agent-admission-controller | apps/statefulsets | get · list · watch | Low |
⚠️ Potential Abuse (5)
The following security risks were found based on the above permissions:
📦 Workloads (1)
| Kind | Name | Container | Image |
|---|---|---|---|
| Deployment | komodor-agent-admission-controller | admission-controller | public.ecr.aws/komodor-public/admission-controller:0.1.48 |