Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
klar — Integração do Clair e do Docker Registry | Kitploit
Ferramentas/GitHubGitHub/optiopay/klar
Scanners de VulnerabilidadesSegurança de ContêineresAuditoria de ConfiguraçãoDevSecOps
GitHuboptiopay/klar

klar

Integração do Clair e do Docker Registry

Ver Repositório
503134há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Klar

Integração do Clair e do Docker Registry (suporta tanto a API v1 quanto a v3 do Clair)

Klar é uma ferramenta simples para analisar imagens armazenadas em um registro Docker público ou privado em busca de vulnerabilidades de segurança usando Clair https://github.com/coreos/clair. Klar foi projetado para ser usado como uma ferramenta de integração, por isso depende de variáveis de ambiente. É um binário único que não requer dependências.

Klar serve como um cliente que coordena as verificações de imagem entre o registro Docker e o Clair.

Instalação binária

A maneira mais simples é baixar a versão mais recente (para OSX e Linux) de https://github.com/optiopay/klar/releases/ e colocar o binário em uma pasta no seu PATH (certifique-se de que tenha permissão de execução).

Instalação a partir do código fonte

Certifique-se de ter o compilador Go instalado e configurado https://golang.org/doc/install

Então execute

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

certifique-se de que a pasta de binários Go está no seu PATH (ex.: export PATH=$PATH:/usr/local/go/bin)

Uso

O processo Klar retorna 0 se o número de vulnerabilidades de alta gravidade detectadas em uma imagem for menor ou igual a um limite (veja abaixo) e 1 se houver mais. Ele retornará 2 se um erro impedir a análise da imagem.

Klar pode ser configurado através das seguintes variáveis de ambiente:

  • CLAIR_ADDR - endereço do servidor Clair. Ele tem a forma protocol://host:port - protocol e port são padronizados para http e 6060 respectivamente e podem ser omitidos. Você também pode especificar autenticação básica na URL: protocol://login:password@host:port.

  • CLAIR_OUTPUT - limite do nível de gravidade, vulnerabilidades com nível de gravidade maior ou igual a este limite serão exibidas. Níveis suportados são Unknown, Negligible, Low, Medium, High, Critical, . O padrão é .

Uso:

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

Saída de depuração

Você pode ativar uma saída mais detalhada configurando KLAR_TRACE como true.

  • execute export KLAR_TRACE=true para persistir entre execuções.

Versão Dockerizada

Klar pode ser dockerizado. Vá para $GOPATH/src/github.com/optiopay/klar e construa Klar na raiz do projeto. Se você estiver no Linux:

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

Se você estiver no Mac, não se esqueça de compilá-lo para Linux:

root@kitploit:~
GOOS=linux go build .

Para construir a imagem Docker, execute na raiz do projeto (substitua klar pelo nome totalmente qualificado se desejar):

root@kitploit:~
docker build -t klar .

Em seguida, passe as variáveis de ambiente como argumentos --env separados ou crie um arquivo de ambiente e passe-o como argumento --env-file. Por exemplo, salve as variáveis de ambiente como my-klar.env:

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

Então execute

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

Suporte ao Amazon ECR

Não há nome de usuário/senha permanente para o Amazon ECR, as credenciais devem ser recuperadas usando aws ecr get-login e são válidas por 12 horas. Aqui está um script de exemplo que pode ser usado para fornecer credenciais ECR ao 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

Suporte ao Google GCR

Para autenticação no GCR (Google Cloud Registry), a maneira mais fácil é usar as credenciais padrão da aplicação. Elas funcionam apenas ao executar o Klar no GCP. O único requisito é o Google Cloud SDK.

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

Com Docker:

root@kitploit:~
DOCKER_USER=oauth2accesstoken
DOCKER_PASSWORD="$(docker run --rm google/cloud-sdk:alpine gcloud auth application-default print-access-token)"
Baixar ferramenta
Defcon1
Unknown
  • CLAIR_THRESHOLD - quantas vulnerabilidades exibidas Klar pode tolerar antes de retornar 1. O padrão é 0.

  • CLAIR_TIMEOUT - tempo limite em minutos antes de Klar cancelar a digitalização da imagem. O padrão é 1.

  • DOCKER_USER - nome da conta do registro Docker.

  • DOCKER_PASSWORD - senha da conta do registro Docker.

  • DOCKER_TOKEN - token da conta do registro Docker. (Pode ser usado no lugar de DOCKER_USER e DOCKER_PASSWORD)

  • DOCKER_INSECURE - Permitir que Klar acesse registros com certificados SSL inválidos. O padrão é false. Clair precisará ser iniciado com -insecure-tls para que isso funcione.

  • DOCKER_TIMEOUT - tempo limite em minutos ao tentar buscar camadas de um registro Docker

  • DOCKER_PLATFORM_OS - O sistema operacional da imagem Docker. O padrão é linux. Isso só precisa ser definido se a imagem especificada fizer referência a um ManifestList Docker em vez de um manifesto usual.

  • DOCKER_PLATFORM_ARCH - A arquitetura para a qual a imagem Docker é otimizada. O padrão é amd64. Isso só precisa ser definido se a imagem especificada fizer referência a um ManifestList Docker em vez de um manifesto usual.

  • REGISTRY_INSECURE - Permitir que Klar acesse registros inseguros (apenas HTTP). O padrão é false.

  • JSON_OUTPUT - Exibir JSON, não texto simples. O padrão é false.

  • FORMAT_OUTPUT - Formato de saída das vulnerabilidades. Formatos suportados são standard, json, table. O padrão é standard. Se JSON_OUTPUT estiver definido como true, esta opção é ignorada.

  • WHITELIST_FILE - Caminho para o arquivo YAML com a whitelist de CVEs. Veja whitelist-example.yaml para o formato do arquivo.

  • IGNORE_UNFIXED - Não contar vulnerabilidades sem correção em relação ao limite