Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
chaosblade — Ein einfach zu bedienendes und leistungsstarkes Toolkit für Chaos-Engineering-Experimente.(Ein von Alibaba als Open Source veröffentlichtes, einfach zu bedienendes und leistungsstarkes Werkzeug zur Injektion von Chaos-Experimenten) | Kitploit
Tools/GitHubGitHub/chaosblade-io/chaosblade
Cloud-Infrastruktur-SicherheitContainer-SicherheitDevSecOpsChaos-Engineering
GitHubchaosblade-io/chaosblade

chaosblade

Ein einfach zu bedienendes und leistungsstarkes Toolkit für Chaos-Engineering-Experimente.(Ein von Alibaba als Open Source veröffentlichtes, einfach zu bedienendes und leistungsstarkes Werkzeug zur Injektion von Chaos-Experimenten)

Repository anzeigen
6.5k1.0kvor 6 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

logo

Chaosblade: Ein einfach zu verwendendes und leistungsstarkes Chaos-Engineering-Toolkit

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

Chinesische Version README
Wiki: DeepWiki

🔥🔥🔥 Großes Update:Chaosblade Agent veröffentlicht - Blade AI

image Blade AI dient als intelligente Agentenschicht innerhalb des ChaosBlade-Ökosystems: Auf der Basisebene ruft es ChaosBlade auf, um Fehlerinjektionen auszuführen; auf der oberen Ebene integriert es Orchestrierungsfähigkeiten wie Absichtserkennung, Sicherheitsaudit, Wirkungsüberprüfung, sichere Wiederherstellung und strukturierte Berichterstattung – und verwandelt so Fehlerübungen von einem Prozess des „manuellen Schreibens von Befehlen" in einen, der durch „konversationelle Interaktion" abgeschlossen wird.

Ausführliche Informationen finden Sie unter: Blade AI README

  • Release: blade-ai-v0.1.0
  • Code-Branch: blade-ai-v0.1.0

Einführung

ChaosBlade ist ein von Alibaba entwickeltes Open-Source-Werkzeug zur Experimentinjektion, das den Prinzipien des Chaos Engineerings und chaotischer Experimentalmodelle folgt, um Unternehmen dabei zu helfen, die Fehlertoleranz verteilter Systeme zu verbessern und die Geschäftskontinuität während des Umstiegs auf die Cloud oder auf Cloud-native Systeme sicherzustellen.

Chaosblade ist ein internes Open-Source-Projekt von MonkeyKing. Es basiert auf fast zehn Jahren Fehlertests und Übungspraxis bei Alibaba und vereint die besten Ideen und Praktiken der Geschäftsbereiche der Gruppe.

ChaosBlade ist nicht nur einfach zu bedienen, sondern unterstützt auch zahlreiche experimentelle Szenarien. Zu den Szenarien gehören:

  • Grundlegende Ressourcen: wie CPU, Speicher, Netzwerk, Festplatte, Prozess und andere experimentelle Szenarien;
  • Java-Anwendungen: wie Datenbanken, Caches, Nachrichten, die JVM selbst, Mikroservices usw. Sie können auch beliebige Klassenmethoden angeben, um verschiedene komplexe experimentelle Szenarien zu injizieren;
  • C++-Anwendungen: wie das Festlegen beliebiger Methoden oder experimenteller Codezeilen zur Injektionsverzögerung, das Manipulieren von Variablen und Rückgabewerten;
  • Container: wie das Beenden des Containers, CPU-, Speicher-, Netzwerk-, Festplatten-, Prozess- und andere experimentelle Szenarien im Container;
  • Cloud-native Plattformen: Zum Beispiel CPU-, Speicher-, Netzwerk-, Festplatten- und Prozess-Experimentalszenarien auf Kubernetes-Plattformknoten, Pod-Netzwerk- und Pod-selbst-Experimentalszenarien wie das Beenden von Pods sowie Container-Experimentalszenarien wie das zuvor genannte Docker-Container-Experimentalszenario;

