microsoft / microsoft/CyberBattleSim
Internal Node Id Dependent on Order of Action Execution
Nobody has claimed this yet.
- Dominant language
- Jupyter Notebook
- Stars
- 1.8k
- Forks
- 286
- Avg merge
- 4h 35m
- Merged PRs (30d)
- 12
Description
The order of vulnerability execution defines the order that __discovered_nodes are added internally. There is functionality in place that uses this integer value for downstream tasks. (1, 2, 3, 4, etc)
This also means that the action masking is dependent on the order of vulnerability execution (repro)
Doesn't that mean that during training, the state-action value approximations are based on an integer encoding that changes according to the order of actions at every reset? Checkpointing or transfer learning would also suffer.
For ports, local/remote vulnerabilities, etc you use model.Environment.identifiers when retrieving via integer encoding, so they're fixed.
Let me know if you need any clarification, or if I'm missing something here.
Thanks!
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in cyberbattle/_env/cyberbattle_env.py at the referenced uses of __discovered_nodes and compare them with model.Environment.identifiers. Run the linked internal_id_error.ipynb reproduction and compare resets with different vulnerability execution orders; done should establish whether internal IDs and action masking remain consistent for training and checkpoint or transfer scenarios.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook, python
- Domain
- backend, machine-learning
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100