Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
kube-linter — KubeLinter ist ein statisches Analysewerkzeug, das Kubernetes-YAML-Dateien und Helm-Charts prüft, um sicherzustellen, dass die darin dargestellten Anwendungen Best Practices einhalten. | Kitploit
Tools/GitHubGitHub/stackrox/kube-linter
Statische AnalyseContainer-SicherheitKonfigurationsprüfungCloud-SicherheitDevSecOpsFehlkonfiguration
GitHubstackrox/kube-linter

kube-linter

KubeLinter ist ein statisches Analysewerkzeug, das Kubernetes-YAML-Dateien und Helm-Charts prüft, um sicherzustellen, dass die darin dargestellten Anwendungen Best Practices einhalten.

Repository anzeigen
3.5k273vor 3 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

Statische Analyse für Kubernetes

Go Report Card

Was ist KubeLinter?

KubeLinter analysiert Kubernetes-YAML-Dateien, Helm-Charts und Kustomize-Manifeste und prüft sie anhand einer Vielzahl von Best Practices, mit dem Schwerpunkt auf Produktionsreife und Sicherheit.

KubeLinter führt sinnvolle Standardprüfungen durch, die darauf ausgelegt sind, nützliche Informationen über Ihre Kubernetes-YAML-Dateien, Helm-Charts und Kustomize-Manifeste zu liefern. Dies soll Teams dabei helfen, frühzeitig und regelmäßig auf Sicherheitsfehlkonfigurationen und DevOps-Best Practices zu prüfen. Einige häufige Beispiele hierfür sind das Ausführen von Containern als Nicht-Root-Benutzer, die Durchsetzung von Least Privilege und das Speichern sensibler Informationen ausschließlich in Secrets.

KubeLinter ist konfigurierbar, sodass Sie Prüfungen aktivieren und deaktivieren sowie eigene benutzerdefinierte Prüfungen erstellen können, je nach den Richtlinien, die Sie in Ihrer Organisation befolgen möchten.

Wenn eine Lint-Prüfung fehlschlägt, meldet KubeLinter Empfehlungen zur Behebung möglicher Probleme und gibt einen Exit-Code ungleich Null zurück.

Dokumentation

Besuchen Sie https://docs.kubelinter.io für eine ausführliche Dokumentation zur Installation, Verwendung und Konfiguration von KubeLinter.

KubeLinter installieren

Kube-Linter-Binärdateien finden Sie hier: https://github.com/stackrox/kube-linter/releases/latest

Mit Go

Führen Sie zur Installation mit Go den folgenden Befehl aus:

root@kitploit:~
go install golang.stackrox.io/kube-linter/cmd/kube-linter@latest

Andernfalls laden Sie die neueste Binärdatei von Releases herunter und fügen Sie sie Ihrem PATH hinzu.

Mit Homebrew für macOS oder LinuxBrew für Linux

Führen Sie zur Installation mit Homebrew oder LinuxBrew den folgenden Befehl aus:

root@kitploit:~
brew install kube-linter

Mit nix-shell

root@kitploit:~
nix-shell -p kube-linter

Mit Docker

root@kitploit:~
docker pull stackrox/kube-linter:latest

Entwicklung

Voraussetzungen

  • Stellen Sie sicher, dass Sie Go installiert haben, bevor Sie aus dem Quellcode erstellen.

KubeLinter erstellen

Die Installation von KubeLinter aus dem Quellcode ist so einfach wie die folgenden Schritte:

  1. Klonen Sie zunächst das KubeLinter-Repository.

    root@kitploit:~
    git clone [email protected]:stackrox/kube-linter.git
    
  2. Kompilieren Sie dann den Quellcode. Dadurch werden die kube-linter-Binärdateien für jede Plattform erstellt und im Ordner .gobin abgelegt.

    root@kitploit:~
    make build
    
  3. Schließlich können Sie KubeLinter verwenden. Überprüfen Sie Ihre Version, um sicherzustellen, dass Sie KubeLinter erfolgreich installiert haben.

    root@kitploit:~
    .gobin/kube-linter version
    

KubeLinter testen

Es gibt mehrere Testebenen. Jede Ebene muss bestanden werden.

  1. go-Unit-Tests:

    root@kitploit:~
    make test
    
  2. End-to-End-Integrationstests:

    root@kitploit:~
    make e2e-test
    
  3. Und schließlich End-to-End-Integrationstests mit bats-core:

    root@kitploit:~
    make e2e-bats
    

KubeLinter-Images verifizieren

KubeLinter-Images sind mit cosign signiert. Wir empfehlen, das Image vor der Verwendung zu verifizieren.

Sobald Sie cosign installiert haben, können Sie den öffentlichen KubeLinter-Schlüssel verwenden, um das KubeLinter-Image zu verifizieren:

root@kitploit:~
cat kubelinter-cosign.pub
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEl0HCkCRzYv0qH5QiazoXeXe2qwFX
DmAszeH26g1s3OSsG/focPWkN88wEKQ5eiE95v+Z2snUQPl/mjPdvqpyjA==
-----END PUBLIC KEY-----


cosign verify --key kubelinter-cosign $IMAGE_NAME

KubeLinter bietet auch cosign-Schlüssellose Signaturen an.

Sie können das KubeLinter-Image mit folgendem Befehl verifizieren:

root@kitploit:~
# HINWEIS: Schlüssellose Signaturen sind NICHT PRODUKTIONSREIF.

COSIGN_EXPERIMENTAL=1 cosign verify $IMAGE_NAME

