
kubescape v4.0.12
Piattaforma di sicurezza Kubernetes open-source che analizza cluster, manifest e immagini alla ricerca di configurazioni errate, vulnerabilità e conformità rispetto ai benchmark NSA, MITRE e CIS lungo l'intero ciclo di sviluppo.
Kubescape
Sicurezza Kubernetes completa dallo sviluppo all'esecuzione
Kubescape è una piattaforma di sicurezza Kubernetes open-source che offre una copertura di sicurezza completa, da sinistra a destra lungo l'intero ciclo di sviluppo e deployment. Fornisce capacità di hardening, posture management e sicurezza runtime per garantire una protezione robusta per gli ambienti Kubernetes.
Kubescape è stato creato da ARMO ed è un progetto incubato della Cloud Native Computing Foundation (CNCF).
Per favore, metti una stella ⭐ al repository se vuoi che continuiamo a sviluppare e migliorare Kubescape!
📑 Indice
- Funzionalità
- Demo
- Avvio rapido
- Installazione
- Comandi CLI
- Esempi di utilizzo
- Architettura
- Operator in-cluster
- Integrazioni
- Community
- Changelog
- Licenza
✨ Funzionalità
| Funzionalità | Descrizione |
|---|---|
| 🔍 Scansione di configurazioni errate | Scansiona cluster, file YAML e chart Helm rispetto a NSA-CISA, MITRE ATT&CK® e CIS Benchmark |
| 🐳 Scansione vulnerabilità immagini | Rileva CVE nelle immagini container utilizzando Grype |
| 🩹 Applicazione patch alle immagini | Applica automaticamente patch alle immagini vulnerabili usando Copacetic |
| 🔧 Correzione automatica | Correggi automaticamente le configurazioni errate nei manifest Kubernetes |
| 🛡️ Controllo degli admission | Applica policy di sicurezza con Validating Admission Policies (VAP) |
| 📊 Sicurezza runtime | Monitoraggio runtime basato su eBPF tramite Inspektor Gadget |
| 🤖 Integrazione AI | Server MCP per integrazione con assistenti AI |
🎬 Demo
🚀 Avvio rapido
1. Installa Kubescape
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
💡 Vedi Installazione per altre opzioni (Homebrew, Krew, Windows, ecc.)
2. Esegui la tua prima scansione
# Scansiona il cluster corrente
kubescape scan
# Scansiona un file YAML o una directory specifici
kubescape scan /path/to/manifests/
# Scansiona un'immagine container per vulnerabilità
kubescape scan image nginx:latest
3. Esplora i risultati
Kubescape fornisce una panoramica dettagliata della postura di sicurezza, tra cui:
- Stato della sicurezza del control plane
- Rischi di controllo accessi
- Configurazioni errate dei workload
- Lacune nelle policy di rete
- Punteggi di conformità (MITRE, NSA)
📦 Installazione
Installazione con un comando (Linux/macOS)
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
Gestori di pacchetti
| Piattaforma | Comando |
|---|---|
| Homebrew | brew install kubescape |
| Krew | kubectl krew install kubescape |
| Arch Linux | yay -S kubescape |
| Ubuntu | sudo add-apt-repository ppa:kubescape/kubescape && sudo apt install kubescape |
| NixOS | nix-shell -p kubescape |
| Chocolatey | choco install kubescape |
| Scoop | scoop install kubescape |
Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/kubescape/kubescape/master/install.ps1 | iex
📖 Guida completa all'installazione →
🛠️ Comandi CLI
Kubescape fornisce una CLI completa con i seguenti comandi:
| Comando | Descrizione |
|---|---|
kubescape scan | Scansiona cluster, file o immagini per problemi di sicurezza |
kubescape scan image | Scansiona immagini container per vulnerabilità |
kubescape fix | Correggi automaticamente le configurazioni errate nei file manifest |
kubescape patch | Applica patch alle immagini container per correggere vulnerabilità |
kubescape list | Elenca framework e controlli disponibili |
kubescape download | Scarica artefatti per uso offline/air-gapped |
kubescape config | Gestisci configurazioni memorizzate nella cache |
kubescape operator | Interagisci con l'operator Kubescape in-cluster |
kubescape vap | Gestisci Validating Admission Policies |
kubescape mcpserver | Avvia il server MCP per integrazione con assistenti AI |
kubescape completion | Genera script di completamento per shell |
kubescape version | Mostra le informazioni sulla versione |
📖 Esempi di utilizzo
Scansione
Scansiona un cluster in esecuzione
# Scansione predefinita (tutti i framework)
kubescape scan
# Scansione con un framework specifico
kubescape scan framework nsa
kubescape scan framework mitre
kubescape scan framework cis-v1.23-t1.0.1
# Scansione di un controllo specifico
kubescape scan control C-0005 -v
Scansiona file e repository
# Scansiona file YAML locali
kubescape scan /path/to/manifests/
# Scansiona un chart Helm
kubescape scan /path/to/helm/chart/
# Scansiona un repository Git
kubescape scan https://github.com/kubescape/kubescape
# Scansiona con Kustomize
kubescape scan /path/to/kustomize/directory/
Opzioni di scansione
# Includi/escludi namespace
kubescape scan --include-namespaces production,staging
kubescape scan --exclude-namespaces kube-system,kube-public
# Usa un kubeconfig alternativo
kubescape scan --kubeconfig /path/to/kubeconfig
# Imposta la soglia di conformità (codice di uscita 1 se sotto la soglia).
# Le soglie di punteggio si applicano ai sottocomandi framework/control e a
# --view resource|control.
kubescape scan framework nsa --compliance-threshold 80
kubescape scan --view resource --compliance-threshold 80
# Imposta la soglia di gravità
kubescape scan --severity-threshold high
Formati di output
# Output JSON
kubescape scan --format json --output results.json
# JUnit XML (per CI/CD)
kubescape scan --format junit --output results.xml
# SARIF (per GitHub Code Scanning)
kubescape scan --format sarif --output results.sarif
# Report HTML
kubescape scan --format html --output report.html
# Report PDF
kubescape scan --format pdf --output report.pdf
Scansione di immagini
# Scansiona un'immagine pubblica
kubescape scan image nginx:1.21
# Scansiona con output verboso
kubescape scan image nginx:1.21 -v
# Scansiona un'immagine da un registro privato
kubescape scan image myregistry/myimage:tag --username user --password pass
Utilizzo di un database Grype offline
# Avvia il server Grype-DB offline (con docker)
docker run --rm -p8080:8080 quay.io/kubescape/grype-offline-db:v6-latest
# Scansiona un'immagine usando il database offline:
kubescape scan image --grype-db-url http://localhost:8080/databases/ nginx:latest
Correzione automatica
Correggi automaticamente le configurazioni errate nei tuoi file manifest:
# Prima, scansiona e salva i risultati in JSON
kubescape scan /path/to/manifests --format json --output results.json
# Poi applica le correzioni
kubescape fix results.json
# Prova a secco (anteprima delle modifiche senza applicarle)
kubescape fix results.json --dry-run
# Applica le correzioni senza conferma
kubescape fix results.json --no-confirm
Applicazione patch alle immagini
Applica patch alle immagini container per correggere vulnerabilità a livello di OS:
# Avvia buildkitd (richiesto)
sudo buildkitd &
# Applica patch a un'immagine
sudo kubescape patch --image docker.io/library/nginx:1.22
# Specifica un tag di output personalizzato
sudo kubescape patch --image nginx:1.22 --tag nginx:1.22-patched
# Visualizza report dettagliato delle vulnerabilità
sudo kubescape patch --image nginx:1.22 -v
📖 Documentazione completa del comando patch →
Elenco framework e controlli
# Elenca i framework disponibili
kubescape list frameworks
# Elenca tutti i controlli
kubescape list controls
# Output come JSON
kubescape list controls --format json
Supporto offline
Scarica artefatti per ambienti air-gapped:
# Scarica tutti gli artefatti
kubescape download artifacts --output /path/to/offline/dir
# Scarica un framework specifico
kubescape download framework nsa --output /path/to/nsa.json
# Scansiona usando artefatti scaricati
kubescape scan --use-artifacts-from /path/to/offline/dir
Configurazione
# Visualizza la configurazione corrente
kubescape config view
# Imposta l'ID account
kubescape config set accountID <your-account-id>
# Elimina la configurazione memorizzata nella cache
kubescape config delete
Comandi Operator
Interagisci con l'operator Kubescape in-cluster:
# Attiva una scansione di configurazione
kubescape operator scan configurations
# Attiva una scansione di vulnerabilità
kubescape operator scan vulnerabilities
Validating Admission Policies
Gestisci le Validating Admission Policies di Kubernetes:
# Distribuisci la libreria di policy CEL di Kubescape
kubescape vap deploy-library | kubectl apply -f -
# Crea un binding di policy
kubescape vap create-policy-binding \
--name my-policy-binding \
--policy c-0016 \
--namespace my-namespace | kubectl apply -f -
Server MCP
Avvia un server MCP (Model Context Protocol) per integrazione con assistenti AI:
kubescape mcpserver
Il server MCP espone i dati di scansione delle vulnerabilità e delle configurazioni di Kubescape agli assistenti AI, consentendo query in linguaggio naturale sulla postura di sicurezza del tuo cluster.
Strumenti MCP disponibili:
list_vulnerability_manifests- Scopri i manifest delle vulnerabilitàlist_vulnerabilities_in_manifest- Elenca le CVE in un manifestlist_vulnerability_matches_for_cve- Ottieni i dettagli per una CVE specificalist_configuration_security_scan_manifests- Elenca i risultati delle scansioni di configurazioneget_configuration_security_scan_manifest- Ottieni i dettagli di una scansione di configurazione
🏗️ Architettura
Kubescape può funzionare in due modalità:
Modalità CLI
La CLI è uno strumento standalone che scansiona cluster, file e immagini su richiesta.
Componenti chiave:
- Open Policy Agent (OPA) - Motore di valutazione delle policy
- Regolibrary - Libreria di controlli di sicurezza
- Grype - Scansione vulnerabilità immagini
- Copacetic - Applicazione patch alle immagini
Modalità Operator (In-Cluster)
Per un monitoraggio continuo, distribuisci l'operator Kubescape tramite Helm.
Capacità aggiuntive:
- Scansione continua della configurazione
- Scansione vulnerabilità immagini
- Analisi runtime con eBPF
- Generazione di policy di rete
📖 Documentazione completa dell'architettura →
☸️ Operator in-cluster
L'operator Kubescape fornisce un monitoraggio continuo della sicurezza nel tuo cluster:
# Aggiungi il repository Helm di Kubescape
helm repo add kubescape https://kubescape.github.io/helm-charts/
# Installa l'operator
helm upgrade --install kubescape kubescape/kubescape-operator \
--namespace kubescape \
--create-namespace
Funzionalità dell'operator:
- 🔄 Scansione continua delle configurazioni errate
- 🐳 Scansione delle vulnerabilità delle immagini per tutti i workload
- 🔍 Rilevamento delle minacce runtime (basato su eBPF)
- 🌐 Generazione di policy di rete
- 📈 Integrazione con metriche Prometheus
📖 Guida all'installazione dell'operator →
🔌 Integrazioni
CI/CD
| Piattaforma | Integrazione |
|---|---|
| GitHub Actions | kubescape/github-action |
| GitLab CI | Documentazione |
| Jenkins | Documentazione |
Estensioni IDE
| IDE | Estensione |
|---|---|
| VS Code | Estensione Kubescape |
| Lens | Estensione Kubescape per Lens |
Dove puoi usare Kubescape
👥 Community
Kubescape è un progetto incubato CNCF con una community attiva.
Partecipa
- 💬 Slack - Canale utenti - Fai domande, ottieni aiuto
- 💬 Slack - Canale sviluppatori - Contribuisci allo sviluppo
- 🐛 GitHub Issues - Segnala bug e richiedi funzionalità
- 📋 Bacheca del progetto - Vedi a cosa stiamo lavorando
- 🗺️ Roadmap - Piani futuri
Contribuisci
Accogliamo con favore i contributi! Consulta:
Risorse della community
Contributori
Changelog
Le modifiche a Kubescape sono tracciate nella pagina delle release.
Licenza
Copyright 2021-2025, i Kubescape Authors. Tutti i diritti riservati.
Kubescape è rilasciato sotto la licenza Apache 2.0.
Kubescape è un progetto incubato della Cloud Native Computing Foundation (CNCF) ed è stato contribuito da ARMO.