Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
kube-linter — KubeLinter est un outil d'analyse statique qui vérifie les fichiers YAML Kubernetes et les charts Helm afin de garantir que les applications qu'ils représentent respectent les bonnes pratiques. | Kitploit
Outils/GitHubGitHub/stackrox/kube-linter
Analyse StatiqueSécurité des ConteneursAudit de ConfigurationSécurité CloudDevSecOpsMauvaise Configuration
GitHubstackrox/kube-linter

kube-linter

KubeLinter est un outil d'analyse statique qui vérifie les fichiers YAML Kubernetes et les charts Helm afin de garantir que les applications qu'ils représentent respectent les bonnes pratiques.

Voir le dépôt
3.5k273il y a 3 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

Analyse statique pour Kubernetes

Go Report Card

Qu'est-ce que KubeLinter ?

KubeLinter analyse les fichiers YAML Kubernetes, les charts Helm et les manifests Kustomize, et les vérifie par rapport à diverses bonnes pratiques, en mettant l'accent sur la préparation à la production et la sécurité.

KubeLinter exécute des vérifications par défaut pertinentes, conçues pour vous donner des informations utiles sur vos fichiers YAML Kubernetes, charts Helm et manifests Kustomize. Cela vise à aider les équipes à vérifier tôt et souvent les erreurs de configuration de sécurité et les bonnes pratiques DevOps. Quelques exemples courants incluent l'exécution de conteneurs en tant qu'utilisateur non root, l'application du moindre privilège et le stockage des informations sensibles uniquement dans des secrets.

KubeLinter est configurable, vous pouvez donc activer et désactiver des vérifications, ainsi que créer vos propres vérifications personnalisées, selon les politiques que vous souhaitez suivre au sein de votre organisation.

Lorsqu'une vérification de lint échoue, KubeLinter signale des recommandations pour résoudre les problèmes potentiels et renvoie un code de sortie non nul.

Documentation

Consultez https://docs.kubelinter.io pour une documentation détaillée sur l'installation, l'utilisation et la configuration de KubeLinter.

Installation de KubeLinter

Les binaires de Kube-linter sont disponibles ici : https://github.com/stackrox/kube-linter/releases/latest

Utilisation de Go

Pour installer via Go, exécutez la commande suivante :

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

Sinon, téléchargez le dernier binaire depuis Releases et ajoutez-le à votre PATH.

Utilisation de Homebrew pour macOS ou LinuxBrew pour Linux

Pour installer avec Homebrew ou LinuxBrew, exécutez la commande suivante :

root@kitploit:~
brew install kube-linter

Utilisation de nix-shell

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

Utilisation de Docker

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

Développement

Prérequis

  • Assurez-vous d'avoir installé Go avant de compiler à partir des sources.

Compilation de KubeLinter

Installer KubeLinter à partir des sources est aussi simple que de suivre ces étapes :

  1. Tout d'abord, clonez le dépôt KubeLinter.

    root@kitploit:~
    git clone [email protected]:stackrox/kube-linter.git
    
  2. Ensuite, compilez le code source. Cela créera les fichiers binaires kube-linter pour chaque plateforme et les placera dans le dossier .gobin.

    root@kitploit:~
    make build
    
  3. Enfin, vous êtes prêt à utiliser KubeLinter. Vérifiez votre version pour vous assurer que KubeLinter a bien été installé.

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

Test de KubeLinter

Il existe plusieurs niveaux de tests. Chaque niveau doit réussir.

  1. Tests unitaires go :

    root@kitploit:~
    make test
    
  2. Tests d'intégration de bout en bout :

    root@kitploit:~
    make e2e-test
    
  3. et enfin, les tests d'intégration de bout en bout avec bats-core :

    root@kitploit:~
    make e2e-bats
    

Vérification des images KubeLinter

Les images KubeLinter sont signées par cosign. Nous recommandons de vérifier l'image avant de l'utiliser.

