Kubernetes Goat

Kubernetes Goat is a "Vulnerable by Design" cluster environment to learn and practice Kubernetes security using an interactive hands-on playground

Multi-Cloud Open Source Self Hosted Only
Category Container & Kubernetes Security
Community Stars 4567
Last Commit 2 months ago
Last page update 19 days ago
Pricing Details Free and open-source
Target Audience Developers, DevOps teams, security professionals, and anyone interested in learning Kubernetes security.

Kubernetes Goat addresses the critical security and operational challenge of identifying and mitigating vulnerabilities in Kubernetes clusters by providing an intentionally vulnerable environment for learning and practice. This tool is designed to simulate real-world security issues, misconfigurations, and attacks within Kubernetes, containers, and cloud-native environments.

The technical architecture of Kubernetes Goat involves setting up a vulnerable cluster environment using a series of scripts and configurations. Users must have admin access to a Kubernetes cluster and the kubectl and helm tools installed. The setup process includes cloning the repository, running a setup script, and exposing the resources to the local system via port-forwarding. This allows users to interact with the vulnerable environment through a web interface at http://127.0.0.1:1234.

Operationally, Kubernetes Goat includes over 20 scenarios that cover a wide range of security issues, such as sensitive keys in codebases, Docker-in-Docker (DIND) exploitation, Server-Side Request Forgery (SSRF) in Kubernetes, container escape to the host system, and various other misconfigurations and vulnerabilities. These scenarios are designed to help attackers, defenders, developers, and DevOps teams understand and mitigate security risks in a hands-on manner.

Key operational considerations include ensuring that Kubernetes Goat is not deployed in production environments or alongside sensitive cluster resources, as it intentionally introduces vulnerabilities. The tool is meant for educational purposes only and comes with no warranties, placing full responsibility on the user for any outcomes.

From a technical standpoint, the tool leverages various security tools and best practices, such as KubeAudit for auditing Kubernetes clusters, Sysdig Falco for runtime security monitoring, and Popeye for sanitizing Kubernetes clusters. It also integrates with network security policies (NSP) and Cilium Tetragon for eBPF-based security observability and runtime enforcement.

Improve this page