Skip to content

Introduction

Spotter is a comprehensive Kubernetes security scanner that helps identify security misconfigurations, vulnerabilities, and compliance issues in your Kubernetes clusters and manifests. Built with extensibility and performance in mind, Spotter uses the Common Expression Language (CEL) for flexible and powerful security rule evaluation.

Spotter is designed to be your universal Kubernetes security engine, providing:

  • Comprehensive Security Scanning: Analyze live clusters, YAML manifests, and Helm charts
  • 140+ Built-in Rules: Covering all major Kubernetes security domains
  • High Performance: Concurrent scanning with intelligent resource matching
  • Flexible Deployment: CLI tool, admission controller, or CI/CD integration
  • Extensible Rules: Create custom security rules using CEL expressions
  • Live Clusters: Scan running Kubernetes clusters in real-time
  • Manifest Files: Analyze YAML/JSON files before deployment
  • Helm Charts: Scan Helm templates and rendered manifests
  • CI/CD Integration: Integrate into your development pipeline

Spotter organizes security rules into 10 major categories:

  1. Workload Security - Container privileges, security contexts, capabilities
  2. Access Control - RBAC, service accounts, authorization policies
  3. Network & Traffic Security - Network policies, service exposure
  4. Secrets & Data Protection - Secret management, encryption at rest/transit
  5. Configuration & Resource Hygiene - Resource limits, probes, deprecated APIs
  6. Supply Chain & Image Security - Image scanning, registries, signatures
  7. CI/CD & GitOps Security - Pipeline security, shift-left policies
  8. Runtime Threat Detection - Anomaly detection, policy violations
  9. Audit, Logging & Compliance - CIS benchmarks, governance frameworks
  10. Platform & Infrastructure Security - Node security, control plane hardening
  • Concurrent Processing: Configurable worker pools for parallel scanning
  • Intelligent Matching: Efficient resource filtering and rule matching
  • CEL Engine: Fast expression evaluation with caching
  • Memory Efficient: Optimized for large-scale cluster scanning
  • Table: Human-readable console output
  • JSON: Machine-readable structured data
  • YAML: Configuration-friendly format
  • SARIF: Static Analysis Results Interchange Format for CI/CD
  1. Resource Discovery: Spotter discovers Kubernetes resources from clusters or files
  2. Rule Matching: Each resource is matched against applicable security rules
  3. CEL Evaluation: Security rules written in CEL are evaluated against resources
  4. Result Aggregation: Findings are collected and categorized by severity
  5. Report Generation: Results are formatted and output in the desired format
  • Scan manifests during development to catch security issues early
  • Validate security risks before deployment
  • Integrate into local development workflows
  • Automated security scanning in build pipelines
  • Gate deployments based on security findings
  • Generate security reports for compliance
  • Regular cluster security assessments
  • Compliance auditing and reporting
  • Runtime security policy enforcement via admission controller
  • Centralized security rule management
  • Custom rule development for organization-specific policies
  • Security posture monitoring and trending

Spotter follows a modular architecture:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ CLI Layer β”‚ β”‚ Config Layer β”‚ β”‚ Output Layer β”‚
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚
β”‚ β€’ Commands β”‚ β”‚ β€’ YAML Config β”‚ β”‚ β€’ Table β”‚
β”‚ β€’ Flags β”‚ β”‚ β€’ Validation β”‚ β”‚ β€’ JSON β”‚
β”‚ β€’ Help β”‚ β”‚ β€’ Defaults β”‚ β”‚ β€’ SARIF β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚ β”‚ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Core Engine β”‚
β”‚ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ Scanner β”‚ β”‚ Rules β”‚ β”‚ CEL β”‚ β”‚ Reporter β”‚ β”‚
β”‚ β”‚ β”‚ β”‚ Engine β”‚ β”‚ Engine β”‚ β”‚ β”‚ β”‚
β”‚ β”‚ β€’ K8s API β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β€’ Format β”‚ β”‚
β”‚ β”‚ β€’ Files β”‚ β”‚ β€’ Matching β”‚ β”‚ β€’ Evaluate β”‚ β”‚ β€’ Output β”‚ β”‚
β”‚ β”‚ β€’ Helm β”‚ β”‚ β€’ Loading β”‚ β”‚ β€’ Cache β”‚ β”‚ β€’ Filter β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Ready to start using Spotter? Check out our Installation Guide to get up and running quickly, or jump to the Quick Start for a hands-on introduction.

  • GitHub Repository: madhuakula/spotter
  • Issue Tracker: Report bugs and request features
  • Discussions: Community support and questions
  • Documentation: Comprehensive guides and references

Spotter is open source and licensed under the Apache License 2.0. We welcome contributions from the community!