Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
chaosblade — Un toolkit di chaos engineering facile da usare e potente. (Uno strumento open source di Alibaba per l'iniezione di esperimenti di chaos, semplice e potente.) | Kitploit
Strumenti/GitHubGitHub/chaosblade-io/chaosblade
Sicurezza dell'Infrastruttura CloudSicurezza dei ContenitoriDevSecOpsIngegneria del Caos
GitHubchaosblade-io/chaosblade

chaosblade

Un toolkit di chaos engineering facile da usare e potente. (Uno strumento open source di Alibaba per l'iniezione di esperimenti di chaos, semplice e potente.)

Vedi Repository
6.5k1.0k6 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

logo

Chaosblade: un toolkit di chaos engineering facile da usare e potente

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

Versione cinese README
Wiki: DeepWiki

🔥🔥🔥 Aggiornamento importante: Chaosblade Agent rilasciato - Blade AI

immagine Blade AI funge da livello di agente intelligente nell'ecosistema ChaosBlade: a livello fondamentale, richiama ChaosBlade per eseguire l'iniezione di guasti; a livello superiore, incorpora capacità di orchestrazione come comprensione dell'intento, audit di sicurezza, verifica degli effetti, ripristino sicuro e reportistica strutturata, trasformando così le esercitazioni sui guasti da un processo di "scrittura manuale di comandi" a uno completato tramite "interazione conversazionale".

Per informazioni dettagliate, fare riferimento a: Blade AI README

  • Release: blade-ai-v0.1.0
  • Branch del codice: blade-ai-v0.1.0

Introduzione

ChaosBlade è uno strumento open source di Alibaba per l'iniezione di esperimenti che segue i principi del chaos engineering e i modelli di esperimento del caos per aiutare le aziende a migliorare la tolleranza ai guasti dei sistemi distribuiti e garantire la continuità operativa durante il processo di migrazione verso il cloud o verso sistemi cloud native.

Chaosblade è un progetto open source interno di MonkeyKing. Si basa su quasi dieci anni di pratica di test ed esercitazioni sui guasti di Alibaba e combina le migliori idee e pratiche delle attività del Gruppo.

ChaosBlade non è solo facile da usare, ma supporta anche ricchi scenari sperimentali. Gli scenari includono:

  • Risorse di base: come CPU, memoria, rete, disco, processi e altri scenari sperimentali;
  • Applicazioni Java: come database, cache, messaggi, la JVM stessa, microservizi, ecc. Puoi anche specificare un qualsiasi metodo di classe per iniettare vari scenari sperimentali complessi;
  • Applicazioni C ++: come specificare metodi arbitrari o linee di codice sperimentali per l'iniezione di ritardi, l'alterazione di variabili e valori di ritorno;
  • contenitore: come l'uccisione del contenitore, scenari sperimentali come CPU, memoria, rete, disco, processi all'interno del contenitore;
  • piattaforme cloud native: ad esempio, scenari sperimentali su CPU, memoria, rete, disco e processi sui nodi della piattaforma Kubernetes, scenari sperimentali sulla rete Pod e sul Pod stesso come l'uccisione dei Pod, e scenari sperimentali sui contenitori come il suddetto scenario per contenitori Docker;

Incapsulare gli scenari per dominio in progetti separati non solo consente di standardizzare gli scenari del dominio, ma facilita anche l'espansione orizzontale e verticale degli scenari. Seguendo il modello di esperimento del caos, la CLI di chaosblade può essere richiamata in modo uniforme. Gli elementi attualmente inclusi sono:

  • chaosblade: strumento di gestione degli esperimenti di chaos, include comandi per creare esperimenti, distruggere esperimenti, interrogare esperimenti, preparare ambienti sperimentali e annullare ambienti sperimentali. È lo strumento per l'esecuzione di esperimenti di chaos. I metodi di esecuzione includono CLI e HTTP. Fornisce comandi completi, scenari sperimentali e descrizioni dei parametri degli scenari, con un funzionamento semplice e chiaro.
  • chaosblade-spec-go: definizione in linguaggio Golang del modello di esperimento di chaos; gli scenari implementati con il linguaggio Golang sono facili da realizzare sulla base di questa specifica.
  • chaosblade-exec-os: implementazione degli scenari sperimentali delle risorse di base.
  • chaosblade-exec-docker: implementazione degli scenari sperimentali per contenitori Docker, standardizzata tramite chiamate all'API Docker.
  • chaosblade-exec-cri: implementazione degli scenari sperimentali per contenitori, standardizzata tramite chiamate al CRI.
  • chaosblade-operator: implementa gli scenari sperimentali della piattaforma Kubernetes; gli esperimenti di chaos sono definiti tramite il metodo standard CRD di Kubernetes. È molto comodo usare il metodo di operazione sulle risorse Kubernetes per creare, aggiornare ed eliminare scenari sperimentali, anche tramite kubectl, client-go, ecc., e anche usando lo strumento CLI chaosblade descritto sopra.
  • chaosblade-exec-jvm: implementazione degli scenari sperimentali per applicazioni Java; utilizza la tecnologia Java Agent per l'aggancio dinamico, senza alcuna integrazione e con un utilizzo a costo zero. Supporta inoltre la disinstallazione e ricicla completamente le varie risorse create dall'Agent.
  • chaosblade-exec-cplus: implementazione degli scenari sperimentali per applicazioni C++; utilizza la tecnologia GDB per implementare l'iniezione di scenari sperimentali a livello di metodo e di riga di codice.
  • chaosblade-box: dispone delle funzionalità di piattaforma di chaos engineering e di piattaforma di test della resilienza. Per maggiori informazioni sulle funzionalità della piattaforma di test della resilienza, vedere il branch .

Avvio rapido

Questa guida ti aiuta a eseguire la tua prima iniezione di guasto su Kubernetes in meno di 5 minuti usando ChaosBlade. Inietteremo un guasto da stress della CPU in un Pod come esempio minimale.

Prerequisiti

Prima di iniziare, assicurati di avere:

  • accesso kubectl a un cluster Kubernetes in esecuzione (kubectl cluster-info restituisce esito positivo)
  • un namespace di destinazione con almeno un Pod in esecuzione (predefinito: default)
  • ChaosBlade installato:
    • il toolkit CLI chaosblade scaricato ed estratto (il binario blade è nel tuo PATH)
    • il chaosblade-operator distribuito nel tuo cluster (richiesto per gli scenari Kubernetes)

Installa l'operatore con Helm:

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

Verifica che l'operatore sia in esecuzione:

root@kitploit:~
kubectl get pods -n chaosblade

Inietta il tuo primo guasto (stress della CPU)

Esegui un guasto da carico completo della CPU su un Pod nel namespace default:

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

Se l'iniezione riesce, ChaosBlade restituisce un risultato JSON contenente un uid dell'esperimento. Salva questo uid per verificare lo stato o distruggere l'esperimento in seguito:

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

Verifica lo stato dell'esperimento

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

Recupero (distruzione del guasto)

Recupera sempre dopo l'esercitazione per riportare il target alla normalità:

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

Tutto qui! Hai completato un ciclo completo di iniezione-verifica-recupero. Per esplorare altri scenari, esegui blade create k8s -h oppure consulta Pratica di Chaos Engineering in ambiente Cloud Native.

Comandi CLI

Puoi scaricare l'ultimo toolkit chaosblade da Releases, estrarlo e usarlo. Se vuoi iniettare scenari di guasto correlati a Kubernetes, devi installare chaosblade-operator. Per la documentazione d'uso dettagliata in cinese, consulta chaosblade-help-zh-cn .

chaosblade supporta metodi di invocazione CLI e HTTP. I comandi supportati sono i seguenti:

  • prepare: l'alias è p, preparazione prima dell'esperimento di chaos engineering, ad esempio per testare applicazioni Java è necessario agganciare l'agente Java. Ad esempio, per testare un'applicazione il cui nome è business, esegui blade p jvm --process business sull'host di destinazione. Se l'aggancio riesce, viene restituito l'uid per la query di stato o per la revoca dell'agente.
  • revoke: l'alias è r, annulla la preparazione precedente dell'esperimento di chaos engineering, ad esempio il distacco dell'agente Java. Il comando è blade revoke UID
  • create: l'alias è c, crea un esperimento di chaos engineering. Il comando è blade create [TARGET] [ACTION] [FLAGS]. Ad esempio, se si implementa una chiamata del consumer Dubbo all'interfaccia xxx.xxx.Service con un ritardo di 3s, il comando eseguito è blade create dubbo delay --consumer --time 3000 --Service xxx.xxx.Service; se l'iniezione riesce, viene restituito l'uid sperimentale per la query di stato e la distruzione dell'esperimento.
  • destroy: l'alias è d, distrugge un esperimento di chaos engineering, ad esempio distruggendo l'esperimento di ritardo Dubbo menzionato sopra, il comando è blade destroy UID
  • status: l'alias è s, interroga la fase di preparazione o lo stato dell'esperimento, il comando è blade status UID oppure blade status --type create
  • server: avvia il server web, espone il servizio HTTP e consente di chiamare chaosblade tramite richieste HTTP. Ad esempio, esegui sulla macchina di destinazione xxxx: per eseguire un esperimento di carico completo della CPU: curl "" `

Usa il comando blade help [COMMAND] oppure blade [COMMAND] -h per visualizzare la guida.

Demo di prova

Scarica l'immagine demo di chaosblade e prova l'utilizzo del toolkit blade

demo.gif

Comando per scaricare l'immagine:

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

Esegui il container demo:

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

Dopo essere entrati nel container, puoi leggere il file README.txt per eseguire l'esperimento di chaos. Buon divertimento!

Cloud Native

Il progetto chaosblade-operator è uno strumento di iniezione di esperimenti di chaos per piattaforme cloud native. Segue il modello di esperimento di chaos per standardizzare lo scenario sperimentale e definisce l'esperimento come risorse CRD di Kubernetes, mappando i modelli sperimentali sugli attributi delle risorse Kubernetes e combinando in modo molto efficace i modelli di esperimento di chaos con il design dichiarativo di Kubernetes. Pur basandosi sui modelli di esperimento di chaos per sviluppare comodamente gli scenari, integra anche bene i concetti di design di Kubernetes: tramite kubectl o scrivendo codice è possibile chiamare direttamente le API Kubernetes per creare, aggiornare ed eliminare esperimenti di chaos, e lo stato delle risorse può indicare chiaramente lo stato di esecuzione dell'esperimento, standardizzando l'iniezione di guasti in Kubernetes. Oltre a utilizzare i metodi sopra indicati per eseguire esperimenti, puoi anche usare il metodo CLI chaosblade per eseguire scenari sperimentali Kubernetes e interrogare lo stato dell'esperimento in modo molto comodo. Per i dettagli, leggi il documento in cinese: Pratica di Chaos Engineering in ambiente Cloud Native

Compilazione

Vedi BUILD.md per i dettagli.

Bug e feedback

Per segnalare bug, domande e discussioni, invia GitHub Issues.

Puoi anche contattarci tramite:

  • Gruppo Dingding (consigliato per i cinesi): 23177705
  • Gruppo Slack: chaosblade-io
  • Stanza Gitter: chaosblade community
  • Email: [email protected]
  • Twitter: chaosblade.io

Contributi

Accogliamo con piacere ogni contributo, anche se si tratta solo di punteggiatura. Vedi i dettagli in CONTRIBUTING. Per la scala di avanzamento dei partecipanti alla community, consulta: (Contributor Ladder)

Registrazione aziendale

L'intenzione originale del nostro progetto open source è abbassare la soglia per l'implementazione del chaos engineering nelle aziende, quindi diamo grande valore all'utilizzo del progetto nelle imprese. Tutti sono i benvenuti qui ISSUE. Dopo la registrazione, sarai invitato a unirti alla mailing list aziendale per discutere i problemi incontrati dal Chaos Engineering nell'implementazione in azienda e condividere l'esperienza di implementazione.

Contributori

Contributori di codice

Questo progetto esiste grazie a tutte le persone che contribuiscono. [Contribuisci].

Licenza

Chaosblade è concesso in licenza secondo i termini della Apache License, Version 2.0. Vedi LICENSE per il testo completo della licenza.

Scarica lo strumento
main2
blade server start -p 9526
http://xxxx:9526/chaosblade?cmd=create%20cpu%20fullload