Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
chaosblade — Un kit de experimentos de ingeniería del caos fácil de usar y potente. (Una herramienta de inyección de experimentos de caos sencilla, fácil de usar y potente, de código abierto de Alibaba) | Kitploit
Herramientas/GitHubGitHub/chaosblade-io/chaosblade
Seguridad de Infraestructura en la NubeSeguridad de ContenedoresDevSecOpsIngeniería del Caos
GitHubchaosblade-io/chaosblade

chaosblade

Un kit de experimentos de ingeniería del caos fácil de usar y potente. (Una herramienta de inyección de experimentos de caos sencilla, fácil de usar y potente, de código abierto de Alibaba)

Ver Repositorio
6.5k1.0khace 6 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

logo

Chaosblade: un kit de ingeniería del caos fácil de usar y potente

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

中文版 README
Wiki: DeepWiki

🔥🔥🔥 ACTUALIZACIÓN IMPORTANTE: Lanzamiento de Chaosblade Agent - Blade AI

imagen Blade AI actúa como la capa de agente inteligente dentro del ecosistema ChaosBlade: en el nivel fundamental, invoca a ChaosBlade para ejecutar la inyección de fallos; en el nivel superior, incorpora capacidades de orquestación como comprensión de intenciones, auditoría de seguridad, verificación de efectos, recuperación segura y generación de informes estructurados, transformando así los simulacros de fallos de un proceso de "escribir comandos manualmente" a uno completado mediante "interacción conversacional".

Para obtener información detallada, consulta: Blade AI README

  • Lanzamiento: blade-ai-v0.1.0
  • Rama de código: blade-ai-v0.1.0

Introducción

ChaosBlade es una herramienta de inyección de experimentos de código abierto de Alibaba que sigue los principios de la ingeniería del caos y los modelos de experimentos del caos para ayudar a las empresas a mejorar la tolerancia a fallos de los sistemas distribuidos y garantizar la continuidad del negocio durante el proceso de migración de las empresas a la nube o a los sistemas nativos de la nube.

Chaosblade es un proyecto de código abierto interno de MonkeyKing. Se basa en casi diez años de pruebas de fallos y prácticas de simulacros de Alibaba, y combina las mejores ideas y prácticas de los negocios del Grupo.

ChaosBlade no solo es fácil de usar, sino que también admite ricos escenarios experimentales. Los escenarios incluyen:

  • Recursos básicos: como CPU, memoria, red, disco, procesos y otros escenarios experimentales;
  • Aplicaciones Java: como bases de datos, cachés, mensajes, la propia JVM, microservicios, etc. También puedes especificar cualquier método de clase para inyectar diversos escenarios experimentales complejos;
  • Aplicaciones C ++: como especificar métodos arbitrarios o líneas de código experimentales para inyectar retrasos, alterar variables y valores de retorno;
  • Contenedores: como matar el contenedor, la CPU en el contenedor, memoria, red, disco, procesos y otros escenarios experimentales;
  • Plataformas nativas de la nube: por ejemplo, escenarios experimentales de CPU, memoria, red, disco y procesos en nodos de la plataforma Kubernetes, escenarios experimentales de red de Pod y del propio Pod, como matar Pods, y escenarios experimentales de contenedores, como el escenario experimental de contenedor Docker mencionado anteriormente;

