2 Service Accounts
2 Workloads
11 Bindings
3 Critical
1 High
2 Medium
5 Low
Description
Automatic SRE Superpowers within your Kubernetes cluster
Overview
Identity | Namespace | Automount | Secrets | Permissions | Workloads | Risk |
---|---|---|---|---|---|---|
k8sgpt-operator-controller-manager | default | ❌ | — | 11 | 2 | Critical |
k8sgpt-operator-interplex | default | ✅ | — | 0 | 1 | — |
Numbers in the last two columns indicate how many bindings or workloads involve each ServiceAccount.
Identities
🤖 k8sgpt-operator-controller-manager
Namespace: default
| Automount: ❌
🔑 Permissions (11)
Role | Resource | Verbs | Risk | Tags |
---|---|---|---|---|
ClusterRole k8sgpt-operator-manager-role | * | create · delete · get · list · patch · update · watch | Critical | APIServerDoS APIServiceManipulation AvailabilityImpact BackupAccess BindingToPrivilegedRole (+63 more) |
ClusterRole k8sgpt-operator-manager-role | apiextensions.k8s.io/* | * | Critical | CRDManipulation ClusterWideAccess PotentialPrivilegeEscalation Tampering |
Role k8sgpt-operator-leader-election-role | coordination.k8s.io/leases | create · delete · get · list · patch · update · watch | Critical | ControlPlaneDisruption CriticalNamespace DenialOfService Tampering |
Role k8sgpt-operator-leader-election-role | core/configmaps | create · delete · get · list · patch · update · watch | High | ConfigMapAccess DataExposure InformationDisclosure PotentialPrivilegeEscalation Tampering |
ClusterRole k8sgpt-operator-proxy-role | authorization.k8s.io/subjectaccessreviews | create | Medium | InformationDisclosure RBACQuery |
ClusterRole k8sgpt-operator-proxy-role | authentication.k8s.io/tokenreviews | create | Medium | CredentialAccess InformationDisclosure RBACQuery |
Role k8sgpt-operator-leader-election-role | core/events | create · patch | Low | |
ClusterRole k8sgpt-operator-manager-role | core.k8sgpt.ai/k8sgpts | create · delete · get · list · patch · update · watch | Low | |
ClusterRole k8sgpt-operator-manager-role | core.k8sgpt.ai/k8sgpts/finalizers | update | Low | |
ClusterRole k8sgpt-operator-manager-role | core.k8sgpt.ai/k8sgpts/status | get · patch · update | Low | |
ClusterRole k8sgpt-operator-manager-role | core.k8sgpt.ai/results | create · delete · get · list · patch · update · watch | Low |
⚠️ Potential Abuse (97)
The following security risks were found based on the above permissions:
- Cluster-wide pod exec
- Namespaced pod exec
- Cluster-wide pod attach
- Namespaced pod attach
- 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
- Node proxy access (Kubelet API)
- Modify node configuration (labels, taints)
- Read pod logs cluster-wide
- Read pod logs in a namespace
- Manage ephemeral containers cluster-wide
- Manage ephemeral containers 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)
- 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 MutatingWebhookConfigurations
- Manage ValidatingWebhookConfigurations
- Manage CustomResourceDefinitions
- Manage APIServices
- Create ServiceAccount Tokens
- Create ServiceAccount Tokens (ClusterRole for any SA in any namespace)
- Create TokenReviews (validate arbitrary tokens)
- Create SubjectAccessReviews (check arbitrary permissions)
- Create LocalSubjectAccessReviews (check permissions in a namespace)
- Approve CertificateSigningRequests
- Create CertificateSigningRequests
- Manage (get, list, watch, delete) CertificateSigningRequests
- Manage CSIDrivers (potential node compromise)
- Manage StorageClasses
- Evict Pods cluster-wide
- Evict Pods in a namespace
- Manage RuntimeClasses
- Manage ClusterIssuers (cert-manager.io)
- Manage Cilium ClusterwideNetworkPolicies (cilium.io)
- Manage ETCDSnapshotFiles (k3s.cattle.io)
- Manage ServiceAccounts cluster-wide
- Manage ServiceAccounts in a namespace
- Patch node status cluster-wide
- Read events cluster-wide
- Manage NetworkPolicies cluster-wide
- Manage NetworkPolicies in a namespace
- Manage Endpoints or EndpointSlices cluster-wide
- Manage Endpoints or EndpointSlices in a namespace
- Manage Services cluster-wide
- Manage Services in a namespace
- Read RBAC configuration cluster-wide
- Manage PodDisruptionBudgets cluster-wide
- Manage Leases cluster-wide
- Manage Leases in kube-system or kube-node-lease namespace
- List Namespaces (Cluster Reconnaissance)
- List ValidatingWebhookConfigurations (Reconnaissance)
- List MutatingWebhookConfigurations (Reconnaissance)
- Create/Update ControllerRevisions (Potential Tampering)
- Create SelfSubjectRulesReviews (Discover Own Permissions)
- Read LimitRanges (Namespace Information Disclosure)
- Read ResourceQuotas (Namespace Information Disclosure)
- Read All ResourceQuotas (Cluster-wide Information Disclosure)
- Update CertificateSigningRequest Status (Tampering/DoS)
- Manage Ingresses (Namespace Service Exposure/Traffic Redirection)
- Manage IngressClasses (Cluster-wide Traffic Control Tampering)
- Update NetworkPolicy Status (Cluster-wide Tampering)
- Update PodDisruptionBudget Status (Namespace Tampering/DoS)
- Read ComponentStatuses (Control Plane Reconnaissance)
- Update Deployment Scale (Resource Abuse/DoS)
- Update StatefulSet Scale (Resource Abuse/DoS)
- Manage FlowSchemas (API Server DoS/Manipulation)
- Manage PriorityLevelConfigurations (API Server DoS/Manipulation)
- Read CSINode Objects (Node & Storage Reconnaissance)
- Read CSIStorageCapacities (Namespace Storage Reconnaissance)
- Manage VolumeAttachments (Cluster-wide Storage/Node Manipulation)
- Watch All Resources in a Namespace (Broad Information Disclosure)
📦 Workloads (2)
Kind | Name | Container | Image |
---|---|---|---|
Deployment | k8sgpt-operator-controller-manager | kube-rbac-proxy | quay.io/brancz/kube-rbac-proxy:v0.19.1 |
Deployment | k8sgpt-operator-controller-manager | manager | ghcr.io/k8sgpt-ai/k8sgpt-operator:v0.2.22 |
🤖 k8sgpt-operator-interplex
Namespace: default
| Automount: ✅
🔑 Permissions (0)
No explicit RBAC bindings.
📦 Workloads (1)
Kind | Name | Container | Image |
---|---|---|---|
StatefulSet | k8sgpt-operator-interplex | interplex | ghcr.io/interplex-ai/interplex:v1.0.0 |