Repolode
microsoft

microsoft/CyberBattleSim

用于研究自动化攻防智能体在模拟企业网络中相互作用的实验平台,提供 OpenAI Gym 接口。

Star
1,804
Fork
283
未关闭 Issue
22
最近提交
9天前

这是什么?

CyberBattleSim 是一个研究平台,用于观察自动化智能体在抽象模拟企业网络中的行为。网络由固定的拓扑结构和植入节点的漏洞定义:攻击者智能体通过横向移动并利用这些漏洞争夺网络控制权,防御者则基于预设概率检测攻击,并通过重装受感染节点来缓解影响。

环境提供基于 Python 的 OpenAI Gym 接口,便于用强化学习算法对其进行训练。智能体的表现可以从达成目标所需的仿真步数和训练过程中的累计奖励来比较。仓库内含基线智能体、示例网络(如夺旗赛玩具环境和链式拓扑)以及用于交互探索和基准测试的 Jupyter 笔记本。

该仿真有意做了高度简化,重点放在横向移动上,没有对真实网络流量建模,因此它只适合研究用途,不能直接应用于真实系统。

核心功能

  • 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

    使用基线强化学习智能体运行一次简短模拟

    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 最近一次提交是在 2026年10月30日。
CyberBattleSim 适合用来做什么?
研究网络拓扑和配置如何影响横向移动攻击。 在大规模离散动作空间下对强化学习算法进行基准测试。 在安全、抽象的环境中研究攻防智能体之间的相互作用。 通过交互式笔记本向学生讲解自动化网络安全概念。
CyberBattleSim 怎么安装和运行?
克隆代码仓库: git clone https://github.com/microsoft/CyberBattleSim.git 安装 uv 包管理器(如已安装可跳过): bash install-uv.sh 运行初始化脚本以创建虚拟环境: bash init.sh 使用基线强化学习智能体运行一次简短模拟: 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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目