Back openDesk Edu for a sovereign, open-source education — every vote counts.
Vote nowSave products you love by clicking the heart icon.
Nix ist kein Alles-oder-Nichts-Prinzip. Von einer gepinnten devShell bis hin zu immutablen A/B-OTA-Appliances – sechs Stufen der Einführung des Nix-Geistes, basierend auf praktischen Erfahrungen mit K3s-Clustern, Air-Gapped-Registries und mit Nix erstellten Mailserver-Containern.
Wir haben 2.080 Open-Source-DevSecOps-Repositories auf GitHub, GitLab und Codeberg analysiert – ein Korpus, der aus über 150 Suchabfragen besteht und alle Subdomains von Build-Pipelines bis hin zum Runtime-Monitoring abdeckt. Allein die Kategorie Security umfasst 491 Repositories (23,6 % der Gesamtzahl) und ist damit die größte Einzelkategorie im Korpus.
Innerhalb des Bereichs Security umfasst das Kubernetes-spezifische Subset 39 Repositories, die Scanning, Admission Control, Runtime Detection und RBAC-Management abdecken. Wenn wir dies mit dem Korpus an Forschungspapieren (2.840 akademische Arbeiten) abgleichen, generiert Kubernetes-Security 188 Erwähnungen – mehr als jede andere Einzeltechnologie.
Doch Adoption Verständnis. Die am häufigsten gestarten Security-Tools weisen im Korpus null dedizierte akademische Evaluationspapiere auf. Teams setzen Production-Security-Stacks basierend auf dem Ruf in der Community ein, nicht auf empirischen Belegen.
Hier ist die Aufschlüsselung der 491 Security-Repositories nach Subkategorien:
| Subkategorie | Repos | Beschreibung |
|---|---|---|
| Application tools | 225 | Scanner, Auditoren, Pentesting-Frameworks |
| Security systems | 133 | Plattformen, Orchestratoren, Management-Dashboards |
| Theory & standards | 51 | Spezifikationen, Bedrohungsmodelle, Taxonomien |
| Systems integrations | 47 | CSI-Plugins, Admission Controller, Operator |
| Review & comparison | 19 | Awesome-Listen, Benchmarks, Evaluationen |
Dieser Guide bildet das tatsächliche Tool-Ökosystem ab – organisiert nach Defense-Layern –, damit Sie einen Security-Stack aufbauen können, der auf Adoptionsdaten basiert und nicht auf Marketing.
Kubernetes-Security besteht nicht aus einem einzigen Tool. Es ist eine gestaffelte Verteidigung (Layered Defense), bei der jede Stufe unterschiedliche Bedrohungsklassen abfängt:
Jeder Layer hat ein dominantes Open-Source-Tool (oder zwei). Aber „dominant“ bedeutet nicht „einzige Option“. Der Korpus offenbart ein gesundes Ökosystem mit echten Alternativen auf jeder Ebene.
Hier beginnen die meisten Teams – und hier ist die Tool-Landschaft am reichhaltigsten. Der Korpus enthält 21 Scanning-Repositories mit insgesamt über 132.000 Sternen.
| Tool | Sterne | Scans | Integration | Lizenz |
|---|---|---|---|---|
| Trivy | 37.384 | Images, FS, IaC, Lizenzen, Secrets | CLI, CI/CD, K8s Operator, GitHub Action | Apache-2.0 |
| Grype | 12.724 | Images, SBOMs, Verzeichnisse | CLI, GitHub Action | Apache-2.0 |
| Semgrep | 16.209 | Quellcode (SAST) | CLI, CI/CD, pre-commit | LGPL-2.1 |
Trivy dominiert mit 37k Sternen – mehr als Grype und Semgrep zusammen. Es scannt Container-Images, Dateisysteme, Git-Repositories, Kubernetes-Konfigurationen und sogar Cloud-Infrastrukturen. Der trivy-operator (1.920 ⭐) führt kontinuierliches Scanning innerhalb von Clustern via Kubernetes CRDs durch.
Doch Dominanz bedeutet nicht, dass es universell die richtige Wahl ist. Semgrep glänzt bei der Erstellung benutzerdefinierter Regeln für proprietäre Codemuster. Grype ist speziell für SBOM-first Workflows konzipiert – kombinieren Sie es mit Syft (9.397 ⭐), um SBOMs zu generieren, und speisen Sie diese dann in Grype für den Schwachstellenabgleich ein.
# Generate SBOM with Syft
syft packages dir:./src -o spdx-json > sbom.spdx.json
# Scan SBOM with Grype
grype sbom:sbom.spdx.json --fail-on critical
# Or: one-shot Trivy scan (image + config + secrets)
trivy image --severity HIGH,CRITICAL \
--exit-code 1 \
--ignore-unfixed \
myregistry.com/app:v1.2.3
| Szenario | Empfehlung |
|---|---|
| „Einfach Images in der CI scannen“ | Trivy (schnellstes Setup, breiteste Abdeckung) |
| „SBOM-first Compliance“ | Syft + Grype (CycloneDX/SPDX-Output, Policy-gesteuert) |
| „Eigene SAST-Regeln für proprietären Code“ | Semgrep (Pattern-Language, Registry für Community-Regeln) |
| „Auch Terraform/IaC-Scanning“ | Trivy oder Checkov (Checkov hat 8.935 ⭐, stärkere IaC-Regeln) |
| „Alles in einer CI-Pipeline“ | Trivy image + semgrep source + checkov iac |
Es gibt keine akademischen Benchmarks für diese Tools (siehe Forschungslücken unten), aber community-berichtete Daten aus Blogposts und CNCF-Working-Groups liefern uns ungefähre Werte:
| Tool | Full Image Scan | SBOM Scan | False Positive Rate | CI-Integrationskosten |
|---|---|---|---|---|
| Trivy | 10–30s | 2–5s | Moderat (verbessernd) | Nahezu null (Single Binary) |
| Grype | 5–15s | 1–3s | Niedrig (Grype DB ist konservativ) | Niedrig (Go Binary + SBOM-Datei) |
| Semgrep | 30–120s (SAST ist naturgemäß langsamer) | N/A | Niedrig (Pattern Matching ist präzise) | Mittel (benötigt Regelmanagement) |
Der Geschwindigkeitsvorteil von Trivy resultiert aus seiner Standalone-Architektur – ein separater SBOM-Generierungsschritt ist nicht erforderlich. Grype + Syft gewinnt jedoch bei der SBOM-Portabilität: Sie können dieselbe SBOM mit mehreren Engines scannen, sie mit Stakeholdern teilen und für Compliance-Audits speichern. Für Teams, die dem NIST SP 800-218 (Secure Software Development Framework) unterliegen, wird der SBOM-first-Ansatz zunehmend obligatorisch.
Für einen tieferen Einblick in den Aufbau und das Hardening von Container-Images parallel zum Scanning lesen Sie bitte Container Building and Hardening: A Production-Ready Guide.
Secrets in Kubernetes haben ein bekanntes Problem: base64-kodierte Secret-Objekte sind standardmäßig nicht im Ruhezustand verschlüsselt (not encrypted at rest). Das Corpus analysiert 35 auf Secrets fokussierte Repositories, und das Ökosystem hat sich auf drei verschiedene Ansätze geeinigt.
| Ansatz | Tool | Stars | Modell | Kubernetes-Integration |
|---|---|---|---|---|
| Externer Secret Store | HashiCorp Vault | 36.116 | Zentraler Vault, dynamische Secrets | CSI-Provider, Injector, Helm Chart |
| GitOps-native Verschlüsselung | Mozilla SOPS | 22.797 | Verschlüsselung auf Dateiebene (age/GPG/KMS) | Flux-Integration, external-secrets |
| Kubernetes-native | Sealed Secrets | 9.243 | Asymmetrische Verschlüsselung, natives CRD | Nur Kubernetes-Controller |
| Moderne Alternative | Infisical | 28.752 | EKS-ähnliches Modell, Open-Source | Operator, Helm, external-secrets |
Vault bleibt der am häufigsten eingesetzte Secrets Manager im Corpus. Er unterstützt dynamische Secrets (Datenbank-Credentials, die automatisch rotiert werden), Transit-Verschlüsselung (Encrypt-as-a-Service) und PKI-Backends.
# Vault Agent Injector annotation — no code changes needed
apiVersion: v1
kind: Pod
metadata:
name: app-with-vault
annotations:
vault.hashicorp.com/agent-inject: "true"
vault.hashicorp.com/role: "my-app"
vault.hashicorp.com/secret-volume-path: "/etc/secrets"
spec:
containers:
- name: app
image: myapp:latest
Der Vault CSI-Provider (349 ⭐) bietet eine Alternative zum Mutating Webhook Injector – er mountet Secrets als Dateien über die Standard-Kubernetes-CSI-Schnittstelle.
Für GitOps-Puristen, die alles in Git haben wollen (einschließlich verschlüsselter Secrets), ist SOPS der Standard. Dieser Ansatz verschlüsselt Secrets auf Dateiebene, bevor sie in die Versionsverwaltung gelangen, sodass Ihr Git-Repo nur Ciphertext enthält – der Entschlüsselungsschlüssel liegt im Secret Store Ihrer CI-Plattform oder in einem KMS.
Wann man SOPS gegenüber Vault bevorzugt:
# Encrypt a Kubernetes secret with SOPS
sops --encrypt \
--kms "arn:aws:kms:us-east-1:123456:key/abcd" \
--encrypted-regex '^(data|stringData)$' \
my-secret.yaml > my-secret.enc.yaml
# Decrypt at apply time with Flux
flux reconcile kustomization apps --with-source
Der external-secrets operator (6.786 ⭐) schlägt die Brücke von externen Secret Stores (Vault, AWS SM, GCP SM, Azure KV, Infisical, Doppler) zu Kubernetes Secret-Objekten. Er ist die flexibelste Option, wenn Sie mehrere Secret Stores verwenden.
Der einfachste Ansatz: Verschlüsseln Sie ein Secret in ein SealedSecret CRD, das nur der Cluster-Controller entschlüsseln kann. Keine externen Abhängigkeiten.
# Encrypt from a file
kubeseal --format=yaml \
-f my-secret.yaml \
-w my-sealed-secret.yaml
# Apply — the controller decrypts in-cluster
kubectl apply -f my-sealed-secret.yaml
Wann man Sealed Secrets wählt:
Secret-Objekten und suchen den einfachsten Lift-and-Shift-PfadDie drei Ansätze schließen sich nicht gegenseitig aus. Im Corpus nutzen die ausgereiftesten Produktionsumgebungen typischerweise zwei oder mehr in Kombination:
| Team-Profil | Primär | Sekundär | Warum |
|---|---|---|---|
| Kleines Team, einzelner Cluster | Sealed Secrets | — | Minimaler Ops-Aufwand, keine externen Abhängigkeiten |
| GitOps-native, Multi-Cluster | SOPS + External Secrets | — | Git-Audit-Trail, pro-Cluster KMS-Keys |
| Enterprise, Multi-Team | Vault + External Secrets | SOPS für GitOps-Teams | Zentralisierte Governance, dynamische Secrets für DBs |
| Startup, schnelle Iteration | Infisical | — | Entwicklerfreundliche UX, EKS-ähnliches Modell, Free Tier |
Der external-secrets operator (6.786 ⭐) fungiert als universelle Brücke – er kann Daten aus Vault, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager, Infisical, Doppler, 1Password und sogar aus Kubernetes selbst beziehen. Das bedeutet, dass Sie mit einem Backend beginnen und zu einem anderen migrieren können, ohne Ihre Applikations-Manifeste ändern zu müssen.
Für einen vollständigen GitOps-Walkthrough zum Secrets-Management lesen Sie bitte GitOps Secrets Management in Production.
Dies ist die fragmentierteste Ebene – das Corpus verfolgt 73 Policy-as-Code-Repositories, was die anhaltende Debatte zwischen Rego-, CEL- und WASM-basierten Ansätzen widerspiegelt.
| Tool | Stars | Policy-Sprache | Durchsetzung | Lernkurve |
|---|---|---|---|---|
| Kyverno | 8.031 | YAML (keine neue Sprache) | Mutating + Validating Webhook | Niedrig |
| OPA Gatekeeper | 4.263 | Rego (DSL) | Validating Webhook | Hoch |
| Kubewarden | N/A | Beliebige Sprache → WASM | Validating Webhook | Mittel |
Kyvernos entscheidender Vorteil: Policies sind einfach Kubernetes-Ressourcen. Kein Rego zu lernen, keine WASM-Kompilierung, keine benutzerdefinierten DSLs. Eine typische Policy:
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: require-resource-limits
spec:
validationFailureAction: Enforce
rules:
- name: check-limits
match:
any:
- resources:
kinds:
- Pod
validate:
message: "CPU and memory limits are required"
pattern:
spec:
containers:
- resources:
limits:
cpu: "?*"
memory: "?*"
The official Kyverno policies library (499 ⭐) ships 60+ production-ready policies covering CIS benchmarks, pod security standards, and best practices.
Gatekeeper (OPA) excels when you need:
Kubewarden takes a fundamentally different approach: policies are compiled to WebAssembly (WASM) modules and executed in a sandboxed runtime inside the admission webhook. This means you can write policies in Rust, Go, Swift, or any language that compiles to WASM — not just YAML or Rego.
Kubewarden's advantages:
The trade-off: you need to compile policies before deploying, and the ecosystem of pre-built policies is smaller than Kyverno's 60+ library. For teams writing complex custom policies (custom resource validation, multi-cluster admission logic, business-rule enforcement), Kubewarden is worth the steeper setup cost.
Migrating between policy engines is non-trivial. Practical guidance from the corpus:
# Kyverno policy to block privileged containers (enforce)
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: block-privileged
spec:
validationFailureAction: Enforce
rules:
- name: deny-privileged
match:
any:
- resources:
kinds:
- Pod
validate:
message: "Privileged containers are forbidden"
pattern:
spec:
containers:
- (securityContext):
privileged: "false"
```yaml
# Equivalent OPA/Gatekeeper constraint
apiVersion: templates.gatekeeper.sh/v1
kind: ConstraintTemplate
metadata:
name: k8sblockprivileged
spec:
crd:
spec:
names:
kind: K8sBlockPrivileged
targets:
- target: admission.k8s.gatekeeper.sh
rego: |
package k8sblockprivileged
violation[{{"msg": msg}}] {
container := input.review.object.spec.containers[_]
container.securityContext.privileged == true
msg := sprintf("Privileged container %v is forbidden", [container.name])
}
---
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sBlockPrivileged
metadata:
name: block-privileged
Beachten Sie, dass die Rego-Version sowohl eine ConstraintTemplate als auch eine Constraint Instanz erfordert, plus eine komplett neue DSL, die erlernt werden muss. Diese Verbosität ist der Grund, warum Kyverno bei der Adoption dominiert – die 8K Sterne gegenüber 4K Sternen für Gatekeeper spiegeln diese Lücke in der Developer Experience wider.
Für einen detaillierten Vergleich des Kyverno-Ansatzes zur Kubernetes-Sicherheit im KI-Zeitalter lesen Sie Kubescape 4.0: Kubernetes Security in the AI Era.
Scanning erkennt bekannte Schwachstellen. Runtime Security erkennt unbekannte Bedrohungen – bösartiges Verhalten, Crypto-Mining, Privilege Escalation und Datenexfiltration, die innerhalb laufender Container stattfinden.
| Tool | Sterne | Ansatz | Erkennungstypen |
|---|---|---|---|
| Falco | 9.264 | Syscall-Monitoring | Systemaufrufe, Dateizugriff, Netzwerk, Container-Drift |
| Tetragon | 4.918 | eBPF | Systemaufrufe, Prozessausführung, Netzwerk, Tracing |
| Tracee | 4.582 | eBPF | Systemaufrufe, Container, Signaturen, In-App-Angriffe |
| Kubescape | 11.601 | Hybrid (Scan + Runtime) | CIS/NIST, Image-Scanning, RBAC-Analyse |
Falco ist das CNCF Graduation Project für Runtime Security. Es überwacht Linux-Systemaufrufe und gleicht diese mit Regeln ab:
# Detect a shell spawned inside a container
- rule: Terminal Shell in Container
condition: >
spawned_process and container and
proc.name in (bash, sh, zsh) and
proc.pname != docker-entrypoint and
proc.pname != containerd
output: >
Terminal-Shell im Container gestartet
(user=%user.name container=%container.name
shell=%proc.name parent=%proc.pname cmdline=%proc.cmdline)
priority: WARNING
Falco outputs to standard streams, which you can route to Elasticsearch, Loki, Slack, or any alerting system.
Tetragon (from the Cilium team, 25K ⭐ for Cilium itself) uses eBPF instead of kernel modules — no kernel headers, no out-of-tree module compilation, better performance. It's the direction the ecosystem is heading.
This is the most common question in the runtime security space, and the corpus data doesn't answer it — neither tool has comparative academic evaluation. Here's what practitioners report:
| Factor | Falco | Tetragon |
|---|---|---|
| Maturity | CNCF graduated, 6+ years in production | CNCF incubating, 2+ years |
| Detection model | Rule-based (declarative YAML rules) | Tracing-based (policy hooks on process lifecycle) |
| Custom rules | Easy — write YAML rules, extensive community library | Harder — requires Go/JSON policies, fewer examples |
| Performance | Good, but adds kernel module overhead | Better — eBPF has lower overhead, especially at high event rates |
| Kernel compatibility | Requires kernel headers or prebuilt module | Better out-of-the-box (eBPF CO-RE reduces header dependency) |
| Visibility | Syscall-level (what happened) | Process lineage + network (what happened and what called it) |
| Multi-cluster | Falco Talon (sidecar) for federated alerting | Native Kubernetes-native architecture |
| Alerting | Rich: file output, webhook, Slack, ES, Loki | Built-in Grafana integration via Cilium Hubble |
Practical recommendation: If you're starting fresh and already use Cilium for networking, Tetragon integrates seamlessly — same daemonset model, same observability pipeline. If you have existing Falco rules or need the broader community rule library, stay with Falco. Both are production-viable.
Kubescape (11,601 ⭐) deserves special mention because it spans multiple layers simultaneously: image scanning (Layer 1), RBAC/pod security analysis (Layer 3), and compliance checking. It's the only tool in the corpus that attempts to cover the entire defense stack in one binary.
For teams that want a single tool to deploy and get "good enough" coverage across all layers, Kubescape is a pragmatic choice. For teams that want best-of-breed at each layer, the individual tools recommended in this guide will outperform it — but at the cost of managing multiple integrations.
For monitoring the observability stack that surfaces these security signals, see Production Observability Stack: Grafana, Prometheus, Loki.
Container supply chain attacks are the fastest-growing threat vector in the corpus data. The ecosystem has converged around the Sigstore project (535 ⭐ core, 6,206 ⭐ for cosign).
| Component | Stars | Purpose |
|---|---|---|
| Cosign | 6,206 | Container image signing and verification |
| Rekor | 1,193 | Transparency log (tamper-evident signing record) |
| Fulcio | — | Certificate authority (binds OIDC identity to signing key) |
# Ein Image nach dem Build signieren (in der CI-Pipeline)
cosign sign --key env://COSIGN_PRIVATE_KEY \
myregistry.com/app:v1.2.3
# Vor dem Deployment verifizieren (im Admission Controller oder Deployment-Skript)
cosign verify --key cosign.pub \
myregistry.com/app:v1.2.3
# Keyless-Signierung (OIDC-basiert, kein Key-Management)
cosign sign --yes myregistry.com/app:v1.2.3
cosign verify --certificate-identity=ci@github.com/myorg \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
myregistry.com/app:v1.2.3
For real-world examples of supply chain attacks in the npm ecosystem, see TanStack npm Supply Chain Attack: Anatomy of a Compromise.
Based on the corpus adoption data, here's a decision matrix for building a production Kubernetes security stack:
| Decision | Recommendation | Stars | Why |
|---|---|---|---|
| Image scanning | Trivy | 37K | Fastest, widest coverage, K8s operator |
| IaC scanning | Checkov | 9K | 800+ built-in checks, Terraform + K8s + Cloud |
| Source SAST | Semgrep | 16K | Custom rules, community registry |
| Secrets | Vault or Infisical | 36K / 29K | Vault for complex infra, Infisical for developer experience |
| Policy enforcement | Kyverno | 8K | YAML policies, no new language, mutating + validating |
| Runtime security | Falco (stable), Tetragon (modern) | 9K / 5K | Falco has maturity; Tetragon has eBPF performance |
| Supply chain | Cosign (keyless) | 6K | Sigstore ecosystem, OIDC-based, zero key management |
| Vulnerability management | Trivy Operator | 2K | Continuous cluster scanning with CRDs |
| RBAC audit | kubescape | 12K | CIS/NIST benchmarks, RBAC analysis, free tier |
Here's a production security pipeline that layers all five defenses:
# 1. PRE-COMMIT: SAST + Secrets-Erkennung
# .pre-commit-config.yaml
repos:
- repo: https://github.com/returntocorp/semgrep
hooks:
- id: semgrep
args: ["--config", "p/security-audit", "--error"]
- repo: https://github.com/gitleaks/gitleaks
hooks:
- id: gitleaks
# 2. CI PIPELINE: Image-Scan + Signierung (GitHub Actions)
jobs:
security:
steps:
- name: Build
run: buildah bud -t myregistry.com/app:$SHA .
- name: Scan
uses: aquasecurity/trivy-action@master
with:
image-ref: myregistry.com/app:$SHA
severity: CRITICAL,HIGH
exit-code: 1
- name: Sign
uses: sigstore/cosign-installer@main
- run: cosign sign --yes myregistry.com/app:$SHA
- name: IaC Check
uses: bridgecrewio/checkov-action@master
with:
directory: kubernetes/
# 3. ADMISSION: Kyverno image signature verification
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: verify-image-signature
spec:
validationFailureAction: Enforce
webhookTimeoutSeconds: 30
rules:
- name: verify-cosign-signature
match:
any:
- resources:
kinds:
- Pod
verifyImages:
- imageReferences:
- "myregistry.com/*"
attestors:
- entries:
- keys:
publicKeys: |-
-----BEGIN PUBLIC KEY-----
...
-----END PUBLIC KEY-----
attestations:
- type: https://scan.example.com/attestation/trivy
conditions:
- all:
- key: "{{components[].vulnerabilities[].severity}}"
operator: NotEquals
value: CRITICAL
# 4. RUNTIME: Falco config snippet
- source: syscall
condition: >
(container.id != host) and
(open_write and fd.name startswith /etc) and
not package_mgmt_apt_processes and
not user_known_write_configs
output: >
Suspicious file write to config directory
(user=%user.name container=%container.name
file=%fd.name)
priority: WARNING
# 5. SECRETS: External Secrets Operator
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: db-credentials
spec:
refreshInterval: 1h
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
target:
name: db-credentials
data:
- secretKey: password
remoteRef:
key: secret/data/db/prod
property: password
Based on the corpus adoption patterns, most teams add security layers incrementally. Here's a maturity model mapping team size and cluster scale to the minimum viable security stack:
# Minimum viable security stack
trivy image --exit-code 1 --severity CRITICAL myregistry.com/app:latest # Scanning
kubeseal < secret.yaml | kubectl apply -f - # Secrets
kyverno apply clusterpolicy --resource Pod=block-privileged # Policy
Drei Tools, drei abgedeckte Ebenen. Aufwand: ca. 1 Tag Engineering-Setup. Damit werden 80 % der gängigen Fehlkonfigurationen abgefangen.
Ergänzen Sie den Trivy Operator für kontinuierliches Scanning, SOPS für GitOps-native Secrets und ein einfaches Falco-Deployment zur Runtime-Erkennung. Implementieren Sie die Cosign-Signierung in den CI-Pipelines. Dies ist der Stack, bei dem die meisten Production-Teams landen.
Fügen Sie Vault für eine zentralisierte Secrets-Governance mit dynamischen Datenbank-Credentials hinzu. Setzen Sie Tetragon neben Falco für eBPF-basiertes Tracing ein. Implementieren Sie Checkov für das Scanning von Infrastructure-as-Code. Implementieren Sie Network Policies via Cilium. Nutzen Sie Kubescape für CIS/NIST-Compliance-Audits.
Alles aus Level 3 plus: Rekor-Transparenzlogs für die Supply-Chain-Provenienz, Kubewarden für komplexe Multi-Tenant-Admission-Policies, den External Secrets Operator für hybride Secret-Store-Umgebungen und benutzerdefinierte Falco/Tetragon-Regeln, die auf Ihr spezifisches Bedrohungsmodell abgestimmt sind. Eine Pipeline für kontinuierliches Compliance-Reporting, die in ein SIEM einspeist.
| Maturity Level | Tools (ca.) | Setup-Aufwand | Abgedeckte Ebenen |
|---|---|---|---|
| 1: Foundation | 3 (Trivy, Kyverno, Sealed Secrets) | 1 Tag | 1, 2, 3 |
| 2: Standard | 7 (+Trivy Operator, SOPS, Falco, Cosign) | 1 Woche | 1–5 |
| 3: Hardened | 12 (+Vault, Tetragon, Checkov, Cilium, Kubescape) | 1 Monat | 1–5 + Netzwerk |
| 4: Enterprise | 18+ (+Rekor, Kubewarden, external-secrets, SIEM) | 3+ Monate | Alle + Compliance |
Die Cross-Corpus-Analyse – ein Vergleich von 2.080 Repositories mit 2.840 Papers – deckt signifikante Forschungslücken bei den am weitesten verbreiteten Tools auf:
| Tool | Stars | Erwähnungen in Papers | Lücke |
|---|---|---|---|
| Trivy | 37K | 0 | Dominanter Scanner, keinerlei akademische Evaluation |
| Kyverno | 8K | 0 | Wachsende Policy-Engine, keine Vergleichsstudien |
| Falco | 9K | 0 | CNCF graduated, nicht untersucht |
| Cosign | 6K | 0 | Supply-Chain-Standard, keine empirischen Studien |
| Vault | 36K | 0 | Am häufigsten adoptiertes Secrets-Tool, keine formale Evaluation |
| Infisical | 29K | 0 | Schnellstwachsende Vault-Alternative, keine Forschung |
Das bedeutet, dass Production-Teams ihre Tooling-Entscheidungen ausschließlich auf Basis von Community-Signalen treffen – Stars, GitHub-Aktivität, Blog-Posts –, ohne dass es formale Evaluationen gibt, die Erkennungsraten, False-Positive-Raten, Performance-Overhead oder die Vollständigkeit der Konfiguration vergleichen.
Die Forschungslücke hat konkrete Auswirkungen:
Keine Benchmarks für False Positives. Man kann die Erkennungsraten von Trivy gegenüber Grype nicht anhand veröffentlichter Daten vergleichen. Teams müssen eigene Evaluationen mit demselben Image-Set durchführen und die Ergebnisse vergleichen – ein zeitaufwendiger, aber für regulierte Branchen notwendiger Prozess.
Performance-Aussagen sind ungeprüft. Der behauptete Overhead von Falco von „<5% CPU“ und der eBPF-Vorteil von Tetragon werden häufig zitiert, aber nie formal in kontrollierten Umgebungen gemessen. Das einzige akademische Paper zum eBPF-Monitoring-Overhead stammt vom Xen-Projekt (2018), nicht von Kubernetes.
Die Vollständigkeit der Konfiguration ist unbekannt. Die Policy-Library von Kyverno deckt über 60 Szenarien ab, aber niemand hat eine Analyse veröffentlicht, welcher Prozentsatz der CIS Kubernetes Benchmark-Controls tatsächlich durch die Community-Policies erzwungen wird.
Die Adoption von Supply-Chain-Signing ist unsichtbar. Cosign hat 6K Stars, aber wir wissen nicht, welcher Prozentsatz der Production-Cluster tatsächlich Image-Signaturen beim Admission-Prozess verifiziert. Die Tools existieren; die Daten zur operationalen Adoption fehlen.
Das Fehlen dieser Daten ist für Teams, die heute bauen, nicht zwangsläufig ein Problem (die Community-Adoption ist ein reales Signal), aber es bedeutet, dass unser Verständnis der tatsächlichen Effektivität dieser Tools auf anekdotische Belege beschränkt ist. Wenn Sie in der Position sind, vergleichende Daten zu veröffentlichen, benötigt die Community diese dringend.
Die ursprüngliche Cross-Corpus-Analyse finden Sie in der GitHub Research Corpus Analysis.