Repolode
microsoft

microsoft/CyberBattleSim

Plataforma de pesquisa para estudar a interação entre agentes automatizados de ataque e defesa em redes corporativas simuladas, com interface OpenAI Gym.

Estrelas
1,804
Forks
283
Issues abertas
22
Último commit
há 9 dias

O que é?

CyberBattleSim é uma plataforma de pesquisa para estudar o comportamento de agentes automatizados em uma rede corporativa simulada e abstrata. A rede é definida por uma topologia fixa e um conjunto de vulnerabilidades inseridas em seus nós. Um agente atacante tenta assumir o controle de parte da rede movendo-se lateralmente e explorando essas vulnerabilidades, enquanto um defensor estocástico básico detecta ataques e os mitiga reimaginando os nós infectados.

O ambiente oferece uma interface Python OpenAI Gym, permitindo treinar algoritmos de aprendizado por reforço. Os agentes são comparados pelo número de etapas de simulação necessárias para atingir seu objetivo e pelas recompensas acumuladas ao longo das épocas de treinamento. O repositório inclui agentes de referência, redes de exemplo — como um ambiente simplificado de capture-the-flag e topologias em cadeia — e notebooks Jupyter para exploração interativa e benchmarks.

A simulação é intencionalmente simplificada. Ela se concentra na movimentação lateral e não modela o tráfego de rede real, o que a mantém abstrata e inadequada para uso direto contra sistemas reais.

Recursos principais

  • 01Simula movimentação lateral e exploração de vulnerabilidades em uma rede corporativa abstrata.
  • 02Oferece uma interface OpenAI Gym para treinar agentes de aprendizado por reforço.
  • 03Inclui um defensor estocástico que detecta e reimagina nós comprometidos.
  • 04Inclui agentes de referência, topologias de exemplo e notebooks de benchmark.
  • 05Compara agentes pelo número de etapas até o objetivo e pelas recompensas acumuladas.

Casos de uso

  • Pesquisar como a topologia e a configuração da rede afetam ataques de movimentação lateral.
  • Avaliar algoritmos de aprendizado por reforço em espaços de ações discretos de grande dimensão.
  • Estudar as interações entre agentes de ataque e defesa em um ambiente seguro e abstrato.
  • Ensinar conceitos de cibersegurança automatizada a estudantes por meio de notebooks interativos.

Início rápido

  1. 1

    Clone o repositório

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

    Instale o gerenciador de pacotes uv (ignore se já estiver instalado)

    bash install-uv.sh
  3. 3

    Execute o script de inicialização para criar o ambiente virtual

    bash init.sh
  4. 4

    Execute uma simulação curta com o agente RL de referência

    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 usar

  • A simulação é um modelo de pesquisa altamente abstrato, não uma ferramenta para redes do mundo real.
  • O ambiente compatível é Linux ou WSL; a execução diretamente no Windows não é compatível.
  • A imagem Docker pré-compilada é privada, então você precisa reconstruí-la por conta própria usando o Dockerfile.

Em coleções

Tópicos

Perguntas frequentes

O que é CyberBattleSim?
Plataforma de pesquisa para estudar a interação entre agentes automatizados de ataque e defesa em redes corporativas simuladas, com interface OpenAI Gym. CyberBattleSim é uma plataforma de pesquisa para estudar o comportamento de agentes automatizados em uma rede corporativa simulada e abstrata. A rede é definida por uma topologia fixa e um conjunto de vulnerabilidades inseridas em seus nós. Um agente atacante tenta assumir o controle de parte da rede movendo-se lateralmente e explorando essas vulnerabilidades, enquanto um defensor estocástico básico detecta ataques e os mitiga reimaginando os nós infectados.
CyberBattleSim é gratuito? Qual é a licença?
CyberBattleSim é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
CyberBattleSim ainda é mantido?
Manutenção ativa. O último commit de CyberBattleSim foi em 30 de out. de 2026.
Para que posso usar CyberBattleSim?
Pesquisar como a topologia e a configuração da rede afetam ataques de movimentação lateral. Avaliar algoritmos de aprendizado por reforço em espaços de ações discretos de grande dimensão. Estudar as interações entre agentes de ataque e defesa em um ambiente seguro e abstrato. Ensinar conceitos de cibersegurança automatizada a estudantes por meio de notebooks interativos.
Como instalar CyberBattleSim?
Clone o repositório: git clone https://github.com/microsoft/CyberBattleSim.git Instale o gerenciador de pacotes uv (ignore se já estiver instalado): bash install-uv.sh Execute o script de inicialização para criar o ambiente virtual: bash init.sh Execute uma simulação curta com o agente RL de referência: 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
Onde consigo CyberBattleSim?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/microsoft/CyberBattleSim

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados