Welcome to the Documentation!

Welcome to the documentation for Continuous CyberBattleSim, an advanced extension of Microsoft’s CyberBattleSim [1]. While the original project serves as a research platform for exploring autonomous agents in enterprise networks, this version introduces a complete pipeline—from real-world data acquisition to training and evaluation of scalable, generalizable DRL agents—using continuous scenario representations.

Main Contributions

_images/home.png

Figure 1 – Overview of the main contributions introduced in the C-CyberBattleSim project.

This repository builds upon the CyberBattleSim framework by introducing a modular, multi-stage pipeline with the following core components:

1. Automated Scenario Generation
  • Leverages Shodan [2] and NVD [3] data to extract real-world service distributions and vulnerabilities. It uses this data to generates diverse synthetic scenarios via domain randomization based on configurable parameters.

  • 📄 Docs: Data Scraping, Scenario Generation

2. Game Reformulation
  • Models the attack environment as a Partially Observable Markov Decision Process (POMDP) [8], allowing more realistic and effective learning.

  • 📄 Docs: POMDP Formulation

3. Embedding Model Learning
  • Uses Graph AutoEncoders and Language Models (from HuggingFace [6]) to embed graph and vulnerability information into latent continuous spaces.

  • 📄 Docs: Embedding Model

4. Invariant Agent Architecture
  • Defines observation and action spaces that are independent of specific graph topologies or vulnerability sets by leveraging the previously described latent representations. This framework supports the training of DRL algorithms using Stable-Baselines3 implementations [5], and enables direct comparison with the global and local space formulations introduced in prior work [7].

  • 📄 Docs: Agent Spaces, Agent Training, Agent Testing

🧪 It is possible to explore all or a subset of these features, depending on the specific requirements of the research or project. If some sections are not explored, it is possible to download and use default available database, scenarios, and models with an automated script. The project includes and integrate the API of reliable libraries and a simple and intituitive Command Line Interface (CLI) to setup experiments.

Advanced Features

These optional modules provide deeper control over agent behavior and environment dynamics:

Reward Function Design
  • Tailored reward shaping to prioritize specific attack behaviors and learning objectives.

  • 📄 Docs: Reward Function

MITRE ATT&CK Tactics Classification
  • Maps vulnerability descriptions to MITRE ATT&CK [4] tactics to model the approximation of vulnerabilities’ impact on the environment.

  • 📄 Docs: MITRE Classification

Static Defender Agents
  • Adds hard-coded defenders that react to attacker behavior, introducing variability and unpredictability.

  • 📄 Docs: Static Defenders

Paper Reference

Franco Terranova, Abdelkader Lahmadi, Isabelle Chrisment. Scalable and Generalizable RL Agents for Attack Path Discovery via Continuous Invariant Spaces. The 28th International Symposium on Research in Attacks, Intrusions and Defenses (RAID 2025).

The paper elaborates on the full pipeline and experimental results.

Citation

Use the following BibTeX entry to cite this project:

@INPROCEEDINGS{terranova2025rlAttackPath,
  author={Terranova, Franco and Lahmadi, Abdelkader and Chrisment, Isabelle},
  booktitle={2025 28th International Symposium on Research in Attacks, Intrusions and Defenses (RAID)},
  title={Scalable and Generalizable RL Agents for Attack Path Discovery via Continuous Invariant Spaces},
  year={2025},
  volume={},
  number={},
  pages={440-457},
  doi={10.1109/RAID67961.2025.00029}
}

License

This project is released under the MIT License, a permissive open-source license that allows free use, modification, and distribution of the code, provided that the original copyright and license notice are included in all copies or substantial portions of the software. For the full terms, see the LICENSE file in the repository.

Resources

References