Description

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

Overview

IdentityNamespaceAutomountSecretsPermissionsWorkloadsRisk
cost-analyzer-prometheus-kube-state-metricsdefault241Critical
cost-analyzer-prometheus-serverdefault92Critical
cost-analyzerdefault263High
cost-analyzer-grafanadefault13High
cost-analyzer-prometheus-alertmanagerdefault02
cost-analyzer-prometheus-node-exporterdefault01
cost-analyzer-prometheus-pushgatewaydefault01

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


Identities

🤖 cost-analyzer-prometheus-kube-state-metrics

Namespace: default  |  Automount:

🔑 Permissions (24)

RoleResourceVerbsRiskTags
ClusterRole cost-analyzer-prometheus-kube-state-metricscore/secretslist · watchCriticalClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure SecretAccess
ClusterRole cost-analyzer-prometheus-kube-state-metricscore/configmapslist · watchHighConfigMapAccess DataExposure InformationDisclosure
ClusterRole cost-analyzer-prometheus-kube-state-metricscore/resourcequotaslist · watchMediumInformationDisclosure QuotaTampering Reconnaissance ResourceConfiguration
ClusterRole cost-analyzer-prometheus-kube-state-metricscertificates.k8s.io/certificatesigningrequestslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricsbatch/cronjobslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricsapps/daemonsetsget · list · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricsextensions/daemonsetslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricsapps/deploymentsget · list · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricsextensions/deploymentslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricscore/endpointslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricsautoscaling/horizontalpodautoscalerslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricsextensions/ingresseslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricsbatch/jobslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricscore/limitrangeslist · watchLowInformationDisclosure Reconnaissance ResourceConfiguration
ClusterRole cost-analyzer-prometheus-kube-state-metricscore/namespaceslist · watchLowClusterStructure InformationDisclosure Reconnaissance
ClusterRole cost-analyzer-prometheus-kube-state-metricscore/nodeslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricscore/persistentvolumeclaimslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricscore/persistentvolumeslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricspolicy/poddisruptionbudgetslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricscore/podslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricsextensions/replicasetslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricscore/replicationcontrollerslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricscore/serviceslist · watchLow
ClusterRole cost-analyzer-prometheus-kube-state-metricsapps/statefulsetsget · list · watchLow

⚠️ Potential Abuse (9)

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

📦 Workloads (1)

KindNameContainerImage
Deploymentcost-analyzer-prometheus-kube-state-metricsprometheus-kube-state-metricsquay.io/coreos/kube-state-metrics:v1.6.0

🤖 cost-analyzer-prometheus-server

Namespace: default  |  Automount:

🔑 Permissions (9)

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/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.11.1
Deploymentcost-analyzer-prometheus-serverprometheus-server-configmap-reloadjimmidyson/configmap-reload:v0.2.2

🤖 cost-analyzer

Namespace: default  |  Automount:

🔑 Permissions (26)

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
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

⚠️ Potential Abuse (8)

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

📦 Workloads (3)

KindNameContainerImage
Deploymentcost-analyzercost-analyzer-frontendajaytripathy/kubecost-frontend:prod-1.51.1
Deploymentcost-analyzercost-analyzer-serverajaytripathy/kubecost:prod-1.51.1
Deploymentcost-analyzercost-modelajaytripathy/kubecost-cost-model:prod-1.51.1

🤖 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:5.3.1
Deploymentcost-analyzer-grafanagrafana-sc-dashboardkiwigrid/k8s-sidecar:0.0.3
Deploymentcost-analyzer-grafanagrafana-sc-datasourceskiwigrid/k8s-sidecar:0.0.3

🤖 cost-analyzer-prometheus-alertmanager

Namespace: default  |  Automount:

🔑 Permissions (0)

No explicit RBAC bindings.

📦 Workloads (2)

KindNameContainerImage
Deploymentcost-analyzer-prometheus-alertmanagerprometheus-alertmanagerprom/alertmanager:v0.18.0
Deploymentcost-analyzer-prometheus-alertmanagerprometheus-alertmanager-configmap-reloadjimmidyson/configmap-reload:v0.2.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.0

🤖 cost-analyzer-prometheus-pushgateway

Namespace: default  |  Automount:

🔑 Permissions (0)

No explicit RBAC bindings.

📦 Workloads (1)

KindNameContainerImage
Deploymentcost-analyzer-prometheus-pushgatewayprometheus-pushgatewayprom/pushgateway:v0.8.0