kube-bench is an open-source tool that checks whether a Kubernetes cluster is configured according to the CIS Kubernetes Benchmark. It is an auditing tool, not an exploit tool: it inspects process arguments, configuration files and file permissions on the machine it runs on, compares them against the benchmark's controls, and reports each one as PASS, FAIL, WARN or INFO along with the remediation text from the benchmark.
It is written in Go and driven entirely by YAML configuration under cfg/, with one directory per benchmark version. It detects the running Kubernetes version and selects the matching benchmark, or you pin one with --benchmark. Controls are grouped into targets — master, controlplane, etcd, node, policies and managedservices — and you choose which to run with --targets. Because the control-plane checks need to see the host's processes and files, kube-bench is normally run as a Job with hostPID and the relevant host paths mounted, one Job for control-plane nodes and one for workers.
The output is designed to be consumed by machines as well as people. --json and --junit produce structured results for pipelines and dashboards, and there is integration for pushing findings to AWS Security Hub. Custom benchmark files let you add organisation-specific controls or suppress ones that do not apply, which is what turns kube-bench from a one-off scan into a repeatable compliance control with an audit trail.
Why this skill matters now
Kubernetes configuration is where most cluster security is won or lost, and the defaults are not safe. An API server left with anonymous authentication enabled, a kubelet with its read-only port open, etcd without client certificate authentication, or a static pod manifest that is world-writable are all configuration mistakes, not vulnerabilities — no patch fixes them and no scanner that only looks at images will find them.
At the same time, compliance obligations have caught up with container platforms. SOC 2, PCI DSS, ISO 27001 and internal security reviews now ask specifically how the control plane is hardened and how that hardening is evidenced over time. Auditors want a repeatable check with dated output, not an engineer's assurance.
kube-bench sits exactly at that intersection, which is why it appears in so many platform security programmes. The skill it demands is not running the binary — that takes a minute. It is reading the results correctly, understanding what each control actually protects against, knowing which failures are genuine risk and which are artefacts of a managed control plane you do not own, and remediating without breaking the cluster.