microsoft / microsoft/CyberBattleSim

Action_space dimensions formally too large

Open
#90 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needsclarification question
Dominant language
Jupyter Notebook
Stars
1.8k
Forks
286
Avg merge
4h 35m
Merged PRs (30d)
12

Description

Dear all,

With latest update, which allowed to increase the number of maximum nodes using kwargs dict inside registry(...) function, the default parameters are 100 nodes, https://github.com/microsoft/CyberBattleSim/blob/4fd228bccfc2b088d911e27072a923251203cac8/cyberbattle/_env/cyberbattle_env.py#L390, which makes action_space for local, remote and connect to be especially large.
Although, that does not change the logic of computing action_mask and set valid node id to be nax number of discovered nodes, internally vector is set to be too big.

  1. Question: I want to ask for the logic of change from using max_node_count parameter here https://github.com/microsoft/CyberBattleSim/blob/4fd228bccfc2b088d911e27072a923251203cac8/cyberbattle/_env/cyberbattle_env.py#L608, why we want to have option to enlarge the maximum nodes count using registry and this we had to change the value from inferred form initial_network to the one included in bounds for registry function?
  2. Solution: The workaround as I see can be simply to make this parameters maximum_node_count: int | None and then make if else logic for setting them equal to initial number of parameters from network (done in previous commits from main)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in cyberbattle/_env/cyberbattle_env.py at the registry defaults around line 390 and the max_node_count use around line 608. Compare the current action-space sizing with the initial_network and action_mask behavior, then determine whether an optional maximum_node_count should preserve the inferred network size. Done means the action spaces are no larger than the intended node bound without changing valid-node masking.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning, networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.