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
klar — Intégration de Clair et Docker Registry | Kitploit
Outils/GitHubGitHub/optiopay/klar
Scanners de VulnérabilitésSécurité des ConteneursAudit de ConfigurationDevSecOps
GitHuboptiopay/klar

klar

Intégration de Clair et Docker Registry

Voir le dépôt
503134il y a 2 ansVé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

Klar

Intégration de Clair et du registre Docker (supporte à la fois les API Clair v1 et v3)

Klar est un outil simple pour analyser les images stockées dans un registre Docker privé ou public à la recherche de vulnérabilités de sécurité en utilisant Clair https://github.com/coreos/clair. Klar est conçu pour être utilisé comme outil d'intégration, il repose donc sur des variables d'environnement. C'est un binaire unique qui ne nécessite aucune dépendance.

Klar sert de client qui coordonne les vérifications d'images entre le registre Docker et Clair.

Installation du binaire

La façon la plus simple est de télécharger la dernière version (pour OSX et Linux) depuis https://github.com/optiopay/klar/releases/ et de placer le binaire dans un dossier de votre PATH (assurez-vous qu'il a la permission d'exécution).

Installation à partir du code source

Assurez-vous d'avoir le compilateur Go installé et configuré https://golang.org/doc/install

Ensuite, exécutez

root@kitploit:~
go get github.com/optiopay/klar

assurez-vous que votre dossier binaire Go est dans votre PATH (par exemple export PATH=$PATH:/usr/local/go/bin)

Utilisation

Le processus Klar renvoie 0 si le nombre de vulnérabilités de haute sévérité détectées dans une image est inférieur ou égal à un seuil (voir ci-dessous) et 1 s'il y en avait plus. Il renverra 2 si une erreur a empêché l'analyse de l'image.

Klar peut être configuré via les variables d'environnement suivantes :

  • CLAIR_ADDR - adresse du serveur Clair. Elle a la forme protocol://host:port - protocol et port par défaut à http et 6060 respectivement et peuvent être omis. Vous pouvez également spécifier une authentification de base dans l'URL : protocol://login:password@host:port.

  • CLAIR_OUTPUT - seuil de niveau de sévérité, les vulnérabilités avec un niveau de sévérité supérieur ou égal à ce seuil seront affichées. Les niveaux supportés sont Unknown, Negligible, Low, Medium, High, Critical, . Par défaut, .

Utilisation :

root@kitploit:~
CLAIR_ADDR=localhost CLAIR_OUTPUT=High CLAIR_THRESHOLD=10 DOCKER_USER=docker DOCKER_PASSWORD=secret klar postgres:9.5.1

Sortie de débogage

Vous pouvez activer une sortie plus verbeuse en définissant KLAR_TRACE à true.

  • exécutez export KLAR_TRACE=true pour le conserver entre les exécutions.

Version dockerisée

Klar peut être dockerisé. Allez dans $GOPATH/src/github.com/optiopay/klar et construisez Klar à la racine du projet. Si vous êtes sous Linux :

root@kitploit:~
CGO_ENABLED=0 go build -a -installsuffix cgo .

Si vous êtes sous Mac, n'oubliez pas de le construire pour Linux :

root@kitploit:~
GOOS=linux go build .

Pour construire l'image Docker, exécutez à la racine du projet (remplacez klar par un nom complet si vous le souhaitez) :

root@kitploit:~
docker build -t klar .

Ensuite, passez les variables d'environnement en tant qu'arguments --env séparés, ou créez un fichier d'environnement et passez-le en argument --env-file. Par exemple, enregistrez les variables d'environnement sous my-klar.env :

root@kitploit:~
CLAIR_ADDR=localhost
CLAIR_OUTPUT=High
CLAIR_THRESHOLD=10
DOCKER_USER=docker
DOCKER_PASSWORD=secret

Puis exécutez

root@kitploit:~
docker run --env-file=my-klar.env klar postgres:9.5.1

Support Amazon ECR

Il n'y a pas de nom d'utilisateur/mot de passe permanent pour Amazon ECR, les identifiants doivent être récupérés en utilisant aws ecr get-login et ils sont valides pendant 12 heures. Voici un exemple de script qui peut être utilisé pour fournir à Klar les identifiants ECR :

root@kitploit:~
DOCKER_LOGIN=`aws ecr get-login --no-include-email`
PASSWORD=`echo $DOCKER_LOGIN | cut -d' ' -f6`
REGISTRY=`echo $DOCKER_LOGIN | cut -d' ' -f7 | sed "s/https:\/\///"`
DOCKER_USER=AWS DOCKER_PASSWORD=${PASSWORD} ./klar ${REGISTRY}/my-image

Support Google GCR

Pour l'authentification auprès de GCR (Google Cloud Registry), le moyen le plus simple est d'utiliser les informations d'identification par défaut de l'application. Celles-ci ne fonctionnent que lorsque Klar est exécuté depuis GCP. La seule exigence est le SDK Google Cloud.

root@kitploit:~
DOCKER_USER=oauth2accesstoken
DOCKER_PASSWORD="$(gcloud auth application-default print-access-token)"

Avec Docker :

root@kitploit:~
DOCKER_USER=oauth2accesstoken
DOCKER_PASSWORD="$(docker run --rm google/cloud-sdk:alpine gcloud auth application-default print-access-token)"
Télécharger l’outil
Defcon1
Unknown
  • CLAIR_THRESHOLD - combien de vulnérabilités affichées Klar peut tolérer avant de renvoyer 1. Par défaut 0.

  • CLAIR_TIMEOUT - délai d'attente en minutes avant que Klar n'annule l'analyse de l'image. Par défaut 1.

  • DOCKER_USER - nom du compte du registre Docker.

  • DOCKER_PASSWORD - mot de passe du compte du registre Docker.

  • DOCKER_TOKEN - jeton du compte du registre Docker. (Peut être utilisé à la place de DOCKER_USER et DOCKER_PASSWORD)

  • DOCKER_INSECURE - Permettre à Klar d'accéder aux registres avec des certificats SSL invalides. Par défaut false. Clair devra être démarré avec -insecure-tls pour que cela fonctionne.

  • DOCKER_TIMEOUT - délai d'attente en minutes lors de la tentative de récupération des couches d'un registre Docker.

  • DOCKER_PLATFORM_OS - Le système d'exploitation de l'image Docker. Par défaut linux. Cela ne doit être défini que si l'image spécifiée fait référence à une ManifestList Docker plutôt qu'à un manifeste habituel.

  • DOCKER_PLATFORM_ARCH - L'architecture pour laquelle l'image Docker est optimisée. Par défaut amd64. Cela ne doit être défini que si l'image spécifiée fait référence à une ManifestList Docker plutôt qu'à un manifeste habituel.

  • REGISTRY_INSECURE - Permettre à Klar d'accéder aux registres non sécurisés (HTTP uniquement). Par défaut false.

  • JSON_OUTPUT - Sortie en JSON, pas en texte brut. Par défaut false.

  • FORMAT_OUTPUT - Format de sortie des vulnérabilités. Les formats supportés sont standard, json, table. Par défaut standard. Si JSON_OUTPUT est défini sur true, cette option est ignorée.

  • WHITELIST_FILE - Chemin vers le fichier YAML avec la liste blanche des CVE. Regardez whitelist-example.yaml pour le format du fichier.

  • IGNORE_UNFIXED - Ne pas compter les vulnérabilités sans correctif vers le seuil.