Description

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

Overview

IdentityNamespaceAutomountSecretsPermissionsWorkloadsRisk
cost-analyzer-prometheus-serverdefault102Critical
cost-analyzerdefault233High
cost-analyzer-grafanadefault12High
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-serverquay.io/prometheus/prometheus:v2.35.0
Deploymentcost-analyzer-prometheus-serverprometheus-server-configmap-reloadquay.io/prometheus-operator/prometheus-config-reloader:v0.68.0

🤖 cost-analyzer

Namespace: default  |  Automount:

🔑 Permissions (23)

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/daemonsetsget · list · watchLow
ClusterRole cost-analyzerapps/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/replicasetsget · list · watchLow
ClusterRole cost-analyzercore/replicationcontrollersget · list · watchLow
ClusterRole cost-analyzercore/servicesget · list · watchLow
ClusterRole cost-analyzerapps/statefulsetsget · list · watchLow
ClusterRole cost-analyzerstorage.k8s.io/storageclassesget · list · watchLow

⚠️ 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.107.0
Deploymentcost-analyzercost-modelgcr.io/kubecost1/cost-model:prod-1.107.0
Podbasic-healthtest-kubecostalpine/k8s:1.26.9

🤖 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 (2)

KindNameContainerImage
Deploymentcost-analyzer-grafanagrafanagrafana/grafana:9.4.7
Deploymentcost-analyzer-grafanagrafana-sc-dashboardkiwigrid/k8s-sidecar:1.25.1

🤖 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:v1.5.0