Die Kapselung von Szenarien nach Domänen in einzelne Projekte kann nicht nur die Szenarien in der Domäne standardisieren, sondern auch die horizontale und vertikale Erweiterung der Szenarien erleichtern. Durch die Befolgung des Chaos-Experimentmodells kann die chaosblade CLI einheitlich aufgerufen werden. Die derzeit enthaltenen Projekte sind:

  • chaosblade: Chaos-Experimentverwaltungswerkzeug, einschließlich Befehlen zum Erstellen von Experimenten, Zerstören von Experimenten, Abfragen von Experimenten, Vorbereiten von Experimentierumgebungen und Aufheben von Experimentierumgebungen. Es ist das Werkzeug zur Ausführung von Chaosexperimenten. Die Ausführungsmethoden umfassen CLI und HTTP. Es bietet vollständige Befehle, experimentelle Szenarien und Szenarioparameterbeschreibungen und die Bedienung ist einfach und klar.
  • chaosblade-spec-go: Definition des Chaos-Experimentmodells in der Programmiersprache Golang; mit Golang implementierte Szenarien lassen sich auf der Grundlage dieser Spezifikation einfach umsetzen.
  • chaosblade-exec-os: Implementierung von Experimentalszenarien für grundlegende Ressourcen.
  • chaosblade-exec-docker: Implementierung von Docker-Container-Experimentalszenarien, standardisiert durch Aufrufe der Docker-API.
  • chaosblade-exec-cri: Implementierung von Container-Experimentalszenarien, standardisiert durch Aufrufe des CRI.
  • chaosblade-operator: Das Kubernetes-Plattform-Experimentalszenario wird implementiert; Chaosexperimente werden mit der standardmäßigen Kubernetes-CRD-Methode definiert. Es ist sehr bequem, mit der Kubernetes-Ressourcenbetriebsmethode Experimentalszenarien zu erstellen, zu aktualisieren und zu löschen, einschließlich der Verwendung von kubectl, client-go usw. sowie des oben beschriebenen chaosblade-CLI-Tools.
  • chaosblade-exec-jvm: Implementierung von Experimentalszenarien für Java-Anwendungen, die mithilfe der Java-Agent-Technologie dynamisch angehängt wird, ohne jeglichen Zugriff und mit null Kosten. Sie unterstützt auch die Deinstallation und recycelt vollständig verschiedene vom Agenten erstellte Ressourcen.
  • chaosblade-exec-cplus: Implementierung von Experimentalszenarien für C++-Anwendungen, die mithilfe der GDB-Technologie Methoden- und Codezeilenebenen-Injektion von Experimentalszenarien ermöglicht.
  • chaosblade-box: Verfügt über Fähigkeiten einer Chaos-Engineering-Plattform und einer Resilienz-Testplattform. Weitere Informationen zu den Fähigkeiten der Resilienz-Testplattform finden Sie im -Zweig.

Schnellstart

Diese Anleitung hilft Ihnen, Ihre erste Fehlerinjektion auf Kubernetes in weniger als 5 Minuten mit ChaosBlade durchzuführen. Als minimales Beispiel injizieren wir einen CPU-Stressfehler in einen Pod.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • kubectl-Zugriff auf einen laufenden Kubernetes-Cluster (kubectl cluster-info erfolgreich zurückgibt)
  • Einen Ziel-Namespace mit mindestens einem laufenden Pod (Standard: default)
  • ChaosBlade installiert:
    • Das chaosblade-CLI-Werkzeugpaket heruntergeladen und entpackt (die blade-Binärdatei befindet sich in Ihrem PATH)
    • Der chaosblade-operator in Ihrem Cluster bereitgestellt (für Kubernetes-Szenarien erforderlich)

Installieren Sie den Operator mit Helm:

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

Überprüfen Sie, ob der Operator läuft:

root@kitploit:~
kubectl get pods -n chaosblade

Injizieren Sie Ihren ersten Fehler (CPU-Stress)

Führen Sie einen CPU-Vollauslastungsfehler gegen einen Pod im default-Namespace aus:

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

Wenn die Injektion erfolgreich ist, gibt ChaosBlade ein JSON-Ergebnis mit einer Experiment-uid zurück. Speichern Sie diese uid, um später den Status zu überprüfen oder das Experiment zu zerstören:

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

Experimentstatus überprüfen

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

Wiederherstellen (Fehler beheben)

Stellen Sie nach Ihrer Übung immer den Normalzustand des Ziels wieder her:

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

Das war's! Sie haben einen vollständigen Injizieren-Prüfen-Wiederherstellen-Zyklus abgeschlossen. Um weitere Szenarien zu erkunden, führen Sie blade create k8s -h aus oder lesen Sie Chaos-Engineering-Praxis unter Cloud Native.

CLI-Befehl

Sie können das neueste chaosblade-Werkzeugpaket von Releases herunterladen, es entpacken und verwenden. Wenn Sie Kubernetes-bezogene Fehlerszenarien injizieren möchten, müssen Sie chaosblade-operator installieren. Ausführliche chinesische Anwendungsdokumente finden Sie unter chaosblade-help-zh-cn .

