Description

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

Overview

IdentityNamespaceAutomountSecretsPermissionsWorkloadsRisk
kube-prometheus-stack-grafanadefault23Critical
kube-prometheus-stack-operatordefault301Critical
kube-prometheus-stack-kube-state-metricsdefault281Medium
kube-prometheus-stack-admissiondefault32Low
kube-prometheus-stack-prometheusdefault70Low
kube-prometheus-stack-alertmanagerdefault00
kube-prometheus-stack-grafana-testdefault01
kube-prometheus-stack-prometheus-node-exporterdefault01
kube-prometheus-stack-prometheus-windows-exporterdefault01

Numbers in the last two columns indicate how many bindings or workloads involve each ServiceAccount.


Identities

🤖 kube-prometheus-stack-operator

Namespace: default  |  Automount:

🔑 Permissions (30)

RoleResourceVerbsRiskTags
ClusterRole kube-prometheus-stack-operatorcore/configmaps*CriticalClusterWideAccess ConfigMapAccess DataExposure InformationDisclosure PotentialPrivilegeEscalation (+2 more)
ClusterRole kube-prometheus-stack-operatorcore/secrets*CriticalClusterWideAccess ClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure (+6 more)
ClusterRole kube-prometheus-stack-operatorapps/statefulsets*CriticalClusterWideAccess Persistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering (+2 more)
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/alertmanagerconfigs*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/alertmanagers*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/alertmanagers/finalizers*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/alertmanagers/status*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/podmonitors*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/probes*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheusagents*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheusagents/finalizers*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheusagents/status*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheuses*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheuses/finalizers*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheuses/status*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheusrules*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/scrapeconfigs*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/servicemonitors*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/thanosrulers*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/thanosrulers/finalizers*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/thanosrulers/status*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatorcore/endpointscreate · delete · get · updateLow
ClusterRole kube-prometheus-stack-operatorcore/eventscreate · patchLow
ClusterRole kube-prometheus-stack-operatornetworking.k8s.io/ingressesget · list · watchLow
ClusterRole kube-prometheus-stack-operatorcore/namespacesget · list · watchLowClusterStructure InformationDisclosure Reconnaissance
ClusterRole kube-prometheus-stack-operatorcore/nodeslist · watchLow
ClusterRole kube-prometheus-stack-operatorcore/podsdelete · listLow
ClusterRole kube-prometheus-stack-operatorcore/servicescreate · delete · get · updateLow
ClusterRole kube-prometheus-stack-operatorcore/services/finalizerscreate · delete · get · updateLow
ClusterRole kube-prometheus-stack-operatorstorage.k8s.io/storageclassesgetLow

⚠️ Potential Abuse (13)

The following security risks were found based on the above permissions:

📦 Workloads (1)

KindNameContainerImage
Deploymentkube-prometheus-stack-operatorkube-prometheus-stackquay.io/prometheus-operator/prometheus-operator:v0.83.0

🤖 kube-prometheus-stack-grafana

Namespace: default  |  Automount:

🔑 Permissions (2)

RoleResourceVerbsRiskTags
ClusterRole kube-prometheus-stack-grafana-clusterrolecore/secretsget · list · watchCriticalClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure SecretAccess
ClusterRole kube-prometheus-stack-grafana-clusterrolecore/configmapsget · list · watchHighConfigMapAccess DataExposure InformationDisclosure

⚠️ Potential Abuse (5)

The following security risks were found based on the above permissions:

📦 Workloads (3)

KindNameContainerImage
Deploymentkube-prometheus-stack-grafanagrafanadocker.io/grafana/grafana:12.0.1
Deploymentkube-prometheus-stack-grafanagrafana-sc-dashboardquay.io/kiwigrid/k8s-sidecar:1.30.0
Deploymentkube-prometheus-stack-grafanagrafana-sc-datasourcesquay.io/kiwigrid/k8s-sidecar:1.30.0

🤖 kube-prometheus-stack-kube-state-metrics

Namespace: default  |  Automount:

🔑 Permissions (28)