KubeLinter verwenden

Lokales YAML-Linting

Die Verwendung von KubeLinter zum Linten Ihrer YAML-Dateien erfordert in seiner einfachsten Form nur zwei Schritte.

  1. Suchen Sie die YAML-Datei, die Sie auf Sicherheits- und Produktionsreife-Best Practices testen möchten:

  2. Führen Sie den folgenden Befehl aus:

    root@kitploit:~
    kube-linter lint /pfad/zu/ihrer/yaml.yaml
    

Beispiel

Betrachten Sie die folgende Beispiel-Pod-Spezifikationsdatei pod.yaml. Diese Datei weist zwei Probleme in Bezug auf die Produktionsreife und ein Sicherheitsproblem auf:

Sicherheitsproblem:

  1. Der Container in diesem Pod läuft nicht mit einem schreibgeschützten Dateisystem, was ihm ermöglichen könnte, in das Root-Dateisystem zu schreiben.

Produktionsreife:

  1. Die Speicherlimits des Containers sind nicht festgelegt, was dazu führen könnte, dass er übermäßig viel Speicher verbraucht

    root@kitploit:~
    apiVersion: v1
    kind: Pod
    metadata:
      name: security-context-demo
    spec:
      securityContext:
        runAsUser: 1000
        runAsGroup: 3000
        fsGroup: 2000
      volumes:
      - name: sec-ctx-vol
        emptyDir: {}
      containers:
      - name: sec-ctx-demo
        image: busybox
        resources:
          requests:
            memory: "64Mi"
            cpu: "250m"
        command: [ "sh", "-c", "sleep 1h" ]
        volumeMounts:
        - name: sec-ctx-vol
          mountPath: /data/demo
        securityContext:
          allowPrivilegeEscalation: false
    
  2. Kopieren Sie das obige YAML in pod.yaml und linten Sie diese Datei, indem Sie den folgenden Befehl ausführen:

    root@kitploit:~
    kube-linter lint pod.yaml
    
  3. KubeLinter führt seine Standardprüfungen durch und meldet Empfehlungen. Unten ist die Ausgabe unseres vorherigen Befehls.

    root@kitploit:~
    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) The container "sec-ctx-demo" is using an invalid container image, "busybox". Please use images that are not blocked by the `BlockList` criteria : [".*:(latest)$" "^[^:]*$" "(.*/[^:]+)$"] (check: latest-tag, remediation: Use a container image with a specific tag other than latest.)
    
    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) container "sec-ctx-demo" does not have a read-only root file system (check: no-read-only-root-fs, remediation: Set readOnlyRootFilesystem to true in the container securityContext.)
    
    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) container "sec-ctx-demo" has memory limit 0 (check: unset-memory-requirements, remediation: Set memory limits for your container based on its requirements. Refer to https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits for details.)
    
    Error: found 3 lint errors
    

Mehrere Ausgabeformate

KubeLinter unterstützt die Erzeugung mehrerer Ausgabeformate in einem einzigen Lauf. Dies ist nützlich, um gleichzeitig sowohl menschenlesbare als auch maschinenlesbare Berichte zu erstellen:

root@kitploit:~
kube-linter lint \
  --format sarif --output kube-linter.sarif \
  --format json --output kube-linter.json \
  --config .kube-linter.yaml \
  pod.yaml

Dieser Befehl wird:

  • Einen Bericht im SARIF-Format in kube-linter.sarif erzeugen
  • Einen Bericht im JSON-Format in kube-linter.json erzeugen
  • Die Dateien nur einmal verarbeiten, was die Effizienz verbessert

Hinweis: Mehrere Formate erfordern explizite --output-Flags. Für die Ausgabe eines einzelnen Formats auf stdout verwenden Sie nur ein --format-Flag ohne --output.

Weitere Details zur Verwendung mehrerer Ausgabeformate finden Sie in der Dokumentation.

Um mehr über die Verwendung und Konfiguration von KubeLinter zu erfahren, besuchen Sie die Dokumentationsseite.

Erwähnungen/Tutorials

Die folgenden Tutorials zu KubeLinter wurden von Benutzern geschrieben. Wenn Sie eines haben, das Sie zu dieser Liste hinzufügen möchten, senden Sie bitte einen PR!

  • Ensuring YAML best practices using KubeLinter auf civo.com von Saiyam Pathak.
  • Analyze Kubernetes files for errors with KubeLinter auf opensource.com von Jessica Cherry.
  • How to add a new check in KubeLinter? von Priyanka Saggu.
  • Extending kube-linter To Build A Custom Template von Gareth Healy.

LIZENZ

KubeLinter ist unter der Apache License 2.0 lizenziert.

Community

Wenn Sie sich mit der KubeLinter-Community austauschen möchten, einschließlich Maintainern und anderen Benutzern, können Sie dem Slack-Workspace hier beitreten.

In Zukunft kann es zu bahnbrechenden Änderungen an der Befehlsnutzung, den Flags und den Konfigurationsdateiformaten kommen. Wir ermutigen Sie jedoch, KubeLinter zu verwenden, um Ihre Umgebungs-YAML-Dateien zu testen, zu sehen, was bricht, und beizutragen.

Zur Erinnerung: Die gesamte Teilnahme an der KubeLinter-Community unterliegt unserem Verhaltenskodex.


KubeLinter wurde mit ❤️ von StackRox erstellt und wird jetzt von Red Hat unterstützt.

Tool herunterladen