Repolode
microsoft

microsoft/CyberBattleSim

Исследовательская платформа для изучения взаимодействия автоматизированных атакующих и защищающих агентов в симулируемых корпоративных сетях с интерфейсом OpenAI Gym.

Звёзды
1,805
Форки
283
Открытые issues
22
Последний коммит
7 дней назад

Что это?

CyberBattleSim — исследовательская платформа для изучения поведения автоматизированных агентов в абстрактной симулируемой корпоративной сети. Сеть задаётся фиксированной топологией и набором уязвимостей, заложенных в её узлах. Атакующий агент пытается получить контроль над частью сети, перемещаясь по ней и эксплуатируя уязвимости, а простой стохастический защитник обнаруживает атаки и устраняет их, переустанавливая образы заражённых узлов.

Среда предоставляет интерфейс Python OpenAI Gym, позволяющий обучать алгоритмы обучения с подкреплением. Агентов сравнивают по числу шагов симуляции, необходимых для достижения цели, и по суммарному вознаграждению за эпохи обучения. В репозитории есть базовые агенты, примеры сетей — например, учебная среда capture-the-flag и цепочечные топологии, — а также Jupyter notebooks для интерактивного изучения и тестирования.

Симуляция намеренно упрощена. Она сосредоточена на боковом перемещении и не моделирует реальный сетевой трафик, поэтому остаётся абстрактной и не подходит для прямого применения против реальных систем.

Ключевые возможности

  • 01Моделирует боковое перемещение и эксплуатацию уязвимостей в абстрактной корпоративной сети.
  • 02Предоставляет интерфейс OpenAI Gym для обучения агентов с подкреплением.
  • 03Включает стохастического защитника, который обнаруживает заражённые узлы и переустанавливает на них образы.
  • 04Содержит базовых агентов, примеры топологий и блокноты для тестирования.
  • 05Сравнивает агентов по числу шагов до достижения цели и суммарному вознаграждению.

Сценарии использования

  • Изучение влияния топологии и конфигурации сети на атаки с боковым перемещением.
  • Сравнение алгоритмов обучения с подкреплением в средах с большим дискретным пространством действий.
  • Изучение взаимодействия атакующих и защищающих агентов в безопасной абстрактной среде.
  • Обучение студентов основам автоматизированной кибербезопасности с помощью интерактивных блокнотов.

Быстрый старт

  1. 1

    Клонируйте репозиторий

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

    Установите менеджер пакетов uv (пропустите этот шаг, если он уже установлен)

    bash install-uv.sh
  3. 3

    Запустите скрипт инициализации, чтобы создать виртуальное окружение

    bash init.sh
  4. 4

    Запустите короткую симуляцию с базовым RL-агентом

    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

Что важно знать

  • Симуляция представляет собой сильно абстрагированную исследовательскую модель, а не инструмент для реальных сетей.
  • Поддерживаемая среда — Linux или WSL; запуск непосредственно в Windows не поддерживается.
  • Готовый образ Docker закрытый, поэтому его нужно самостоятельно пересобрать из Dockerfile.

В подборках

Темы

Частые вопросы

Что такое CyberBattleSim?
Исследовательская платформа для изучения взаимодействия автоматизированных атакующих и защищающих агентов в симулируемых корпоративных сетях с интерфейсом OpenAI Gym. CyberBattleSim — исследовательская платформа для изучения поведения автоматизированных агентов в абстрактной симулируемой корпоративной сети. Сеть задаётся фиксированной топологией и набором уязвимостей, заложенных в её узлах. Атакующий агент пытается получить контроль над частью сети, перемещаясь по ней и эксплуатируя уязвимости, а простой стохастический защитник обнаруживает атаки и устраняет их, переустанавливая образы заражённых узлов.
CyberBattleSim можно использовать бесплатно? Какая у него лицензия?
CyberBattleSim распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
CyberBattleSim всё ещё поддерживается?
Активно поддерживается. Последний коммит в CyberBattleSim — 30 окт. 2026 г..
Для чего можно использовать CyberBattleSim?
Изучение влияния топологии и конфигурации сети на атаки с боковым перемещением. Сравнение алгоритмов обучения с подкреплением в средах с большим дискретным пространством действий. Изучение взаимодействия атакующих и защищающих агентов в безопасной абстрактной среде. Обучение студентов основам автоматизированной кибербезопасности с помощью интерактивных блокнотов.
Как установить CyberBattleSim?
Клонируйте репозиторий: git clone https://github.com/microsoft/CyberBattleSim.git Установите менеджер пакетов uv (пропустите этот шаг, если он уже установлен): bash install-uv.sh Запустите скрипт инициализации, чтобы создать виртуальное окружение: bash init.sh Запустите короткую симуляцию с базовым RL-агентом: 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
Где скачать CyberBattleSim?
Исходный код и инструкции по установке — на GitHub: https://github.com/microsoft/CyberBattleSim

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Python-библиотека со стандартным API и эталонными средами для исследований многоагентного обучения с подкреплением, аналогичная Gymnasium.

3,6 тыс.+9 за неделю555PythonMITАктивно поддерживаетсяОбновлён 7 дней назад