Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
klar — Integrazione di Clair e Docker Registry | Kitploit
Strumenti/GitHubGitHub/optiopay/klar
Scanner di VulnerabilitàSicurezza dei ContenitoriAudit di ConfigurazioneDevSecOps
GitHuboptiopay/klar

klar

Integrazione di Clair e Docker Registry

Vedi Repository
5031342 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Klar

Integrazione di Clair e Docker Registry (supporta sia Clair API v1 che v3)

Klar è un semplice strumento per analizzare le immagini archiviate in un registro Docker privato o pubblico per vulnerabilità di sicurezza utilizzando Clair https://github.com/coreos/clair. Klar è progettato per essere utilizzato come strumento di integrazione, quindi si basa su variabili d'ambiente. È un singolo binario che non richiede dipendenze.

Klar funge da client che coordina i controlli delle immagini tra il registro Docker e Clair.

Installazione del binario

Il modo più semplice è scaricare l'ultima release (per OSX e Linux) da https://github.com/optiopay/klar/releases/ e posizionare il binario in una cartella nel tuo PATH (assicurati che abbia il permesso di esecuzione).

Installazione dal codice sorgente

Assicurati di avere il compilatore Go installato e configurato https://golang.org/doc/install

Quindi esegui

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

assicurati che la cartella dei binari Go sia nel tuo PATH (es. export PATH=$PATH:/usr/local/go/bin)

Utilizzo

Il processo Klar restituisce 0 se il numero di vulnerabilità ad alta gravità rilevate in un'immagine è minore o uguale a una soglia (vedi sotto) e 1 se sono di più. Restituirà 2 se un errore ha impedito l'analisi dell'immagine.

Klar può essere configurato tramite le seguenti variabili d'ambiente:

  • CLAIR_ADDR - indirizzo del server Clair. Ha la forma protocol://host:port - protocol e port predefiniti sono rispettivamente http e 6060 e possono essere omessi. Puoi anche specificare l'autenticazione di base nell'URL: protocol://login:password@host:port.

  • CLAIR_OUTPUT - soglia del livello di gravità; le vulnerabilità con livello di gravità maggiore o uguale a questa soglia verranno mostrate. I livelli supportati sono Unknown, Negligible, Low, Medium, High, Critical, . Il valore predefinito è .

Utilizzo:

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

Output di debug

Puoi abilitare un output più verboso impostando KLAR_TRACE su true.

  • esegui export KLAR_TRACE=true per renderlo persistente tra le esecuzioni.

Versione dockerizzata

Klar può essere dockerizzato. Vai a $GOPATH/src/github.com/optiopay/klar e compila Klar nella root del progetto. Se sei su Linux:

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

Se sei su Mac non dimenticare di compilare per Linux:

root@kitploit:~
GOOS=linux go build .

Per creare l'immagine Docker esegui nella root del progetto (sostituisci klar con il nome completo se preferisci):

root@kitploit:~
docker build -t klar .

Quindi passa le variabili d'ambiente come argomenti --env separati, oppure crea un file env e passalo come argomento --env-file. Ad esempio, salva le variabili d'ambiente come my-klar.env:

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

Quindi esegui

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

Supporto Amazon ECR

Non esiste un nome utente/password permanente per Amazon ECR; le credenziali devono essere recuperate usando aws ecr get-login e sono valide per 12 ore. Ecco uno script di esempio che può essere utilizzato per fornire a Klar le credenziali 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

Supporto Google GCR

Per l'autenticazione su GCR (Google Cloud Registry), il modo più semplice è utilizzare le credenziali predefinite dell'applicazione. Queste funzionano solo quando si esegue Klar da GCP. L'unico requisito è 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)"
Scarica lo strumento
Defcon1
Unknown
  • CLAIR_THRESHOLD - quante vulnerabilità mostrate Klar può tollerare prima di restituire 1. Il valore predefinito è 0.

  • CLAIR_TIMEOUT - timeout in minuti prima che Klar annulli la scansione dell'immagine. Il valore predefinito è 1.

  • DOCKER_USER - nome dell'account del registro Docker.

  • DOCKER_PASSWORD - password dell'account del registro Docker.

  • DOCKER_TOKEN - token dell'account del registro Docker. (Può essere usato al posto di DOCKER_USER e DOCKER_PASSWORD)

  • DOCKER_INSECURE - Consenti a Klar di accedere a registri con certificati SSL non validi. Il valore predefinito è false. Clair dovrà essere avviato con -insecure-tls per far funzionare questa opzione.

  • DOCKER_TIMEOUT - timeout in minuti durante il tentativo di recuperare i layer da un registro Docker.

  • DOCKER_PLATFORM_OS - Il sistema operativo dell'immagine Docker. Il valore predefinito è linux. Questo deve essere impostato solo se l'immagine specificata fa riferimento a un ManifestList Docker invece di un normale manifest.

  • DOCKER_PLATFORM_ARCH - L'architettura per cui l'immagine Docker è ottimizzata. Il valore predefinito è amd64. Questo deve essere impostato solo se l'immagine specificata fa riferimento a un ManifestList Docker invece di un normale manifest.

  • REGISTRY_INSECURE - Consenti a Klar di accedere a registri non sicuri (solo HTTP). Il valore predefinito è false.

  • JSON_OUTPUT - Output in JSON, non in testo semplice. Il valore predefinito è false.

  • FORMAT_OUTPUT - Formato di output delle vulnerabilità. I formati supportati sono standard, json, table. Il valore predefinito è standard. Se JSON_OUTPUT è impostato su true, questa opzione viene ignorata.

  • WHITELIST_FILE - Percorso del file YAML con la whitelist CVE. Guarda whitelist-example.yaml per il formato del file.

  • IGNORE_UNFIXED - Non contare le vulnerabilità senza una correzione ai fini della soglia.