ConfigsApr 16, 2026·3 min read

kube-bench — CIS Kubernetes Security Benchmark

Automated checks that verify whether Kubernetes clusters are deployed according to CIS Benchmark security guidelines, scanning master and worker node configurations.

TL;DR
kube-bench scans Kubernetes master and worker nodes against CIS Benchmark security guidelines for compliance validation.
§01

What it is

kube-bench is a Go application by Aqua Security that checks whether Kubernetes clusters are deployed according to CIS Benchmark security guidelines. It scans master and worker node configurations, verifying settings like API server flags, kubelet parameters, and etcd encryption. Results are categorized as PASS, FAIL, WARN, or INFO.

kube-bench targets cluster administrators and security teams who need automated compliance checks against the CIS Kubernetes Benchmark.

§02

How it saves time or tokens

kube-bench automates hundreds of manual security checks that would take hours to perform by hand. Each check includes a rationale and remediation command, so you fix issues without researching each CIS control separately.

§03

How to use

  1. Run as a Kubernetes Job:
kubectl apply -f https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml
kubectl logs job.batch/kube-bench
  1. Or run directly on a node:
kube-bench run --targets master
kube-bench run --targets node
  1. Review the PASS/FAIL/WARN output and apply remediations.
§04

Example

# Run as Kubernetes Job
kubectl apply -f https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml

# View results
kubectl logs job.batch/kube-bench

# Run on a specific node
kube-bench run --targets master

# Output as JSON for CI integration
kube-bench run --json

# Run specific CIS section
kube-bench run --targets master --check 1.2
§05

Related on TokRepo

Key considerations

When evaluating kube-bench for your workflow, consider the following factors. First, assess whether your team has the technical prerequisites to adopt this tool effectively. Second, evaluate the maintenance burden against the productivity gains. Third, check community activity and documentation quality to ensure long-term viability. Integration with your existing toolchain matters more than feature count alone. Start with a small pilot project before rolling out across the organization. Monitor resource usage during the initial adoption phase to identify bottlenecks early. Document your configuration decisions so team members can onboard independently.

§06

Common pitfalls

  • kube-bench must run on cluster nodes (or with access to node configs) to check kubelet and etcd settings; running from outside the cluster provides limited results.
  • Managed Kubernetes (EKS, GKE, AKS) restricts access to master node configurations; some CIS checks cannot run on managed clusters.
  • WARN results are not failures but indicate checks that could not be automatically evaluated; review them manually.

Frequently Asked Questions

What is the CIS Kubernetes Benchmark?+

The CIS Benchmark is a set of security best practices published by the Center for Internet Security. It defines specific configuration checks for Kubernetes components including API server, controller manager, scheduler, kubelet, and etcd.

Can kube-bench run on managed Kubernetes?+

Partially. kube-bench can check worker node and pod security configurations on managed clusters. Master node checks are limited because cloud providers manage the control plane. EKS, GKE, and AKS have specific benchmark profiles.

How do I fix failed checks?+

Each failed check includes a remediation description with the specific flag or configuration change needed. Apply the change to the relevant Kubernetes component configuration and restart the service.

Does kube-bench support different Kubernetes versions?+

Yes. kube-bench automatically detects the Kubernetes version and runs the appropriate CIS Benchmark. You can also specify a version explicitly with the --version flag.

Can I integrate kube-bench in CI/CD?+

Yes. Run kube-bench with --json output and parse results programmatically. Many teams run kube-bench as a periodic Job or after cluster provisioning to ensure ongoing compliance.

Citations (3)

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets