madhuakula/kubernetes-goat
Kubernetes Goat is a "Vulnerable by Design" cluster environment to learn and practice Kubernetes security using an interactive hands-on playground ๐
About madhuakula/kubernetes-goat
madhuakula/kubernetes-goat is an open-source project on GitHub, mainly written in HTML. Kubernetes Goat is a "Vulnerable by Design" cluster environment to learn and practice Kubernetes security using an interactive hands-on playground ๐ It currently holds 5,875 stars and 1,070 forks with 28 open issues, and was last pushed on 2026-04-16 (repository created 2020-06-04).
Project Overview
Git Homed tracks it on the Today's Trending board, currently at rank #89 with 30 new stars today.
GitHub Repository Details
README
Kubernetes Goat
โจ The Kubernetes Goat is designed to be an intentionally vulnerable cluster environment to learn and practice Kubernetes security ๐
๐ Refer to https://madhuakula.com/kubernetes-goat for the guide ๐
๐งฐ Setting up Kubernetes Goat
- Ensure you have admin access to the Kubernetes cluster and installed
kubectl. Refer to the docs for installation - Ensure you have the
helmpackage manager installed. Refer to the docs for installation - To set up the Kubernetes Goat resources in your cluster, run the following commands:
git clone https://github.com/madhuakula/kubernetes-goat.git
cd kubernetes-goat
chmod +x setup-kubernetes-goat.sh
bash setup-kubernetes-goat.sh
- Ensure the pods are running before running the access script
kubectl get pods
- Access Kubernetes Goat by exposing the resources to the local system (port-forward) by the following command:
bash access-kubernetes-goat.sh
- Then navigate to
http://127.0.0.1:1234
Refer to https://madhuakula.com/kubernetes-goat/docs/how-to-run for setting up Kubernetes Goat in various environments like GKE, EKS, AKS, K3S, KIND, etc.
๐ Scenarios
1. Sensitive keys in codebases 2. DIND (docker-in-docker) exploitation 3. SSRF in the Kubernetes (K8S) world 4. Container escape to the host system 5. Docker CIS benchmarks analysis 6. Kubernetes CIS benchmarks analysis 7. Attacking private registry 8. NodePort exposed services 9. Helm v2 tiller to PwN the cluster - [Deprecated] 10. Analyzing crypto miner container 11. Kubernetes namespaces bypass 12. Gaining environment information 13. DoS the Memory/CPU resources 14. Hacker container preview 15. Hidden in layers 16. RBAC least privileges misconfiguration 17. KubeAudit - Audit Kubernetes clusters 18. Falco - Runtime security monitoring & detection 19. Popeye - A Kubernetes cluster sanitizer 20. Secure network boundaries using NSP 21. Cilium Tetragon - eBPF-based Security Observability and Runtime Enforcement 22. Securing Kubernetes Clusters using Kyverno Policy Engine
๐ Documentation Guide
Here is the detailed step by step guide for learning and using Kubernetes Goat ๐: documentation guide
Reference: https://madhuakula.com/kubernetes-goat
โ ๏ธ Disclaimer
Kubernetes Goat has intentionally created vulnerabilities, applications, and configurations to attack and gain access to your cluster and workloads. Please DO NOT run this alongside your production environments and infrastructure. We highly recommend running this in a safe and isolated (contained) environment.
Kubernetes Goat is used for educational purposes only. Do not test or apply these attacks on any systems without permission. Kubernetes Goat comes with absolutely no warranties, by using it you take full responsibility for all outcomes.
๐ License
โจ Acknowledgements
Thanks to to these wonderful people: ๐








![https://github.com/madhuakula/kubernetes-goat/blob/HEAD/dependabot[bot]](https://img.git-homed.org/gh/madhuakula/kubernetes-goat/34db889cb318390cc37f.png)



























