Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
chaosblade — Un kit d'expérimentation d'ingénierie du chaos facile à utiliser et puissant. (Un outil d'injection d'expériences de chaos open source d'Alibaba, simple d'utilisation et puissant.) | Kitploit
Outils/GitHubGitHub/chaosblade-io/chaosblade
Sécurité de l'Infrastructure CloudSécurité des ConteneursDevSecOpsIngénierie du Chaos
GitHubchaosblade-io/chaosblade

chaosblade

Un kit d'expérimentation d'ingénierie du chaos facile à utiliser et puissant. (Un outil d'injection d'expériences de chaos open source d'Alibaba, simple d'utilisation et puissant.)

Voir le dépôt
6.5k1.0kil y a 6 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

logo

Chaosblade : une boîte à outils d'ingénierie du chaos puissante et facile à utiliser

Build Status Financial Contributors on Open Collective codecov license CII Best Practices

Version chinoise README
Wiki : DeepWiki

🔥🔥🔥 MISE À JOUR MAJEURE:Chaosblade Agent publié - Blade AI

image Blade AI constitue la couche d'agent intelligent de l'écosystème ChaosBlade : au niveau fondamental, il invoque ChaosBlade pour exécuter l'injection de pannes ; au niveau supérieur, il intègre des capacités d'orchestration telles que la compréhension de l'intention, l'audit de sécurité, la vérification des effets, la récupération sécurisée et le reporting structuré — transformant ainsi les exercices de panne d'un processus « d'écriture manuelle de commandes » en un processus accompli par « interaction conversationnelle ».

Pour des informations détaillées, veuillez consulter : Blade AI README

  • Version : blade-ai-v0.1.0
  • Branche de code : blade-ai-v0.1.0

Introduction

ChaosBlade est un outil open source d'injection d'expériences développé par Alibaba qui suit les principes de l'ingénierie du chaos et les modèles d'expériences du chaos pour aider les entreprises à améliorer la tolérance aux pannes de leurs systèmes distribués et à assurer la continuité des activités lors de leur migration vers le cloud ou vers des systèmes cloud natifs.

Chaosblade est un projet open source interne de MonkeyKing. Il s'appuie sur près de dix ans de tests de pannes et de pratiques d'exercices d'Alibaba, et combine les meilleures idées et pratiques des activités du Groupe.

ChaosBlade est non seulement facile à utiliser, mais prend également en charge de riches scénarios d'expérimentation. Les scénarios comprennent :

  • Ressources de base : comme les scénarios d'expérimentation sur le CPU, la mémoire, le réseau, le disque, les processus, etc. ;
  • Applications Java : comme les bases de données, les caches, les messages, la JVM elle-même, les microservices, etc. Vous pouvez également spécifier n'importe quelle méthode de classe pour injecter divers scénarios d'expérimentation complexes ;
  • Applications C++ : comme la spécification de méthodes arbitraires ou de lignes de code expérimentales pour l'injection de délais, la falsification de variables et de valeurs de retour ;
  • Conteneurs : comme tuer le conteneur, ou les scénarios d'expérimentation CPU, mémoire, réseau, disque, processus dans le conteneur, etc. ;
  • Plateformes cloud natives : par exemple, les scénarios d'expérimentation CPU, mémoire, réseau, disque et processus sur les nœuds de la plateforme Kubernetes, les scénarios d'expérimentation sur le réseau Pod et le Pod lui-même comme le kill de Pods, ainsi que les scénarios d'expérimentation de conteneurs comme le scénario Docker mentionné précédemment ;