chaosblade unterstützt CLI- und HTTP-Aufrufmethoden. Die unterstützten Befehle sind wie folgt:

  • prepare: Alias ist p, Vorbereitung vor dem Chaos-Engineering-Experiment, z. B. müssen Sie beim Testen von Java-Anwendungen den Java-Agenten anhängen. Um beispielsweise eine Anwendung mit dem Anwendungsnamen business zu testen, führen Sie auf dem Zielhost blade p jvm --process business aus. Wenn das Anhängen erfolgreich ist, wird die uid für die Statusabfrage oder den Agent-Entzug zurückgegeben.
  • revoke: Alias ist r, macht die vorherige Vorbereitung des Chaos-Engineering-Experiments rückgängig, z. B. das Lösen des Java-Agenten. Der Befehl lautet blade revoke UID
  • create: Alias ist c, erstellt ein Chaos-Engineering-Experiment. Der Befehl lautet blade create [TARGET] [ACTION] [FLAGS]. Wenn Sie beispielsweise einen Dubbo-Consumer implementieren, der die Schnittstelle xxx.xxx.Service mit 3s Verzögerung aufruft, lautet der ausgeführte Befehl blade create dubbo delay --consumer --time 3000 --Service xxx.xxx.Service. Wenn die Injektion erfolgreich ist, wird die Experiment-uid für die Statusabfrage zurückgegeben und das Experiment zerstört.
  • destroy: Alias ist d, zerstört ein Chaos-Engineering-Experiment, z. B. das Zerstören des oben genannten Dubbo-Verzögerungsexperiments. Der Befehl lautet blade destroy UID
  • status: Alias ist s, fragt die Vorbereitungsphase oder den Experimentstatus ab. Der Befehl lautet blade status UID oder blade status --type create
  • server: startet den Webserver, stellt den HTTP-Dienst bereit und ruft Chaosblade über HTTP-Anfragen auf. Führen Sie beispielsweise auf dem Zielrechner xxxx aus, um ein CPU-Vollauslastungsexperiment durchzuführen:

Verwenden Sie den Befehl blade help [COMMAND] oder blade [COMMAND] -h, um die Hilfe anzuzeigen.

Demo erleben

Laden Sie das chaosblade-Demo-Image herunter und erleben Sie die Verwendung des blade-Werkzeugpakets

demo.gif

Befehl zum Herunterladen des Images:

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

Demo-Container ausführen:

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

Nach dem Betreten des Containers können Sie die Datei README.txt lesen, um das Chaos-Experiment durchzuführen. Viel Spaß dabei.

Cloud Native

Das Projekt chaosblade-operator ist ein Chaos-Experiment-Injektionswerkzeug für Cloud-native Plattformen. Es folgt dem Chaos-Experimentmodell, um das experimentelle Szenario zu standardisieren, definiert das Experiment als Kubernetes-CRD-Ressourcen, bildet experimentelle Modelle auf Kubernetes-Ressourcenattribute ab und kombiniert chaotische Experimentalmodelle sehr freundlich mit dem deklarativen Design von Kubernetes. Während es sich auf chaotische Experimentalmodelle stützt, um Szenarien bequem zu entwickeln, kann es auch Kubernetes-Designkonzepte gut integrieren, über kubectl oder das Schreiben von Code direkt die Kubernetes-API aufrufen, um chaotische Experimente zu erstellen, zu aktualisieren und zu löschen. Der Ressourcenstatus kann den Ausführungsstatus des Experiments klar anzeigen und die Kubernetes-Fehlerinjektion standardisieren. Zusätzlich zu den oben genannten Methoden zur Durchführung von Experimenten können Sie auch die chaosblade-CLI-Methode verwenden, um Kubernetes-Experimentalszenarien auszuführen und den Experimentstatus sehr bequem abzufragen. Ausführliche Informationen finden Sie im chinesischen Dokument: Chaos-Engineering-Praxis unter Cloud Native

Kompilieren

Einzelheiten finden Sie in BUILD.md.

Fehler und Feedback

Für Fehlermeldungen, Fragen und Diskussionen reichen Sie bitte GitHub Issues ein.

Sie können uns auch kontaktieren über:

  • Dingding-Gruppe (für Chinesisch empfohlen): 23177705
  • Slack-Gruppe: chaosblade-io
  • Gitter-Raum: chaosblade community
  • E-Mail: [email protected]
  • Twitter: chaosblade.io

Mitwirken

Wir begrüßen jeden Beitrag, selbst wenn es nur ein Satzzeichen ist. Einzelheiten finden Sie in CONTRIBUTING. Für die Aufstiegsleiter von Studenten, die sich in der Community engagieren, siehe: (Contributor Ladder)

Unternehmensregistrierung

Die ursprüngliche Absicht unseres Open-Source-Projekts ist es, die Hürde für die Umsetzung von Chaos Engineering in Unternehmen zu senken. Daher legen wir großen Wert auf die Nutzung des Projekts in Unternehmen. Wir heißen alle hier willkommen: ISSUE. Nach der Registrierung werden Sie eingeladen, der Unternehmens-E-Mail-Gruppe beizutreten, um die Probleme zu besprechen, die beim Einsatz von Chaos Engineering im Unternehmen auftreten, und Erfahrungen mit dem Einsatz zu teilen.

Mitwirkende

Code-Mitwirkende

Dieses Projekt existiert dank aller Menschen, die dazu beitragen. [Contribute].

Lizenz

Chaosblade ist unter der Apache License, Version 2.0, lizenziert. Den vollständigen Lizenztext finden Sie in LICENSE.

Tool herunterladen
main2
blade server start -p 9526
curl "http://xxxx:9526/chaosblade?cmd=create%20cpu%20fullload"