flowstrider.rules package

Subpackages

Submodules

flowstrider.rules.attributes_dict module

class flowstrider.rules.attributes_dict.Attribute(display_name, explanation, applicable_entities, accepted_values, corresponding_rule_sets)[source]

Bases: NamedTuple

accepted_values: List[str | bool]

Alias for field number 3

applicable_entities: List[str]

Alias for field number 2

corresponding_rule_sets: List[str]

Alias for field number 4

display_name: str

Alias for field number 0

explanation: str

Alias for field number 1

flowstrider.rules.attributes_dict.init_attributes()[source]
flowstrider.rules.attributes_dict.init_bsi_attributes()[source]
flowstrider.rules.attributes_dict.init_linddun_attributes()[source]

flowstrider.rules.collections module

flowstrider.rules.common_rules module

class flowstrider.rules.common_rules.DataflowDiagramRule[source]

Bases: Rule

classmethod evaluate(dfd: DataflowDiagram) List[Threat][source]
abstractmethod classmethod init_texts()[source]
class flowstrider.rules.common_rules.DataflowDiagramRuleCollection[source]

Bases: ABC

dfd_rules: List[Type[DataflowDiagramRule]] = []
edge_rules: List[Type[EdgeRule]] = []
classmethod evaluate(dfd: DataflowDiagram) List[Threat][source]
graph_rules: List[Type[GraphRule]] = []
abstractmethod classmethod init_texts()[source]
name: str = 'Rule collection'
node_rules: List[Type[NodeRule]] = []
references: List[str] = []
classmethod set_rules_ruleset_name()[source]

Add the tag of this rule set to every rule in the set so that they know where they come from

tag: str = ''
class flowstrider.rules.common_rules.EdgeRule[source]

Bases: Rule

classmethod evaluate(edge: Edge, dfd: DataflowDiagram) List[Threat][source]
abstractmethod classmethod init_texts()[source]
class flowstrider.rules.common_rules.EdgeTagRule[source]

Bases: EdgeRule

edge_tags_all: Set[str] = {}
edge_tags_any: Set[str] = {}
abstractmethod classmethod init_texts()[source]
class flowstrider.rules.common_rules.GraphRule[source]

Bases: Rule

classmethod evaluate(graph: DiGraph, dfd: DataflowDiagram) List[Threat][source]
abstractmethod classmethod init_texts()[source]
class flowstrider.rules.common_rules.NodeRule[source]

Bases: Rule

classmethod evaluate(node: Node, dfd: DataflowDiagram) List[Threat][source]
abstractmethod classmethod init_texts()[source]
class flowstrider.rules.common_rules.NodeTagRule[source]

Bases: NodeRule

abstractmethod classmethod init_texts()[source]
node_tags_all: Set[str] = {}
node_tags_any: Set[str] = {}

flowstrider.rules.elicit module

flowstrider.rules.elicit.elicit(dfd: DataflowDiagram) List[Threat][source]

Module contents

flowstrider.rules.elicit(dfd: DataflowDiagram) List[Threat][source]