RBAC
Who can do what in the cluster, and what that reaches.
- Roles and cluster roles with wide verbs
- Service account bindings per namespace
- Default service account token mounting
- Paths from a namespace to cluster-admin
A container is not a security boundary, and a cluster that assumes it is will hand an attacker the node and then the cloud account underneath. We review the cluster against the CIS Kubernetes Benchmark and then take a single compromised pod and see how far it goes - through RBAC, through a mounted service account token, through the node, and out into the account that owns it.
Assume one workload is compromised. It will happen eventually through a dependency, an exposed application or a poisoned image, and nothing about the cluster changes that. What the cluster decides is what happens next.
In a well-built cluster the answer is very little: the pod runs unprivileged, its service account can do almost nothing, network policy stops it talking to anything it does not need, and the node credentials are not reachable. In most clusters we look at, the answer is the node, then the cloud account, then every other workload on it. That distance is the finding.
Structured on the CIS Kubernetes Benchmark and the NSA/CISA Kubernetes Hardening Guidance, with the breakout work taken further than either asks.
Who can do what in the cluster, and what that reaches.
What a container is allowed to do to its host.
Tested from inside a pod, not read from a manifest.
What credentials a compromised workload can read.
The path most clusters do not close.
Whether any of this would be visible.
A read-only kubeconfig to start, plus a test namespace for the breakout work.
Configuration, RBAC and workloads before anything is run.
Against the benchmark, so there is a number.
The part that tells you what a compromise costs.
Fixes ordered by how much of the path they break, and a free retest.
Two documents and a conversation. Written so the person who signs the invoice and the person who writes the fix can both use them.
The work follows CIS Kubernetes Benchmark, NSA/CISA Kubernetes Hardening Guidance, MITRE ATT&CK for Containers and NIST SP 800-190, so the coverage can be checked rather than taken on trust, and the report maps to what your auditor or your enterprise customer already recognises.
This page is one part of our cloud security service. Where a finding needs a different kind of engagement to answer properly, we say so in the report rather than selling you the test we happen to be running.
For the review, no - a read-only kubeconfig is enough. For the breakout work we ask for a namespace we may deploy a test workload into, because "what can a compromised pod reach" cannot be answered from a manifest. Everything we deploy is listed and removed.
Yes, and usually a lot. The provider secures the control plane; everything above it - RBAC, pod security, network policy, secrets, workload identity - is yours. The benchmark marks which controls the provider owns, so the report does not claim credit for things you did not configure.
Especially then. A policy that exists but does not select the pods you think it does is worse than no policy, because it is believed. We test reachability from inside a pod rather than reading the manifest.
The path from the cluster into the account does, because that is the most valuable thing a cluster compromise buys. A full review of the account itself is the AWS, Azure or Google Cloud assessment.
Image provenance, registry permissions and what the build pipeline is trusted to do are in scope. A full software supply chain review is a larger piece of work and we will scope it separately rather than imply it is included.
Tell us what you need tested. Our team will reply with a clear scope and quote.
An assistant, not a person, so check anything important with us. Please do not type passwords or card numbers here. Messages are kept so we can answer you better.