explaingit

gnana997/periscope-demo-eks-antipatterns

1HCLAudience · ops devopsComplexity · 4/5ActiveLicenseSetup · hard

TLDR

Terraform plus shell scripts that stand up a deliberately broken AWS EKS cluster with 12 IAM antipatterns and 4 vulnerable workloads, used as a demo target for the Periscope Kubernetes dashboard.

Mindmap

mindmap
  root((periscope-demo))
    Inputs
      Sandbox AWS account
      Terraform variables
    Outputs
      Broken EKS cluster
      12 IAM antipatterns
      4 vulnerable workloads
    Use Cases
      Periscope dashboard demo
      Security training lab
      Detection rule testing
      IRSA misconfig drill
    Tech Stack
      Terraform
      AWS EKS
      kubectl
      Docker
      Shell
      HCL

Things people build with this

USE CASE 1

Spin up a sandbox EKS cluster to demo Periscope screenshots against real antipattern findings.

USE CASE 2

Run a security training lab where students hunt IRSA, Pod Identity, and S3 wildcard mistakes.

USE CASE 3

Test EKS detection rules against a known set of 12 antipatterns and 4 vulnerable workloads.

USE CASE 4

Reuse the Terraform as a starting point for any deliberately broken cloud lab tied to documented findings.

Tech stack

TerraformAWS EKSkubectlDockerShell

Getting it running

Difficulty · hard Time to first run · 1h+

Needs a throwaway AWS account with admin credentials, plus AWS CLI, kubectl, jq, envsubst, and Docker before the scripts can run.

Apache 2.0 license, free to use commercially with patent protection, as long as you keep the license notice and state any changes.

In plain English

This repository sets up a deliberately broken Amazon Web Services environment for testing a separate tool called Periscope, an open source dashboard for Kubernetes clusters running on Amazon's EKS service. The README starts with a strong warning in red: the cluster it creates is intentionally insecure and should only be used in a fresh, throwaway AWS sandbox account. It contains real IAM permission mistakes, like wildcard access to all S3 buckets, and uses container images known to have security holes. The purpose is to give Periscope something interesting to look at. Periscope has views that detect specific cloud permission antipatterns and vulnerable containers, and this repo wires up a cluster that contains 12 such antipatterns plus 4 vulnerable workloads, each cross referenced in a docs file to the Periscope screenshot it is meant to produce. Examples include a service account bound to two different identity sources at once, an orphan Pod Identity association, stale IRSA bindings, and older versions of nginx, grafana, redis, and busybox in a private container registry. The setup uses Terraform to create the EKS cluster, plus shell scripts to apply the identity fixtures and the security fixtures in order. The README also lists prerequisites such as the AWS CLI, kubectl, jq, envsubst, Docker, and an admin level AWS principal, and gives an honest cost estimate: about $1.30 per four hour session, or roughly $150 per month if left running. A tear down section walks through the reverse order cleanup, including extra AWS CLI checks for orphaned NAT gateways, elastic IPs, and load balancers. As a safety habit, every IAM resource and S3 bucket ARN is prefixed with periscope-demo so that policy text copied into a real account will not collide with production names. The project is Apache 2.0 licensed.

Copy-paste prompts

Prompt 1
Run terraform apply for periscope-demo-eks-antipatterns in a fresh AWS sandbox account and confirm the EKS cluster comes up.
Prompt 2
Apply the identity and security fixture scripts in periscope-demo-eks-antipatterns and map each antipattern to the Periscope screenshot it triggers.
Prompt 3
Trace one antipattern in periscope-demo-eks-antipatterns, like the orphan Pod Identity binding, from the Terraform that creates it to the dashboard view.
Prompt 4
Write a tear down script for periscope-demo-eks-antipatterns that also checks for orphaned NAT gateways, elastic IPs, and load balancers.
Prompt 5
Estimate the AWS cost of leaving periscope-demo-eks-antipatterns running for a 2 hour training session in eu-west-1.
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.