Encapsuler les scénarios par domaine dans des projets individuels permet non seulement de normaliser les scénarios du domaine, mais aussi de faciliter l'expansion horizontale et verticale des scénarios. En suivant le modèle d'expérimentation du chaos, le cli chaosblade peut être appelé de manière uniforme. Les projets actuellement inclus sont :

  • chaosblade : outil de gestion des expériences du chaos, comprenant des commandes pour créer des expériences, détruire des expériences, interroger des expériences, préparer des environnements expérimentaux et annuler des environnements expérimentaux. C'est l'outil d'exécution des expériences du chaos. Les méthodes d'exécution comprennent CLI et HTTP. Il fournit des commandes complètes, des scénarios d'expérimentation et des descriptions de paramètres de scénarios, et son fonctionnement est simple et clair.
  • chaosblade-spec-go : définition en langage Golang du modèle d'expérimentation du chaos ; les scénarios implémentés en langage Golang sont faciles à réaliser sur la base de cette spécification.
  • chaosblade-exec-os : implémentation des scénarios d'expérimentation sur les ressources de base.
  • chaosblade-exec-docker : implémentation des scénarios d'expérimentation des conteneurs Docker, normalisée par l'appel de l'API Docker.
  • chaosblade-exec-cri : implémentation des scénarios d'expérimentation des conteneurs, normalisée par l'appel du CRI.
  • chaosblade-operator : implémentation des scénarios d'expérimentation de la plateforme Kubernetes ; les expériences du chaos sont définies par la méthode standard CRD de Kubernetes. Il est très pratique d'utiliser les opérations de ressources Kubernetes pour créer, mettre à jour et supprimer des scénarios d'expérimentation, notamment avec kubectl, client-go, etc., ainsi qu'avec l'outil cli chaosblade décrit ci-dessus.
  • chaosblade-exec-jvm : implémentation des scénarios d'expérimentation des applications Java, utilisant la technologie Java Agent pour un montage dynamique, sans aucune intrusion, avec une utilisation à coût zéro. Il prend également en charge la désinstallation et recycle complètement les diverses ressources créées par l'Agent.
  • chaosblade-exec-cplus : implémentation des scénarios d'expérimentation des applications C++, utilisant la technologie GDB pour réaliser l'injection de scénarios d'expérimentation au niveau des méthodes et des lignes de code.
  • chaosblade-box : possède les capacités d'une plateforme d'ingénierie du chaos et d'une plateforme de tests de résilience. Pour plus d'informations sur les capacités de la plateforme de tests de résilience, voir la branche .

Démarrage rapide

Ce guide vous aide à exécuter votre première injection de panne sur Kubernetes en moins de 5 minutes avec ChaosBlade. Nous allons injecter une panne de stress CPU dans un Pod comme exemple minimal.

Prérequis

Avant de commencer, assurez-vous de disposer de :

  • Un accès kubectl à un cluster Kubernetes en cours d'exécution (kubectl cluster-info réussit)
  • Un namespace cible avec au moins un Pod en cours d'exécution (par défaut : default)
  • ChaosBlade installé :
    • La boîte à outils CLI chaosblade téléchargée et extraite (le binaire blade est dans votre PATH)
    • Le chaosblade-operator déployé sur votre cluster (requis pour les scénarios Kubernetes)

Installez l'operator avec Helm :

root@kitploit:~
helm install chaosblade-operator chaosblade-operator-<version>.tgz --namespace chaosblade --create-namespace

Vérifiez que l'operator est en cours d'exécution :

root@kitploit:~
kubectl get pods -n chaosblade

Injectez Votre Première Panne (Stress CPU)

Exécutez une panne de pleine charge CPU sur un Pod du namespace default :

root@kitploit:~
blade create k8s pod-cpu fullload   --cpu-percent 80   --kubeconfig ~/.kube/config   --names <pod-name>   --namespace default

Si l'injection réussit, ChaosBlade renvoie un résultat JSON contenant un uid d'expérience. Conservez ce uid pour vérifier le statut ou détruire l'expérience plus tard :

root@kitploit:~
{"code":200,"success":true,"result":"<experiment-uid>"}

Vérifier le Statut de l'Expérience

root@kitploit:~
blade status <experiment-uid>

Récupérer (Détruire la Panne)

Récupérez toujours après votre exercice pour restaurer la cible à la normale :

root@kitploit:~
blade destroy <experiment-uid>

Et voilà ! Vous avez effectué un cycle complet injecter-vérifier-récupérer. Pour explorer plus de scénarios, exécutez blade create k8s -h ou consultez Pratique de l'ingénierie du chaos en environnement cloud natif.

Commandes CLI

Vous pouvez télécharger la dernière boîte à outils chaosblade depuis Releases, l'extraire et l'utiliser. Si vous souhaitez injecter des scénarios de pannes liés à Kubernetes, vous devez installer chaosblade-operator. Pour des documents d'utilisation détaillés en chinois, veuillez consulter chaosblade-help-zh-cn .

