Kubernetes Goat
Kubernetes Goat is a tool we trial in the garden.
Blurb
Kubernetes Goat is a “Vulnerable by Design” cluster environment to learn and practice Kubernetes security using an interactive hands-on playground 🚀 - madhuakula/kubernetes-goat
Summary
Kubernetes Goat extends the Goat tradition (DVWA, Juice Shop, TerraGoat) into live cluster security. Bridgecrew goats target IaC files; this lab targets running pods, RBAC, and cluster misconfigurations.
When to use: teaching DevSecOps and K8s red-team basics; walking through 20+ documented scenarios (RBAC abuse, container escape, SSRF, registry attacks); pairing manual exploits with Kubescape or kube-bench CIS modules in the curriculum.
When to skip: you cannot provision an isolated lab cluster (KIND, K3s, minikube, or disposable cloud); you only need static manifest scanning (use Checkov on repos); you need web-app vuln labs only (use DVWA or Juice Shop).
Setup: clone repo, run setup-kubernetes-goat.sh, then access-kubernetes-goat.sh for local UI at http://127.0.0.1:1234. Full guide at madhuakula.com/kubernetes-goat.
Details
Compared to IaC Goats
| Lens | Kubernetes Goat | TerraGoat / Bridgecrew goats |
|---|---|---|
| Target | Running Kubernetes cluster | IaC files (Terraform, CFN, Bicep, CDK) |
| Skills | RBAC, escapes, SSRF, runtime abuse | Misconfiguration detection pre-deploy |
| Scanner pairing | Kubescape, kube-bench, Checkov on manifests | Checkov on IaC |
| Best fit | Cluster security and exploitation labs | Cloud template scanning labs |
Scenario Highlights
Upstream documents 20+ modules, including sensitive keys in repos, docker-in-docker abuse, container escape, private registry attacks, RBAC misconfiguration, CIS Docker/K8s benchmark analysis, and policy engine hardening exercises.
Deployment Guardrails
- Use a dedicated lab cluster with no production namespaces or data.
- Requires cluster admin and
kubectl; Helm for install scripts. - Read upstream disclaimer before setup: vulnerabilities are intentional.
- Tear down the lab when finished; do not co-locate with real workloads.
- Prefer KIND, K3s, or a sandbox EKS/GKE/AKS account per upstream docs.
Install Sketch
| |