maltoolbox.attackgraph.node module
MAL-Toolbox Attack Graph Node
- class maltoolbox.attackgraph.node.AttackGraphNode(node_id: int, lg_attack_step: LanguageGraphAttackStep, model_asset: ModelAsset | None = None, defense_status: float | None = None, existence_status: bool | None = None)[source]
Bases:
object
Node part of AttackGraph
- compromise(attacker: Attacker) None [source]
Have the attacker given as a parameter compromise this node.
Arguments: attacker - the attacker that will compromise the node
- property full_name: str
Return the full name of the attack step. This is a combination of the asset name to which the attack step belongs and attack step name itself.
- property info: dict[str, str]
- is_available_defense() bool [source]
Return True if this node is a defense node and it is not fully enabled and not suppressed via tags. False otherwise.
- is_compromised() bool [source]
Return True if any attackers have compromised this node. False, otherwise.
- is_compromised_by(attacker: Attacker) bool [source]
Return True if the attacker given as an argument has compromised this node. False, otherwise.
Arguments: attacker - the attacker we are interested in