Description

A Helm chart that sets up Kubecost, Prometheus, and Grafana to monitor cloud costs.

Overview

IdentityNamespaceAutomountSecretsPermissionsWorkloadsRisk
cost-analyzer-prometheus-serverdefault102Critical
cost-analyzerdefault283High
cost-analyzer-grafanadefault13High
cost-analyzer-kube-state-metricsdefault261High
cost-analyzer-prometheus-node-exporterdefault01

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


Identities

🤖 cost-analyzer-prometheus-server

Namespace: default  |  Automount:

🔑 Permissions (10)

RoleResourceVerbsRiskTags
ClusterRole cost-analyzer-prometheus-servercore/nodes/proxyget · list · watchCriticalAuthorizationBypass ClusterAdminAccess CodeExecution ElevationOfPrivilege LateralMovement (+1 more)
ClusterRole cost-analyzer-prometheus-servercore/configmapsget · list · watchHighConfigMapAccess DataExposure InformationDisclosure
ClusterRole cost-analyzer-prometheus-servercore/endpointsget · list · watchLow
ClusterRole cost-analyzer-prometheus-servercore/ingressesget · list · watchLow
ClusterRole cost-analyzer-prometheus-serverextensions/ingressesget · list · watchLow
ClusterRole cost-analyzer-prometheus-serverextensions/ingresses/statusget · list · watchLow
ClusterRole cost-analyzer-prometheus-servercore/nodesget · list · watchLow
ClusterRole cost-analyzer-prometheus-servercore/nodes/metricsget · list · watchLow
ClusterRole cost-analyzer-prometheus-servercore/podsget · list · watchLow
ClusterRole cost-analyzer-prometheus-servercore/servicesget · list · watchLow

⚠️ Potential Abuse (4)

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

📦 Workloads (2)

KindNameContainerImage
Deploymentcost-analyzer-prometheus-serverprometheus-serverprom/prometheus:v2.22.2
Deploymentcost-analyzer-prometheus-serverprometheus-server-configmap-reloadjimmidyson/configmap-reload:v0.5.0

🤖 cost-analyzer

Namespace: default  |  Automount:

🔑 Permissions (28)

RoleResourceVerbsRiskTags
ClusterRole cost-analyzercore/configmapsget · list · watchHighConfigMapAccess DataExposure InformationDisclosure
ClusterRole cost-analyzercore/eventsget · list · watchMediumInformationDisclosure OperationalData Reconnaissance
ClusterRole cost-analyzerevents.k8s.io/eventsget · list · watchMediumInformationDisclosure OperationalData Reconnaissance
Role cost-analyzercore/pods/logget · list · watchMediumDataExposure InformationDisclosure LogAccess
ClusterRole cost-analyzercore/resourcequotasget · list · watchMediumInformationDisclosure QuotaTampering Reconnaissance ResourceConfiguration
ClusterRole cost-analyzerbatch/cronjobsget · list · watchLow
ClusterRole cost-analyzerapps/daemonsetslist · watchLow
ClusterRole cost-analyzerextensions/daemonsetsget · list · watchLow
ClusterRole cost-analyzerapps/deploymentslist · watchLow
ClusterRole cost-analyzercore/deploymentsget · list · watchLow
ClusterRole cost-analyzerextensions/deploymentsget · list · watchLow
ClusterRole cost-analyzercore/endpointsget · list · watchLow
ClusterRole cost-analyzerautoscaling/horizontalpodautoscalersget · list · watchLow
ClusterRole cost-analyzerbatch/jobsget · list · watchLow
ClusterRole cost-analyzercore/limitrangesget · list · watchLowInformationDisclosure Reconnaissance ResourceConfiguration
ClusterRole cost-analyzercore/namespacesget · list · watchLowClusterStructure InformationDisclosure Reconnaissance
ClusterRole cost-analyzercore/nodesget · list · watchLow
ClusterRole cost-analyzercore/persistentvolumeclaimsget · list · watchLow
ClusterRole cost-analyzercore/persistentvolumesget · list · watchLow
ClusterRole cost-analyzerpolicy/poddisruptionbudgetsget · list · watchLow
ClusterRole cost-analyzercore/podsget · list · watchLow
ClusterRole cost-analyzerapps/replicasetslist · watchLow
ClusterRole cost-analyzerextensions/replicasetsget · list · watchLow
ClusterRole cost-analyzercore/replicationcontrollersget · list · watchLow
ClusterRole cost-analyzercore/servicesget · list · watchLow
ClusterRole cost-analyzerapps/statefulsetslist · watchLow
ClusterRole cost-analyzerstorage.k8s.io/storageclassesget · list · watchLow
Role cost-analyzer-pspextensions/podsecuritypolicies (restricted to: cost-analyzer-psp)useLowResourceNameRestricted

