Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
klar — Integración de Clair y Docker Registry | Kitploit
Herramientas/GitHubGitHub/optiopay/klar
Escáneres de VulnerabilidadesSeguridad de ContenedoresAuditoría de ConfiguraciónDevSecOps
GitHuboptiopay/klar

klar

Integración de Clair y Docker Registry

Ver Repositorio
503134hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Klar

Integración de Clair y Docker Registry (soporta tanto API v1 como v3 de Clair)

Klar es una herramienta sencilla para analizar imágenes almacenadas en un registro Docker privado o público en busca de vulnerabilidades de seguridad usando Clair https://github.com/coreos/clair. Klar está diseñado para ser utilizado como una herramienta de integración, por lo que se basa en variables de entorno. Es un único binario que no requiere dependencias.

Klar actúa como un cliente que coordina las comprobaciones de imágenes entre el registro Docker y Clair.

Instalación del binario

La forma más sencilla es descargar la última versión (para OSX y Linux) desde https://github.com/optiopay/klar/releases/ y colocar el binario en una carpeta en tu PATH (asegúrate de que tenga permiso de ejecución).

Instalación desde el código fuente

Asegúrate de tener instalado y configurado el compilador del lenguaje Go https://golang.org/doc/install

Luego ejecuta

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

asegúrate de que tu carpeta de binarios de Go esté en tu PATH (ej. export PATH=$PATH:/usr/local/go/bin)

Uso

El proceso de Klar devuelve 0 si el número de vulnerabilidades de alta gravedad detectadas en una imagen es menor o igual a un umbral (ver más abajo) y 1 si hay más. Devolverá 2 si un error ha impedido que la imagen sea analizada.

Klar se puede configurar mediante las siguientes variables de entorno:

  • CLAIR_ADDR - dirección del servidor Clair. Tiene la forma de protocol://host:port - protocol y port por defecto son http y 6060 respectivamente y pueden omitirse. También se puede especificar autenticación básica en la URL: protocol://login:password@host:port.

  • CLAIR_OUTPUT - nivel de umbral de gravedad, las vulnerabilidades con nivel de gravedad mayor o igual a este umbral se mostrarán. Los niveles soportados son Unknown, Negligible, Low, Medium, High, Critical, . El valor predeterminado es .

Uso:

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

Salida de depuración

Puedes habilitar una salida más detallada configurando KLAR_TRACE como true.

  • ejecuta export KLAR_TRACE=true para que persista entre ejecuciones.

Versión Dockerizada

Klar se puede dockerizar. Ve a $GOPATH/src/github.com/optiopay/klar y compila Klar en la raíz del proyecto. Si estás en Linux:

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

Si estás en Mac, no olvides compilarlo para Linux:

root@kitploit:~
GOOS=linux go build .

Para construir la imagen Docker, ejecuta en la raíz del proyecto (reemplaza klar con el nombre completamente calificado si lo deseas):

root@kitploit:~
docker build -t klar .

Luego pasa las variables de entorno como argumentos --env separados, o crea un archivo de entorno y pásalo como argumento --env-file. Por ejemplo, guarda las variables de entorno como my-klar.env:

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

Luego ejecuta

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

Soporte para Amazon ECR

No hay un nombre de usuario/contraseña permanente para Amazon ECR; las credenciales deben obtenerse usando aws ecr get-login y son válidas por 12 horas. Aquí hay un script de ejemplo que se puede usar para proporcionar credenciales ECR a Klar:

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

Soporte para Google GCR

Para la autenticación contra GCR (Google Cloud Registry), la forma más sencilla es usar las credenciales predeterminadas de la aplicación. Estas solo funcionan cuando se ejecuta Klar desde GCP. El único requisito es el Google Cloud SDK.

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

Con Docker:

root@kitploit:~
DOCKER_USER=oauth2accesstoken
DOCKER_PASSWORD="$(docker run --rm google/cloud-sdk:alpine gcloud auth application-default print-access-token)"
Descargar herramienta
Defcon1
Unknown
  • CLAIR_THRESHOLD - cuántas vulnerabilidades mostradas puede tolerar Klar antes de devolver 1. El valor predeterminado es 0.

  • CLAIR_TIMEOUT - tiempo de espera en minutos antes de que Klar cancele el escaneo de la imagen. El valor predeterminado es 1

  • DOCKER_USER - nombre de cuenta del registro Docker.

  • DOCKER_PASSWORD - contraseña de la cuenta del registro Docker.

  • DOCKER_TOKEN - token de la cuenta del registro Docker. (Se puede usar en lugar de DOCKER_USER y DOCKER_PASSWORD)

  • DOCKER_INSECURE - Permite que Klar acceda a registros con certificados SSL no válidos. El valor predeterminado es false. Clair deberá iniciarse con -insecure-tls para que esto funcione.

  • DOCKER_TIMEOUT - tiempo de espera en minutos al intentar obtener capas de un registro Docker

  • DOCKER_PLATFORM_OS - El sistema operativo de la imagen Docker. El valor predeterminado es linux. Esto solo es necesario si la imagen especificada hace referencia a un ManifestList de Docker en lugar de un manifiesto habitual.

  • DOCKER_PLATFORM_ARCH - La arquitectura para la que la imagen Docker está optimizada. El valor predeterminado es amd64. Esto solo es necesario si la imagen especificada hace referencia a un ManifestList de Docker en lugar de un manifiesto habitual.

  • REGISTRY_INSECURE - Permite que Klar acceda a registros no seguros (solo HTTP). El valor predeterminado es false.

  • JSON_OUTPUT - Salida en JSON, no en texto plano. El valor predeterminado es false.

  • FORMAT_OUTPUT - Formato de salida de las vulnerabilidades. Los formatos soportados son standard, json, table. El valor predeterminado es standard. Si JSON_OUTPUT está configurado como true, esta opción se ignora.

  • WHITELIST_FILE - Ruta al archivo YAML con la lista blanca de CVE. Consulta whitelist-example.yaml para el formato del archivo.

  • IGNORE_UNFIXED - No contar las vulnerabilidades sin una solución hacia el umbral