Encapsular los escenarios por dominio en proyectos individuales no solo estandariza los escenarios del dominio, sino que también facilita la expansión horizontal y vertical de los escenarios. Siguiendo el modelo de experimentos del caos, se puede llamar a la CLI de chaosblade de manera uniforme. Los elementos incluidos actualmente son:

  • chaosblade: herramienta de gestión de experimentos del caos, que incluye comandos para crear experimentos, destruir experimentos, consultar experimentos, preparar entornos experimentales y cancelar entornos experimentales. Es la herramienta de ejecución de experimentos del caos. Los métodos de ejecución incluyen CLI y HTTP. Proporciona comandos completos, escenarios experimentales y descripciones de los parámetros de los escenarios, y la operación es simple y clara.
  • chaosblade-spec-go: definición en lenguaje Golang del modelo de experimentos del caos. Los escenarios implementados con el lenguaje Golang son fáciles de implementar basándose en esta especificación.
  • chaosblade-exec-os: implementación de escenarios experimentales de recursos básicos.
  • chaosblade-exec-docker: implementación de escenarios experimentales de contenedores Docker, estandarizada mediante la llamada a la API de Docker.
  • chaosblade-exec-cri: implementación de escenarios experimentales de contenedores, estandarizada mediante la llamada a la CRI.
  • chaosblade-operator: implementación de escenarios experimentales de la plataforma Kubernetes. Los experimentos del caos se definen mediante el método estándar CRD de Kubernetes; es muy conveniente utilizar el método de operación de recursos de Kubernetes para crear, actualizar y eliminar escenarios experimentales, incluido el uso de kubectl, client-go, etc., y también el uso de la herramienta CLI chaosblade descrita anteriormente.
  • chaosblade-exec-jvm: implementación de escenarios experimentales de aplicaciones Java. Utiliza la tecnología Java Agent para montarse dinámicamente, sin ninguna intrusión y con un uso de costo cero. También admite la desinstalación y recicla por completo los diversos recursos creados por el Agent.
  • chaosblade-exec-cplus: implementación de escenarios experimentales de aplicaciones C ++. Utiliza la tecnología GDB para implementar la inyección de escenarios experimentales a nivel de método y de línea de código.
  • chaosblade-box: posee capacidades de plataforma de ingeniería del caos y de plataforma de pruebas de resiliencia. Para obtener más información sobre las capacidades de la plataforma de pruebas de resiliencia, consulta la rama .

Inicio rápido

Esta guía te ayuda a ejecutar tu primera inyección de fallos en Kubernetes en menos de 5 minutos usando ChaosBlade. Inyectaremos un fallo de estrés de CPU en un Pod como ejemplo mínimo.

Prerrequisitos

Antes de comenzar, asegúrate de tener:

  • Acceso kubectl a un clúster de Kubernetes en ejecución (kubectl cluster-info se ejecuta correctamente)
  • Un namespace de destino con al menos un Pod en ejecución (por defecto: default)
  • ChaosBlade instalado:
    • El kit de herramientas CLI chaosblade descargado y extraído (el binario blade está en tu PATH)
    • El chaosblade-operator implementado en tu clúster (necesario para los escenarios de Kubernetes)

Instala el operador con Helm:

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

Verifica que el operador esté en ejecución:

root@kitploit:~
kubectl get pods -n chaosblade

Inyecta tu primer fallo (estrés de CPU)

Ejecuta un fallo de carga completa de CPU contra un Pod en el namespace default:

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

Si la inyección tiene éxito, ChaosBlade devuelve un resultado JSON que contiene un uid de experimento. Guarda este uid para verificar el estado o destruir el experimento más tarde:

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

Verifica el estado del experimento

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

Recupera (destruye el fallo)

Recupera siempre después de tu simulacro para restaurar el objetivo a la normalidad:

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

¡Eso es todo! Has completado un ciclo completo de inyección-verificación-recuperación. Para explorar más escenarios, ejecuta blade create k8s -h o consulta Práctica de ingeniería del caos en entornos nativos de la nube.

Comando CLI

Puedes descargar el último kit de herramientas chaosblade desde Releases, extraerlo y usarlo. Si deseas inyectar escenarios de fallos relacionados con Kubernetes, necesitas instalar chaosblade-operator. Para los documentos de uso detallados en chino, consulta chaosblade-help-zh-cn .

