Kubescape è una piattaforma open-source di gestione della postura di sicurezza Kubernetes di ARMO (progetto in incubazione CNCF). Fornisce analisi dei rischi, scansione della conformità, rilevamento delle errate configurazioni e scansione delle vulnerabilità nell’IDE, pipeline CI/CD e cluster in esecuzione.
| Comando | Descrizione |
|---|
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | bash | Installa l’ultima versione (macOS/Linux) |
brew install kubescape | Installa tramite Homebrew (macOS) |
scoop install kubescape | Installa tramite Scoop (Windows) |
docker run -it kubescape/kubescape:latest kubescape --help | Esegui Kubescape in Docker |
kubescape version | Visualizza versione installata |
kubescape download | Scarica framework e politiche |
kubescape download --frameworks | Scarica tutti i framework |
| Comando | Descrizione |
|---|
kubescape scan | Scansiona cluster corrente usando kubeconfig |
kubescape scan --kubeconfig /path/to/kubeconfig | Scansiona cluster con kubeconfig specifico |
kubescape scan -f manifest.yaml | Scansiona file manifesto YAML |
kubescape scan -f *.yaml | Scansiona più file manifesto |
kubescape scan -d ./k8s-configs/ | Scansiona tutti i manifesti nella directory |
kubescape scan --helm /path/to/chart | Scansiona Helm chart prima del deployment |
kubescape scan --include-namespaces default,kube-system | Scansiona solo namespace specifici |
kubescape scan --exclude-namespaces kube-node-lease | Escludi namespace dalla scansione |
kubescape scan --severity high,critical | Mostra solo problemi ad alta/critica gravità |
kubescape scan --pod-runtime containerd | Specifica runtime contenitore (docker, containerd, cri-o) |
| Comando | Descrizione |
|---|
kubescape scan framework nsa | Scansiona contro guida hardening Kubernetes NSA-CISA |
kubescape scan framework cis | Scansiona contro CIS Kubernetes Benchmark |
kubescape scan framework mitre | Scansiona contro framework MITRE ATT&CK |
kubescape scan framework pci-dss | Scansiona contro conformità PCI-DSS |
kubescape scan framework soc2 | Scansiona contro conformità SOC2 |
kubescape scan framework hipaa | Scansiona contro conformità HIPAA |
kubescape scan -f manifest.yaml -f nsa,cis,mitre | Scansiona manifesto contro più framework |
kubescape scan --list-frameworks | Elenca tutti i framework disponibili |
| Comando | Descrizione |
|---|
kubescape scan image gcr.io/project/image:tag | Scansiona immagine contenitore per vulnerabilità |
kubescape scan image --image-scan-concurrency 5 image1 image2 | Scansiona più immagini contemporaneamente |
kubescape scan -f manifest.yaml --include-image-scanning | Scansiona manifesti e tutte le immagini referenziate |
kubescape scan image --severity critical --only-vulnerabilities | Mostra solo vulnerabilità critiche |
kubescape scan image --image-registry-credentials user:pass@registry:5000 | Scansiona immagini registry privati |
kubescape scan -f manifest.yaml --image-scan-cache | Cache scansioni immagine per esecuzioni ripetute |
| Comando | Descrizione |
|---|
kubescape scan -o json > report.json | Risultati output come JSON |
kubescape scan -o pdf > report.pdf | Genera rapporto PDF |
kubescape scan -o html > report.html | Genera rapporto HTML |
kubescape scan -o sarif > report.sarif | Output in formato SARIF (per strumenti CI/CD) |
kubescape scan -o pretty-json | Output JSON formattato |
kubescape scan --output-file report.json -o json | Salva output in file |
kubescape scan -o json | jq '.results[] | select(.severity=="critical")' | Filtra risultati JSON con jq |
| Comando | Descrizione |
|---|
kubescape scan --fail-threshold 80 | Fallimento pipeline se punteggio rischio sotto 80 |
kubescape scan --fail-threshold 70 --severity critical | Gate pipeline su risultati critici |
kubescape scan -f manifest.yaml --fail-threshold 85 -o sarif | Genera SARIF + gate in GitHub Actions |
kubescape scan --fail-on-compliance-failure | Fallimento se framework conformità non passano |
kubescape scan -o json --format-by-severity | Output raggruppato per livello gravità |
- name: Run Kubescape security scan
uses: kubescape/github-action@v2
with:
kubeconfig: ${{ secrets.KUBECONFIG }}
frameworks: nsa,cis
fail-threshold: 80
output-format: sarif
output-file: kubescape-report.sarif
- name: Upload SARIF to GitHub Security
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: kubescape-report.sarif
kubescape_scan:
stage: security
image: kubescape/kubescape:latest
script:
- kubescape scan framework nsa --fail-threshold 80 -o sarif > report.sarif
- kubescape scan framework cis --fail-threshold 75 -o json > cis-report.json
artifacts:
reports:
sast: report.sarif
paths:
- cis-report.json
stage('Security: Kubescape') {
steps {
sh '''
kubescape scan -f k8s-manifests/ \
--fail-threshold 80 \
-o sarif > kubescape-report.sarif \
-o json > kubescape-report.json
'''
archiveArtifacts artifacts: '*-report.*'
}
}
| Comando | Descrizione |
|---|
kubescape download --output-dir ./offline-data | Scarica tutti i framework nella directory locale |
kubescape download --frameworks nsa,cis --output-dir ./fw | Scarica framework specifici offline |
kubescape scan -f manifest.yaml --offline --frameworks-dir ./offline-data | Scansiona usando framework scaricati |
kubescape scan -d manifests/ --offline --frameworks-dir ./offline-data | Scansione directory offline |
| Comando | Descrizione |
|---|
kubescape config | Mostra configurazione corrente |
kubescape config set <key> <value> | Imposta valore configurazione |
kubescape config get <key> | Ottieni valore configurazione |
kubescape config -p ~/.kubescape/config | Usa percorso file config personalizzato |
kubescape scan -c ./custom-config.yaml | Scansiona con configurazione personalizzata |
| Comando | Descrizione |
|---|
kubescape operator install | Installa operatore Kubescape nel cluster |
kubescape operator install --namespace kubescape | Installa operatore in namespace specifico |
kubescape operator uninstall | Rimuovi operatore Kubescape |
kubectl get deployment -n kubescape | Verifica installazione operatore |
kubectl logs -n kubescape -l app=kubescape-operator | Visualizza log operatore |
kubescape operator status | Controlla stato operatore |
| Comando | Descrizione |
|---|
kubescape scan --exceptions exceptions.json | Applica regole di eccezione alla scansione |
kubescape scan --enable-controls <control-id> | Abilita control specifici |
kubescape scan --disable-controls <control-id> | Disabilita control specifici |
kubescape scan --controls <id1>,<id2> | Esegui solo control specificati |
kubescape scan --list-controls | Elenca tutti i control disponibili |
kubescape scan --list-controls --framework nsa | Elenca control framework NSA |
{
"exceptions": [
{
"ruleID": "C-0001",
"namespace": "test-namespace",
"resources": ["deployment/test-app"],
"justification": "Development environment exemption"
}
]
}
| Comando | Descrizione |
|---|
kubescape scan --verbose | Mostra output debug dettagliato |
kubescape scan --log-level debug | Imposta livello logging (debug, info, warn, error) |
kubescape scan --submit | Invia risultati scansione a Kubescape Cloud |
kubescape scan --account <account-id> | Invia a account cloud specifico |
kubescape scan --keep-local | Scansiona senza inviare a cloud |
kubescape scan --max-workers 10 | Controlla worker elaborazione parallela |
kubescape scan --timeout 300 | Imposta timeout in secondi |
| Pratica | Descrizione |
|---|
| Version Control Manifests | Sempre versionare manifest Kubernetes; scansionare prima del deployment |
| Gate on Risk Score | Imposta --fail-threshold in CI/CD; usa 75-85 a seconda tolleranza rischio org |
| Multi-Framework Scanning | Usa NSA + CIS + MITRE; affronta prima risultati priorità massima |
| Regular Image Scanning | Scansiona immagini contenitore nella supply chain; cattura CVE presto |
| Namespace Isolation | Usa --include-namespaces per focalizzare scansioni; escludi namespace sistema |
| Offline in Secure Envs | Scarica framework offline per cluster air-gapped |
| Monitor Over Time | Traccia punteggi rischio tra scansioni; investigare regressioni |
| Exception Justification | Documenta eccezioni; rivedi periodicamente per rimozione |
| Helm Pre-Deployment | Esegui kubescape scan --helm su chart prima di Helm install |
| Enable RBAC | Verifica ServiceAccount ha permessi minimi richiesti |
| Use SARIF Output | Integra rapporti SARIF in IDE, GitHub e sistemi SIEM |
| Review Control Details | Usa kubescape scan --list-controls per capire scopo di ogni control |