chaosblade prend en charge les méthodes d'appel CLI et HTTP. Les commandes prises en charge sont les suivantes :

  • prepare : alias p, préparation avant l'expérience d'ingénierie du chaos, comme pour effectuer des exercices de panne sur des applications Java, où vous devez attacher le java agent. Par exemple, pour effectuer un exercice de panne sur une application dont le nom est business, exécutez blade p jvm --process business sur l'hôte cible. Si l'attache réussit, retournez l'uid pour la requête de statut ou la révocation de l'agent.
  • revoke : alias r, annule la préparation de l'expérience d'ingénierie du chaos effectuée précédemment, comme le détachement du java agent. La commande est blade revoke UID
  • create : alias c, crée une expérience d'ingénierie du chaos. La commande est blade create [TARGET] [ACTION] [FLAGS]. Par exemple, si vous implémentez un délai de 3 s sur l'appel de l'interface xxx.xxx.Service par un consommateur Dubbo, la commande exécutée est blade create dubbo delay --consumer --time 3000 --Service xxx.xxx.Service. Si l'injection réussit, retournez l'uid expérimental pour la requête de statut et la destruction de l'expérience.
  • destroy : alias d, détruit une expérience d'ingénierie du chaos, comme la destruction de l'expérience de délai Dubbo mentionnée ci-dessus. La commande est blade destroy UID
  • status : alias s, interroge le statut de l'étape de préparation ou de l'expérience. La commande est blade status UID ou blade status --type create
  • server : démarre le serveur web, expose le service HTTP et appelle chaosblade via des requêtes HTTP. Par exemple, exécutez sur la machine cible xxxx : pour effectuer une expérience de pleine charge CPU :

Utilisez la commande blade help [COMMAND] ou blade [COMMAND] -h pour afficher l'aide

Démo d'expérience

Téléchargez l'image de démo chaosblade et découvrez l'utilisation de la boîte à outils blade

demo.gif

Commande de téléchargement de l'image :

root@kitploit:~
docker pull chaosbladeio/chaosblade-demo

Exécutez le conteneur de démo :

root@kitploit:~
docker run -it --privileged chaosbladeio/chaosblade-demo

Après être entré dans le conteneur, vous pouvez lire le fichier README.txt pour réaliser l'expérience du chaos. Profitez-en.

Cloud natif

Le projet chaosblade-operator est un outil d'injection d'expériences du chaos pour les plateformes cloud natives. Il suit le modèle d'expérimentation du chaos pour normaliser le scénario expérimental et définit l'expérience comme des ressources CRD Kubernetes, mappant les modèles expérimentaux sur les attributs des ressources Kubernetes, combinant ainsi de manière très conviviale les modèles d'expérimentation du chaos avec la conception déclarative de Kubernetes. Tout en s'appuyant sur les modèles d'expérimentation du chaos pour développer commodément des scénarios, il peut également bien intégrer les concepts de conception de Kubernetes : via kubectl ou en écrivant du code pour appeler directement l'API Kubernetes afin de créer, mettre à jour et supprimer des expériences du chaos. Le statut des ressources peut indiquer clairement l'état d'exécution de l'expérience et normaliser l'injection de pannes Kubernetes. En plus d'utiliser les méthodes ci-dessus pour effectuer des expériences, vous pouvez également utiliser la méthode cli chaosblade pour exécuter des scénarios expérimentaux Kubernetes et interroger très commodément le statut de l'expérience. Pour plus de détails, veuillez lire le document chinois : Pratique de l'ingénierie du chaos en environnement cloud natif

Compilation

Voir BUILD.md pour plus de détails.

Bugs et retours

Pour les rapports de bugs, questions et discussions, veuillez soumettre GitHub Issues.

Vous pouvez également nous contacter via :

  • Groupe Dingding (recommandé pour le chinois) : 23177705
  • Groupe Slack : chaosblade-io
  • Salon Gitter : communauté chaosblade
  • E-mail : [email protected]
  • Twitter : chaosblade.io

Contribuer

Nous accueillons chaque contribution, même s'il ne s'agit que d'une ponctuation. Voir les détails de CONTRIBUTING. Pour l'échelle de promotion des étudiants participant à la communauté, voir : (Contributor Ladder)

Enregistrement des entreprises

L'intention originelle de notre projet open source est d'abaisser le seuil de mise en œuvre de l'ingénierie du chaos dans les entreprises. Nous accordons donc une grande valeur à l'utilisation du projet dans les entreprises. Bienvenue à tous ici ISSUE. Après l'enregistrement, vous serez invité à rejoindre le groupe de messagerie d'entreprise pour discuter des problèmes rencontrés par l'ingénierie du chaos lors de son déploiement en entreprise et partager les expériences de déploiement.

Contributeurs

Contributeurs de code

Ce projet existe grâce à toutes les personnes qui contribuent. [Contribuer].

Licence

Chaosblade est sous licence Apache License, Version 2.0. Voir LICENSE pour le texte complet de la licence.

Télécharger l’outil
main2
blade server start -p 9526
curl "http://xxxx:9526/chaosblade?cmd=create%20cpu%20fullload"