Repolode
microsoft

microsoft/CyberBattleSim

Plataforma de investigación para estudiar cómo interactúan agentes automatizados de ataque y defensa en redes empresariales simuladas, con una interfaz de OpenAI Gym.

Estrellas
1,804
Forks
283
Issues abiertos
22
Último commit
hace 8 días

¿Qué es?

CyberBattleSim es una plataforma de investigación para estudiar cómo se comportan agentes automatizados en una red empresarial abstracta y simulada. La red se define mediante una topología fija y un conjunto de vulnerabilidades introducidas en sus nodos. Un agente atacante intenta tomar el control de una parte de la red desplazándose lateralmente y explotando esas vulnerabilidades, mientras que un defensor estocástico básico detecta los ataques y los mitiga volviendo a crear las imágenes de los nodos infectados.

El entorno ofrece una interfaz de Python para OpenAI Gym, con la que se pueden entrenar algoritmos de aprendizaje por refuerzo. Los agentes se comparan según el número de pasos de simulación que necesitan para alcanzar su objetivo y las recompensas acumuladas a lo largo de las épocas de entrenamiento. El repositorio incluye agentes de referencia, redes de ejemplo —como un entorno sencillo de capture the flag y topologías en cadena— y notebooks de Jupyter para exploración interactiva y pruebas comparativas.

La simulación está simplificada deliberadamente. Se centra en el movimiento lateral y no modela el tráfico de red real, por lo que se mantiene en un plano abstracto y no es adecuada para usarla directamente contra sistemas reales.

Funciones clave

  • 01Simula el movimiento lateral y la explotación de vulnerabilidades en una red empresarial abstracta.
  • 02Ofrece una interfaz de OpenAI Gym para entrenar agentes de aprendizaje por refuerzo.
  • 03Incluye un defensor estocástico que detecta los nodos comprometidos y vuelve a crear sus imágenes.
  • 04Incluye agentes de referencia, topologías de ejemplo y notebooks de pruebas comparativas.
  • 05Compara los agentes según los pasos que tardan en alcanzar el objetivo y las recompensas acumuladas.

Casos de uso

  • Investigar cómo afectan la topología y la configuración de red a los ataques de movimiento lateral.
  • Evaluar algoritmos de aprendizaje por refuerzo en espacios de acciones discretos de gran tamaño.
  • Estudiar las interacciones entre agentes atacantes y defensores en un entorno seguro y abstracto.
  • Enseñar conceptos de ciberseguridad automatizada mediante notebooks interactivos.

Inicio rápido

  1. 1

    Clona el repositorio

    git clone https://github.com/microsoft/CyberBattleSim.git
  2. 2

    Instala el gestor de paquetes uv (omítelo si ya está instalado)

    bash install-uv.sh
  3. 3

    Ejecuta el script de inicialización para crear el entorno virtual

    bash init.sh
  4. 4

    Ejecuta una simulación breve con el agente RL de referencia

    python -m cyberbattle.agents.baseline.run --training_episode_count 5 --eval_episode_count 3 --iteration_count 100 --rewardplot_width 80 --chain_size=4 --ownership_goal 0.2

Antes de usarlo

  • La simulación es un modelo de investigación muy abstracto, no una herramienta para redes del mundo real.
  • El entorno compatible es Linux o WSL; no se admite la ejecución directa en Windows.
  • La imagen de Docker precompilada es privada, así que debes volver a crearla tú mismo a partir del Dockerfile.

En colecciones

Temas

Preguntas frecuentes

¿Qué es CyberBattleSim?
Plataforma de investigación para estudiar cómo interactúan agentes automatizados de ataque y defensa en redes empresariales simuladas, con una interfaz de OpenAI Gym. CyberBattleSim es una plataforma de investigación para estudiar cómo se comportan agentes automatizados en una red empresarial abstracta y simulada. La red se define mediante una topología fija y un conjunto de vulnerabilidades introducidas en sus nodos. Un agente atacante intenta tomar el control de una parte de la red desplazándose lateralmente y explotando esas vulnerabilidades, mientras que un defensor estocástico básico detecta los ataques y los mitiga volviendo a crear las imágenes de los nodos infectados.
¿CyberBattleSim es gratuito? ¿Qué licencia tiene?
CyberBattleSim es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿CyberBattleSim sigue mantenido?
Mantenimiento activo. El último commit de CyberBattleSim fue el 30 oct 2026.
¿Para qué puedo usar CyberBattleSim?
Investigar cómo afectan la topología y la configuración de red a los ataques de movimiento lateral. Evaluar algoritmos de aprendizaje por refuerzo en espacios de acciones discretos de gran tamaño. Estudiar las interacciones entre agentes atacantes y defensores en un entorno seguro y abstracto. Enseñar conceptos de ciberseguridad automatizada mediante notebooks interactivos.
¿Cómo se instala CyberBattleSim?
Clona el repositorio: git clone https://github.com/microsoft/CyberBattleSim.git Instala el gestor de paquetes uv (omítelo si ya está instalado): bash install-uv.sh Ejecuta el script de inicialización para crear el entorno virtual: bash init.sh Ejecuta una simulación breve con el agente RL de referencia: python -m cyberbattle.agents.baseline.run --training_episode_count 5 --eval_episode_count 3 --iteration_count 100 --rewardplot_width 80 --chain_size=4 --ownership_goal 0.2
¿Dónde consigo CyberBattleSim?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/microsoft/CyberBattleSim

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados