Biblioteca Python com uma API padrão e ambientes de referência para pesquisa em aprendizado por reforço multiagente, semelhante ao Gymnasium.
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
Clone o repositório
git clone https://github.com/microsoft/CyberBattleSim.git - 2
Instale o gerenciador de pacotes uv (ignore se já estiver instalado)
bash install-uv.sh - 3
Execute o script de inicialização para criar o ambiente virtual
bash init.sh - 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
Uma API Python padrão para ambientes de aprendizado por reforço com agente único, além de um conjunto de ambientes de referência, derivado do Gym da OpenAI.
Uma coleção de ambientes de direção simulada compatíveis com Gymnasium para treinar e testar agentes de direção autônoma e tomada de decisão.
Um simulador leve de direção em Python para pesquisa em aprendizado por reforço e direção autônoma, com simulação de sensores e ambientes no estilo Gymnasium.
Conjunto de ambientes de partículas multiagente no estilo PettingZoo para pesquisas sobre comunicação, cooperação e competição entre agentes.
Ambientes Gymnasium baseados em PyBullet para treinar controladores de aprendizado por reforço para quadricópteros, com um ou vários agentes.