Kubernetes Security Checker

Check Kubernetes manifests for privileged containers, host access, dangerous capabilities, mounted secrets, mutable tags and missing limits or probes.

Runs locally

Everything happens in your browser. What you paste or drop here is never uploaded, logged or stored.

Use the tool

Drop manifests
Multi-document YAML or JSON (including kubectl get -o json lists). Several files are combined. Nothing is applied or sent to a cluster.

Pod Security Standards, line by line

Every workload is checked: Deployments, StatefulSets, DaemonSets, Jobs, CronJobs, ReplicaSets and bare Pods, including init and ephemeral containers. The checks follow the Kubernetes Pod Security Standards.

Baseline covers privileged containers, host networking, PID and IPC, hostPath volumes (with the node paths that mean full compromise called out), hostPort, capabilities beyond the allowed set, unconfined seccomp and unsafe sysctls.

Restricted adds:

  • running as root, or not setting runAsNonRoot;
  • privilege escalation not disabled;
  • capabilities not dropped;
  • no seccomp profile.

Each workload gets a verdict for both levels. Every finding points to the manifest line it is about.

Beyond the pod spec

The checker also looks at workload and cluster settings:

  • mutable image tags and digest pinning;
  • missing CPU and memory limits and requests;
  • missing probes;
  • literal secrets in environment variables;
  • service account tokens mounted when they are not needed;
  • workloads in the default namespace;
  • LoadBalancer, NodePort and externalIPs services.

For RBAC, it flags:

  • wildcard verbs and resources;
  • secret reads (list returns the values);
  • pods/exec;
  • the escalate, bind and impersonate verbs;
  • token creation;
  • bindings of cluster-admin, of system:authenticated, and of default service accounts.

Frequently asked questions

Can it read Helm charts?

Render them first with helm template, then paste the output. Templates with {{ }} are not valid YAML until rendered.

Why are YAML anchors rejected?

The reader deliberately refuses anchors, aliases and tags - they enable "billion laughs" expansion and object-construction attacks. Kubernetes manifests rarely need them; expand them before checking.

Does this replace admission control?

No. Use Pod Security Admission or a policy engine to enforce in the cluster; this is for review before code reaches it.

References

What this tool can and cannot tell you. It reports what is present in the input you provide. It cannot see anything you did not give it, and a clean result means nothing was found in that input - not that the wider system is secure.

Security guidance here follows current published sources - OWASP, MDN, the relevant RFCs, NIST, CISA, FIRST and MITRE - which are linked beside the specific claims they support.

Rate this tool

Was this tool useful? Your feedback helps us improve it.

No ratings yet — be the first to rate this tool.
Your rating (required)
0 / 2000

Please do not include passwords, payment details or other sensitive information.

Your feedback is sent privately to the A2Z.Tools team and will not be posted publicly.