Installation and Setup
Follow the steps below to set up the project environment and download the required resources to launch the project pipeline.
Create the Python Environment
You can set up the Python environment using either Conda or pip.
Option 1: Using Conda
Run the following command to create a new environment with the required dependencies:
conda env create -f environment.yml
Option 2: Using pip
Alternatively, you can install the dependencies with pip:
pip install -r requirements.txt
Initialize Default Resources
Once the environment is ready, you can either download the default files and models or reuse the exact resources used in the paper.
Option 1: Use Default Setup
Run the initialization script to download and set up the default resources:
chmod +x init.sh
./init.sh
This will provide:
The default environment database (the 50 most vulnerable services and up to five of their most vulnerable versions at the timestep of 18 November 2024).
A default set of scenarios (20 graph scenarios of 100 nodes each, built with domain randomization).
A pretrained classifier model for mapping vulnerability descriptions to MITRE ATT&CK Tactics (SecureBERT fine-tuned for multi-label classification).
A pretrained GAE model for creating graph and node embeddings (trained on 300 scenario graphs, leveraging an hyper-optimized architecture).
Option 2: Reuse Resources from the Paper
To replicate the exact experiments from the paper, follow the instructions in the REPRODUCIBILITY.md file. This approach ensures consistency with the results and configurations presented in the publication.