Une fois cosign installé, vous pouvez utiliser la clé publique KubeLinter pour vérifier l'image KubeLinter avec :

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 fournit également des signatures cosign sans clé.

Vous pouvez vérifier l'image KubeLinter avec :

root@kitploit:~
# NOTE: Keyless signatures are NOT PRODUCTION ready.

COSIGN_EXPERIMENTAL=1 cosign verify $IMAGE_NAME

Utilisation de KubeLinter

Lint local de YAML

Exécuter KubeLinter pour linter vos fichiers YAML ne nécessite que deux étapes dans sa forme la plus simple.

  1. Localisez le fichier YAML que vous souhaitez tester pour les bonnes pratiques de sécurité et de préparation à la production :

  2. Exécutez la commande suivante :

    root@kitploit:~
    kube-linter lint /path/to/your/yaml.yaml
    

Exemple

Considérez le fichier exemple de spécification de pod pod.yaml suivant. Ce fichier présente deux problèmes de préparation à la production et un problème de sécurité :

Problème de sécurité :

  1. Le conteneur de ce pod ne fonctionne pas avec un système de fichiers en lecture seule, ce qui pourrait lui permettre d'écrire sur le système de fichiers racine.

Préparation à la production :

  1. Les limites de mémoire du conteneur ne sont pas définies, ce qui pourrait lui permettre de consommer une mémoire excessive

    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. Copiez le YAML ci-dessus dans pod.yaml et lintez ce fichier en exécutant la commande suivante :

    root@kitploit:~
    kube-linter lint pod.yaml
    
  3. KubeLinter exécute ses vérifications par défaut et signale des recommandations. Voici la sortie de notre commande précédente.

    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
    

Formats de sortie multiples

KubeLinter prend en charge la génération de plusieurs formats de sortie en une seule exécution. Cela est utile pour générer à la fois des rapports lisibles par l'humain et par la machine :

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

Cette commande va :

  • Générer un rapport au format SARIF dans kube-linter.sarif
  • Générer un rapport au format JSON dans kube-linter.json
  • Traiter les fichiers une seule fois, améliorant ainsi l'efficacité

Remarque : Les formats multiples nécessitent des drapeaux --output explicites. Pour une sortie mono-format vers stdout, utilisez un seul drapeau --format sans --output.

Pour plus de détails sur l'utilisation de plusieurs formats de sortie, consultez la documentation.

Pour en savoir plus sur l'utilisation et la configuration de KubeLinter, consultez la page de documentation.

Mentions/Tutoriels

Voici des tutoriels sur KubeLinter écrits par des utilisateurs. Si vous souhaitez en ajouter un à cette liste, envoyez une PR !

  • Garantir les bonnes pratiques YAML avec KubeLinter sur civo.com par Saiyam Pathak.
  • Analyser les fichiers Kubernetes pour détecter les erreurs avec KubeLinter sur opensource.com par Jessica Cherry.
  • Comment ajouter une nouvelle vérification dans KubeLinter ? par Priyanka Saggu.
  • Étendre kube-linter pour créer un modèle personnalisé par Gareth Healy.

LICENCE

KubeLinter est sous licence Apache License 2.0.

Communauté

Si vous souhaitez interagir avec la communauté KubeLinter, y compris les mainteneurs et les autres utilisateurs, vous pouvez rejoindre l'espace de travail Slack ici.

Des changements de rupture pourront survenir à l'avenir concernant l'utilisation des commandes, les drapeaux et les formats de fichiers de configuration. Cependant, nous vous encourageons à utiliser KubeLinter pour tester vos fichiers YAML d'environnement, voir ce qui casse, et contribuer.

Pour rappel, toute participation à la communauté KubeLinter est régie par notre code de conduite.


KubeLinter est créé avec ❤️ par StackRox et est désormais propulsé par Red Hat.

Télécharger l’outil