Python-библиотека со стандартным API и эталонными средами для исследований многоагентного обучения с подкреплением, аналогичная Gymnasium.
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
Клонируйте репозиторий
git clone https://github.com/microsoft/CyberBattleSim.git - 2
Установите менеджер пакетов uv (пропустите этот шаг, если он уже установлен)
bash install-uv.sh - 3
Запустите скрипт инициализации, чтобы создать виртуальное окружение
bash init.sh - 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 для одноагентных сред обучения с подкреплением и набор эталонных сред, форк OpenAI Gym.
Совместимый с Gymnasium набор симуляторов вождения для обучения и тестирования агентов автономного вождения и принятия решений.
Лёгкий симулятор вождения на Python для обучения с подкреплением и исследований автономного вождения, с симуляцией сенсоров и средами в стиле Gymnasium.
Набор многоагентных сред с частицами в стиле PettingZoo для исследований коммуникации, сотрудничества и конкуренции между агентами.
Среды Gymnasium на базе PyBullet для обучения контроллеров квадрокоптеров с подкреплением — как одиночных, так и мультиагентных.