RoleResourceVerbsRiskTags
ClusterRole kube-prometheus-stack-kube-state-metricsadmissionregistration.k8s.io/mutatingwebhookconfigurationslist · watchMediumInformationDisclosure Reconnaissance WebhookReconnaissance
ClusterRole kube-prometheus-stack-kube-state-metricsadmissionregistration.k8s.io/validatingwebhookconfigurationslist · watchMediumInformationDisclosure Reconnaissance WebhookReconnaissance
ClusterRole kube-prometheus-stack-kube-state-metricscertificates.k8s.io/certificatesigningrequestslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/configmapslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsbatch/cronjobslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsapps/daemonsetslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsapps/deploymentslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/endpointslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsautoscaling/horizontalpodautoscalerslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsnetworking.k8s.io/ingresseslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsbatch/jobslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscoordination.k8s.io/leaseslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/limitrangeslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/namespaceslist · watchLowClusterStructure InformationDisclosure Reconnaissance
ClusterRole kube-prometheus-stack-kube-state-metricsnetworking.k8s.io/networkpolicieslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/nodeslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/persistentvolumeclaimslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/persistentvolumeslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricspolicy/poddisruptionbudgetslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/podslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsapps/replicasetslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/replicationcontrollerslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/resourcequotaslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/secretslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/serviceslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsapps/statefulsetslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsstorage.k8s.io/storageclasseslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsstorage.k8s.io/volumeattachmentslist · watchLow

⚠️ Potential Abuse (4)

The following security risks were found based on the above permissions:

📦 Workloads (1)

KindNameContainerImage
Deploymentkube-prometheus-stack-kube-state-metricskube-state-metricsregistry.k8s.io/kube-state-metrics/kube-state-metrics:v2.15.0

🤖 kube-prometheus-stack-prometheus

Namespace: default  |  Automount:

🔑 Permissions (7)

RoleResourceVerbsRiskTags
ClusterRole kube-prometheus-stack-prometheuscore/endpointsget · list · watchLow
ClusterRole kube-prometheus-stack-prometheusdiscovery.k8s.io/endpointslicesget · list · watchLow
ClusterRole kube-prometheus-stack-prometheusnetworking.k8s.io/ingressesget · list · watchLow
ClusterRole kube-prometheus-stack-prometheuscore/nodesget · list · watchLow
ClusterRole kube-prometheus-stack-prometheuscore/nodes/metricsget · list · watchLow
ClusterRole kube-prometheus-stack-prometheuscore/podsget · list · watchLow
ClusterRole kube-prometheus-stack-prometheuscore/servicesget · list · watchLow

⚠️ Potential Abuse (1)

The following security risks were found based on the above permissions:

📦 Workloads (0)

No workloads use this ServiceAccount.


🤖 kube-prometheus-stack-admission

Namespace: default  |  Automount:

🔑 Permissions (3)

RoleResourceVerbsRiskTags
ClusterRole kube-prometheus-stack-admissionadmissionregistration.k8s.io/mutatingwebhookconfigurationsget · updateLow
Role kube-prometheus-stack-admissioncore/secretscreate · getLow
ClusterRole kube-prometheus-stack-admissionadmissionregistration.k8s.io/validatingwebhookconfigurationsget · updateLow

⚠️ Potential Abuse (1)

The following security risks were found based on the above permissions:

📦 Workloads (2)

KindNameContainerImage
Jobkube-prometheus-stack-admission-createcreateregistry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.5.4
Jobkube-prometheus-stack-admission-patchpatchregistry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.5.4

🤖 kube-prometheus-stack-alertmanager

Namespace: default  |  Automount:

🔑 Permissions (0)

No explicit RBAC bindings.

📦 Workloads (0)

No workloads use this ServiceAccount.


🤖 kube-prometheus-stack-grafana-test

Namespace: default  |  Automount:

🔑 Permissions (0)

No explicit RBAC bindings.

📦 Workloads (1)

KindNameContainerImage
Podkube-prometheus-stack-grafana-testkube-prometheus-stack-testdocker.io/bats/bats:v1.4.1

🤖 kube-prometheus-stack-prometheus-node-exporter

Namespace: default  |  Automount:

🔑 Permissions (0)

No explicit RBAC bindings.

📦 Workloads (1)

KindNameContainerImage
DaemonSetkube-prometheus-stack-prometheus-node-exporternode-exporterquay.io/prometheus/node-exporter:v1.9.1

🤖 kube-prometheus-stack-prometheus-windows-exporter

Namespace: default  |  Automount:

🔑 Permissions (0)

No explicit RBAC bindings.

📦 Workloads (1)

KindNameContainerImage
DaemonSetkube-prometheus-stack-prometheus-windows-exporterwindows-exporterghcr.io/prometheus-community/windows-exporter:0.30.7