⚠️ Potential Abuse (9)

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

📦 Workloads (3)

KindNameContainerImage
Deploymentcost-analyzercost-analyzer-frontendgcr.io/kubecost1/frontend:prod-1.84.0
Deploymentcost-analyzercost-analyzer-servergcr.io/kubecost1/server:prod-1.84.0
Deploymentcost-analyzercost-modelgcr.io/kubecost1/cost-model:prod-1.84.0

🤖 cost-analyzer-kube-state-metrics

Namespace: default  |  Automount:

🔑 Permissions (26)

RoleResourceVerbsRiskTags
ClusterRole cost-analyzer-kube-state-metricscore/configmapslist · watchHighConfigMapAccess DataExposure InformationDisclosure
ClusterRole cost-analyzer-kube-state-metricscore/resourcequotaslist · watchMediumInformationDisclosure QuotaTampering Reconnaissance ResourceConfiguration
ClusterRole cost-analyzer-kube-state-metricscertificates.k8s.io/certificatesigningrequestslist · watchLow
ClusterRole cost-analyzer-kube-state-metricsbatch/cronjobslist · watchLow
ClusterRole cost-analyzer-kube-state-metricsapps/daemonsetslist · watchLow
ClusterRole cost-analyzer-kube-state-metricsextensions/daemonsetslist · watchLow
ClusterRole cost-analyzer-kube-state-metricsapps/deploymentslist · watchLow
ClusterRole cost-analyzer-kube-state-metricsextensions/deploymentslist · watchLow
ClusterRole cost-analyzer-kube-state-metricscore/endpointslist · watchLow
ClusterRole cost-analyzer-kube-state-metricsautoscaling/horizontalpodautoscalerslist · watchLow
ClusterRole cost-analyzer-kube-state-metricsextensions/ingresseslist · watchLow
ClusterRole cost-analyzer-kube-state-metricsnetworking.k8s.io/ingresseslist · watchLow
ClusterRole cost-analyzer-kube-state-metricsbatch/jobslist · watchLow
ClusterRole cost-analyzer-kube-state-metricscore/limitrangeslist · watchLowInformationDisclosure Reconnaissance ResourceConfiguration
ClusterRole cost-analyzer-kube-state-metricscore/namespaceslist · watchLowClusterStructure InformationDisclosure Reconnaissance
ClusterRole cost-analyzer-kube-state-metricscore/nodeslist · watchLow
ClusterRole cost-analyzer-kube-state-metricscore/persistentvolumeclaimslist · watchLow
ClusterRole cost-analyzer-kube-state-metricscore/persistentvolumeslist · watchLow
ClusterRole cost-analyzer-kube-state-metricspolicy/poddisruptionbudgetslist · watchLow
ClusterRole cost-analyzer-kube-state-metricscore/podslist · watchLow
ClusterRole cost-analyzer-kube-state-metricsapps/replicasetslist · watchLow
ClusterRole cost-analyzer-kube-state-metricsextensions/replicasetslist · watchLow
ClusterRole cost-analyzer-kube-state-metricscore/replicationcontrollerslist · watchLow
ClusterRole cost-analyzer-kube-state-metricscore/serviceslist · watchLow
ClusterRole cost-analyzer-kube-state-metricsapps/statefulsetslist · watchLow
ClusterRole cost-analyzer-kube-state-metricsstorage.k8s.io/storageclasseslist · watchLow

⚠️ Potential Abuse (7)

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

📦 Workloads (1)

KindNameContainerImage
Deploymentcost-analyzer-kube-state-metricskube-state-metricsquay.io/coreos/kube-state-metrics:v1.9.8

🤖 cost-analyzer-grafana

Namespace: default  |  Automount:

🔑 Permissions (1)

RoleResourceVerbsRiskTags
ClusterRole cost-analyzer-grafana-clusterrolecore/configmapsget · list · watchHighConfigMapAccess DataExposure InformationDisclosure

⚠️ Potential Abuse (3)

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

📦 Workloads (3)

KindNameContainerImage
Deploymentcost-analyzer-grafanagrafanagrafana/grafana:7.5.6
Deploymentcost-analyzer-grafanagrafana-sc-dashboardkiwigrid/k8s-sidecar:1.12.2
Deploymentcost-analyzer-grafanagrafana-sc-datasourceskiwigrid/k8s-sidecar:1.12.2

🤖 cost-analyzer-prometheus-node-exporter

Namespace: default  |  Automount:

🔑 Permissions (0)

No explicit RBAC bindings.

📦 Workloads (1)

KindNameContainerImage
DaemonSetcost-analyzer-prometheus-node-exporterprometheus-node-exporterprom/node-exporter:v0.18.1