
kubescape v4.0.11
Plateforme de sécurité Kubernetes open-source qui analyse les clusters, les manifests et les images à la recherche de mauvaises configurations, de vulnérabilités et de conformité par rapport aux référentiels NSA, MITRE et CIS tout au long du cycle de développement complet.
Kubescape
Sécurité Kubernetes complète du développement à l'exécution
Kubescape est une plateforme de sécurité Kubernetes open-source qui offre une couverture de sécurité complète, de gauche à droite sur l'ensemble du cycle de développement et de déploiement. Elle fournit des capacités de durcissement, de gestion de la posture et de sécurité au moment de l'exécution pour assurer une protection robuste des environnements Kubernetes.
Kubescape a été créé par ARMO et est un projet incubé par la Cloud Native Computing Foundation (CNCF).
Veuillez mettre une étoile ⭐ au dépôt si vous souhaitez que nous continuions à développer et améliorer Kubescape !
📑 Table des matières
- Fonctionnalités
- Démo
- Démarrage rapide
- Installation
- Commandes CLI
- Exemples d'utilisation
- Architecture
- Opérateur dans le cluster
- Intégrations
- Communauté
- Journal des modifications
- Licence
✨ Fonctionnalités
| Fonctionnalité | Description |
|---|---|
| 🔍 Analyse des mauvaises configurations | Analyse des clusters, fichiers YAML et charts Helm par rapport aux normes NSA-CISA, MITRE ATT&CK® et CIS Benchmarks |
| 🐳 Analyse des vulnérabilités d'images | Détection des CVE dans les images conteneur à l'aide de Grype |
| 🩹 Correction d'images | Correction automatique des images vulnérables à l'aide de Copacetic |
| 🔧 Auto-correction | Correction automatique des mauvaises configurations dans les manifestes Kubernetes |
| 🛡️ Contrôle d'admission | Application des politiques de sécurité avec les Validating Admission Policies (VAP) |
| 📊 Sécurité au moment de l'exécution | Surveillance au moment de l'exécution basée sur eBPF via Inspektor Gadget |
| 🤖 Intégration IA | Serveur MCP pour l'intégration avec des assistants IA |
🎬 Démo
🚀 Démarrage rapide
1. Installer Kubescape
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
💡 Consultez Installation pour plus d'options (Homebrew, Krew, Windows, etc.)
2. Lancer votre première analyse
# Scan your current cluster
kubescape scan
# Scan a specific YAML file or directory
kubescape scan /path/to/manifests/
# Scan a container image for vulnerabilities
kubescape scan image nginx:latest
3. Explorer les résultats
Kubescape fournit une vue d'ensemble détaillée de la posture de sécurité incluant :
- Statut de sécurité du plan de contrôle
- Risques liés au contrôle d'accès
- Mauvaises configurations des charges de travail
- Lacunes dans les politiques réseau
- Scores de conformité (MITRE, NSA)
📦 Installation
Installation en une ligne (Linux/macOS)
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
Gestionnaires de paquets
| Plateforme | Commande |
|---|---|
| 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
📖 Guide d'installation complet →
🛠️ Commandes CLI
Kubescape fournit une CLI complète avec les commandes suivantes :
| Commande | Description |
|---|---|
kubescape scan | Analyser un cluster, des fichiers ou des images pour détecter des problèmes de sécurité |
kubescape scan image | Analyser les images conteneur pour les vulnérabilités |
kubescape fix | Corriger automatiquement les mauvaises configurations dans les fichiers manifestes |
kubescape patch | Corriger les images conteneur pour remédier aux vulnérabilités |
kubescape list | Lister les frameworks et contrôles disponibles |
kubescape download | Télécharger les artefacts pour une utilisation hors ligne/dans un environnement air-gapped |
kubescape config | Gérer les configurations mises en cache |
kubescape operator | Interagir avec l'opérateur Kubescape dans le cluster |
kubescape vap | Gérer les Validating Admission Policies |
kubescape mcpserver | Démarrer le serveur MCP pour l'intégration avec un assistant IA |
kubescape completion | Générer des scripts de complétion pour le shell |
kubescape version | Afficher les informations de version |
📖 Exemples d'utilisation
Analyse
Analyser un cluster en cours d'exécution
# Default scan (all frameworks)
kubescape scan
# Scan with a specific framework
kubescape scan framework nsa
kubescape scan framework mitre
kubescape scan framework cis-v1.23-t1.0.1
# Scan a specific control
kubescape scan control C-0005 -v
Analyser des fichiers et dépôts
# Scan local YAML files
kubescape scan /path/to/manifests/
# Scan a Helm chart
kubescape scan /path/to/helm/chart/
# Scan a Git repository
kubescape scan https://github.com/kubescape/kubescape
# Scan with Kustomize
kubescape scan /path/to/kustomize/directory/
Options d'analyse
# Include/exclude namespaces
kubescape scan --include-namespaces production,staging
kubescape scan --exclude-namespaces kube-system,kube-public
# Use alternative kubeconfig
kubescape scan --kubeconfig /path/to/kubeconfig
# Set compliance threshold (exit code 1 if below threshold).
# Score thresholds apply to the framework/control subcommands and to
# --view resource|control.
kubescape scan framework nsa --compliance-threshold 80
kubescape scan --view resource --compliance-threshold 80
# Set severity threshold
kubescape scan --severity-threshold high
Formats de sortie
# JSON output
kubescape scan --format json --output results.json
# JUnit XML (for CI/CD)
kubescape scan --format junit --output results.xml
# SARIF (for GitHub Code Scanning)
kubescape scan --format sarif --output results.sarif
# HTML report
kubescape scan --format html --output report.html
# PDF report
kubescape scan --format pdf --output report.pdf
Analyse d'images
# Scan a public image
kubescape scan image nginx:1.21
# Scan with verbose output
kubescape scan image nginx:1.21 -v
# Scan a private registry image
kubescape scan image myregistry/myimage:tag --username user --password pass
Utilisation d'une base de données Grype hors ligne
# Start the offline Grype-DB server (using docker)
docker run --rm -p8080:8080 quay.io/kubescape/grype-offline-db:v6-latest
# Scan an image using the offline database:
kubescape scan image --grype-db-url http://localhost:8080/databases/ nginx:latest
Correction automatique
Corrigez automatiquement les mauvaises configurations dans vos fichiers manifestes :
# First, scan and save results to JSON
kubescape scan /path/to/manifests --format json --output results.json
# Then apply fixes
kubescape fix results.json
# Dry run (preview changes without applying)
kubescape fix results.json --dry-run
# Apply fixes without confirmation prompts
kubescape fix results.json --no-confirm
Correction d'images
Corriger les images conteneur pour remédier aux vulnérabilités au niveau du système d'exploitation :
# Start buildkitd (required)
sudo buildkitd &
# Patch an image
sudo kubescape patch --image docker.io/library/nginx:1.22
# Specify custom output tag
sudo kubescape patch --image nginx:1.22 --tag nginx:1.22-patched
# See detailed vulnerability report
sudo kubescape patch --image nginx:1.22 -v
📖 Documentation complète de la commande patch →
Lister les frameworks et contrôles
# List available frameworks
kubescape list frameworks
# List all controls
kubescape list controls
# Output as JSON
kubescape list controls --format json
Support hors ligne
Télécharger les artefacts pour les environnements air-gapped :
# Download all artifacts
kubescape download artifacts --output /path/to/offline/dir
# Download a specific framework
kubescape download framework nsa --output /path/to/nsa.json
# Scan using downloaded artifacts
kubescape scan --use-artifacts-from /path/to/offline/dir
Configuration
# View current configuration
kubescape config view
# Set account ID
kubescape config set accountID <your-account-id>
# Delete cached configuration
kubescape config delete
Commandes de l'opérateur
Interagir avec l'opérateur Kubescape dans le cluster :
# Trigger a configuration scan
kubescape operator scan configurations
# Trigger a vulnerability scan
kubescape operator scan vulnerabilities
Validating Admission Policies
Gérer les Validating Admission Policies Kubernetes :
# Deploy the Kubescape CEL admission policy library
kubescape vap deploy-library | kubectl apply -f -
# Create a policy binding
kubescape vap create-policy-binding \
--name my-policy-binding \
--policy c-0016 \
--namespace my-namespace | kubectl apply -f -
Serveur MCP
Démarrer un serveur MCP (Model Context Protocol) pour l'intégration avec un assistant IA :
kubescape mcpserver
Le serveur MCP expose les données d'analyse des vulnérabilités et de la configuration de Kubescape aux assistants IA, permettant des requêtes en langage naturel sur la posture de sécurité de votre cluster.
Outils MCP disponibles :
list_vulnerability_manifests- Découvrir les manifestes de vulnérabilitéslist_vulnerabilities_in_manifest- Lister les CVE dans un manifestelist_vulnerability_matches_for_cve- Obtenir les détails d'un CVE spécifiquelist_configuration_security_scan_manifests- Lister les résultats d'analyse de configurationget_configuration_security_scan_manifest- Obtenir les détails d'une analyse de configuration
🏗️ Architecture
Kubescape peut fonctionner selon deux modes :
Mode CLI
La CLI est un outil autonome qui analyse les clusters, fichiers et images à la demande.
Composants clés :
- Open Policy Agent (OPA) - Moteur d'évaluation de politiques
- Regolibrary - Bibliothèque de contrôles de sécurité
- Grype - Analyse des vulnérabilités d'images
- Copacetic - Correction d'images
Mode opérateur (dans le cluster)
Pour une surveillance continue, déployez l'opérateur Kubescape via Helm.
Capacités supplémentaires :
- Analyse continue de la configuration
- Analyse des vulnérabilités d'images
- Analyse au moment de l'exécution avec eBPF
- Génération de politiques réseau
📖 Documentation complète de l'architecture →
☸️ Opérateur dans le cluster
L'opérateur Kubescape fournit une surveillance continue de la sécurité dans votre cluster :
# Add the Kubescape Helm repository
helm repo add kubescape https://kubescape.github.io/helm-charts/
# Install the operator
helm upgrade --install kubescape kubescape/kubescape-operator \
--namespace kubescape \
--create-namespace
Fonctionnalités de l'opérateur :
- 🔄 Analyse continue des mauvaises configurations
- 🐳 Analyse des vulnérabilités d'images pour toutes les charges de travail
- 🔍 Détection des menaces au moment de l'exécution (basée sur eBPF)
- 🌐 Génération de politiques réseau
- 📈 Intégration des métriques Prometheus
📖 Guide d'installation de l'opérateur →
🔌 Intégrations
CI/CD
| Plateforme | Intégration |
|---|---|
| GitHub Actions | kubescape/github-action |
| GitLab CI | Documentation |
| Jenkins | Documentation |
Extensions IDE
| IDE | Extension |
|---|---|
| VS Code | Kubescape Extension |
| Lens | Kubescape Lens Extension |
Où utiliser Kubescape
👥 Communauté
Kubescape est un projet incubé par la CNCF avec une communauté active.
S'impliquer
- 💬 Slack - Canal utilisateurs - Posez des questions, obtenez de l'aide
- 💬 Slack - Canal développeurs - Contribuez au développement
- 🐛 GitHub Issues - Signalez des bogues et demandez des fonctionnalités
- 📋 Tableau de projet - Voyez sur quoi nous travaillons
- 🗺️ Feuille de route - Plans futurs
Contribuer
Nous accueillons les contributions ! Veuillez consulter :
Ressources communautaires
Contributeurs
Journal des modifications
Les modifications de Kubescape sont suivies sur la page des versions.
Licence
Copyright 2021-2025, les auteurs de Kubescape. Tous droits réservés.
Kubescape est distribué sous la licence Apache 2.0.
Kubescape est un projet incubé par la Cloud Native Computing Foundation (CNCF) et a été contribué par ARMO.