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.
What is Spotter?
Section titled βWhat is Spotter?β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
Key Features
Section titled βKey Featuresβπ Multiple Scan Targets
Section titled βπ Multiple Scan Targetsβ- 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
π‘οΈ Comprehensive Security Coverage
Section titled βπ‘οΈ Comprehensive Security CoverageβSpotter organizes security rules into 10 major categories:
- Workload Security - Container privileges, security contexts, capabilities
- Access Control - RBAC, service accounts, authorization policies
- Network & Traffic Security - Network policies, service exposure
- Secrets & Data Protection - Secret management, encryption at rest/transit
- Configuration & Resource Hygiene - Resource limits, probes, deprecated APIs
- Supply Chain & Image Security - Image scanning, registries, signatures
- CI/CD & GitOps Security - Pipeline security, shift-left policies
- Runtime Threat Detection - Anomaly detection, policy violations
- Audit, Logging & Compliance - CIS benchmarks, governance frameworks
- Platform & Infrastructure Security - Node security, control plane hardening
β‘ High Performance Architecture
Section titled ββ‘ High Performance Architectureβ- 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
π Flexible Output Formats
Section titled βπ Flexible Output Formatsβ- Table: Human-readable console output
- JSON: Machine-readable structured data
- YAML: Configuration-friendly format
- SARIF: Static Analysis Results Interchange Format for CI/CD
How Spotter Works
Section titled βHow Spotter Worksβ- Resource Discovery: Spotter discovers Kubernetes resources from clusters or files
- Rule Matching: Each resource is matched against applicable security rules
- CEL Evaluation: Security rules written in CEL are evaluated against resources
- Result Aggregation: Findings are collected and categorized by severity
- Report Generation: Results are formatted and output in the desired format
Use Cases
Section titled βUse CasesβDevelopment & Testing
Section titled βDevelopment & Testingβ- Scan manifests during development to catch security issues early
- Validate security risks before deployment
- Integrate into local development workflows
CI/CD Pipelines
Section titled βCI/CD Pipelinesβ- Automated security scanning in build pipelines
- Gate deployments based on security findings
- Generate security reports for compliance
Production Monitoring
Section titled βProduction Monitoringβ- Regular cluster security assessments
- Compliance auditing and reporting
- Runtime security policy enforcement via admission controller
Security Teams
Section titled βSecurity Teamsβ- Centralized security rule management
- Custom rule development for organization-specific policies
- Security posture monitoring and trending
Architecture Overview
Section titled βArchitecture Overviewβ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 β ββ βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Getting Started
Section titled βGetting Startedβ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.
Community & Support
Section titled βCommunity & Supportβ- 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!