Background
Kubernetes discovery RBAC defaults are too broad for shared clusters.
Problem
Empty K8S_DISCOVERY_NAMESPACES / Helm namespaces: "" leads to listDeploymentForAllNamespaces with a ClusterRole listing Deployments cluster-wide (server/services/discovery/kubernetes.ts, charts/cve-radar/templates/rbac-discovery.yaml).
Proposed solution
- Require explicit namespace list when discovery is enabled
- Prefer namespaced Role/RoleBinding over ClusterRole
- Helm fail when
enabled && namespaces empty unless allowAllNamespaces: true
Acceptance criteria
Priority
P1 / Medium
Complexity
Small
Evidence
server/services/discovery/kubernetes.ts, server/lib/k8sDiscoveryConfig.ts, Helm rbac-discovery
Background
Kubernetes discovery RBAC defaults are too broad for shared clusters.
Problem
Empty
K8S_DISCOVERY_NAMESPACES/ Helmnamespaces: ""leads tolistDeploymentForAllNamespaceswith a ClusterRole listing Deployments cluster-wide (server/services/discovery/kubernetes.ts,charts/cve-radar/templates/rbac-discovery.yaml).Proposed solution
enabled && namespaces emptyunlessallowAllNamespaces: trueAcceptance criteria
Priority
P1 / Medium
Complexity
Small
Evidence
server/services/discovery/kubernetes.ts,server/lib/k8sDiscoveryConfig.ts, Helm rbac-discovery