chaosblade admite métodos de invocación CLI y HTTP. Los comandos admitidos son los siguientes:

  • prepare: el alias es p, preparación antes del experimento de ingeniería del caos, como cuando se realizan simulacros en aplicaciones Java; necesitas adjuntar el agente Java. Por ejemplo, para realizar un simulacro en una aplicación cuyo nombre de aplicación es business, ejecuta blade p jvm --process business en el host de destino. Si el attach se realiza correctamente, devuelve el uid para la consulta de estado o la revocación del agente.
  • revoke: el alias es r, deshace la preparación previa del experimento de ingeniería del caos, como separar el agente Java. El comando es blade revoke UID
  • create: el alias es c, crea un experimento de ingeniería del caos. El comando es blade create [TARGET] [ACTION] [FLAGS]. Por ejemplo, si implementas un consumidor Dubbo que llama a la interfaz xxx.xxx.Service con un retraso de 3s, el comando ejecutado es blade create dubbo delay --consumer --time 3000 --Service xxx.xxx.Service; si la inyección es exitosa, devuelve el uid del experimento para la consulta de estado y la destrucción del experimento.
  • destroy: el alias es d, destruye un experimento de ingeniería del caos, como destruir el experimento de retraso de Dubbo mencionado anteriormente. El comando es blade destroy UID
  • status: el alias es s, consulta la etapa de preparación o el estado del experimento. El comando es blade status UID o blade status --type create
  • server: inicia el servidor web, expone el servicio HTTP y llama a chaosblade a través de solicitudes HTTP. Por ejemplo, ejecuta en la máquina de destino xxxx: para realizar un experimento de carga completa de CPU:

Usa el comando blade help [COMMAND] o blade [COMMAND] -h para ver la ayuda

Demo de experiencia

Descarga la imagen demo de chaosblade y experimenta el uso del kit de herramientas blade

demo.gif

Comando para descargar la imagen:

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

Ejecuta el contenedor demo:

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

Después de entrar en el contenedor, puedes leer el archivo README.txt para implementar el experimento del caos. Disfrútalo.

Nativo de la nube

El proyecto chaosblade-operator es una herramienta de inyección de experimentos del caos para plataformas nativas de la nube. Sigue el modelo de experimentos del caos para estandarizar el escenario experimental y define el experimento como recursos CRD de Kubernetes, mapeando los modelos experimentales a atributos de recursos de Kubernetes y combinando de manera muy amigable los modelos de experimentos del caos con el diseño declarativo de Kubernetes. Si bien se apoya en los modelos de experimentos del caos para desarrollar escenarios de manera conveniente, también puede integrar bien los conceptos de diseño de Kubernetes, ya sea a través de kubectl o escribiendo código para llamar directamente a la API de Kubernetes y crear, actualizar y eliminar experimentos del caos. El estado del recurso puede indicar claramente el estado de ejecución del experimento y estandarizar la inyección de fallos de Kubernetes. Además de usar los métodos anteriores para realizar experimentos, también puedes usar el método CLI de chaosblade para ejecutar escenarios experimentales de Kubernetes y consultar el estado del experimento de manera muy conveniente. Para obtener más detalles, lee el documento en chino: Práctica de ingeniería del caos en entornos nativos de la nube

Compilación

Consulta BUILD.md para obtener los detalles.

Errores y comentarios

Para informes de errores, preguntas y discusiones, envía GitHub Issues.

También puedes contactarnos a través de:

  • Grupo de Dingding (recomendado para usuarios chinos): 23177705
  • Grupo de Slack: chaosblade-io
  • Sala de Gitter: comunidad chaosblade
  • Correo electrónico: [email protected]
  • Twitter: chaosblade.io

Contribuciones

Damos la bienvenida a todas las contribuciones, incluso si es solo puntuación. Consulta los detalles de CONTRIBUTING. Para la escalera de promoción de los estudiantes que participan específicamente en la comunidad, consulta: (Contributor Ladder)

Registro empresarial

La intención original de nuestro proyecto de código abierto es reducir el umbral para que la ingeniería del caos se implemente en las empresas, por lo que valoramos mucho el uso del proyecto en las empresas. Damos la bienvenida a todos aquí: ISSUE. Después del registro, serás invitado a unirte al grupo de correo corporativo para discutir los problemas que encuentra la ingeniería del caos en la implementación en la empresa y compartir la experiencia de implementación.

Contribuyentes

Contribuyentes de código

Este proyecto existe gracias a todas las personas que contribuyen. [Contribuir].

Licencia

Chaosblade está licenciado bajo la Licencia Apache, Versión 2.0. Consulta LICENSE para obtener el texto completo de la licencia.

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