mal-toolbox 0.3.9__tar.gz → 0.3.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. {mal_toolbox-0.3.9/mal_toolbox.egg-info → mal_toolbox-0.3.11}/PKG-INFO +1 -1
  2. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11/mal_toolbox.egg-info}/PKG-INFO +1 -1
  3. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/__init__.py +2 -2
  4. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/attackgraph/analyzers/apriori.py +4 -5
  5. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/attackgraph/attackgraph.py +7 -5
  6. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/pyproject.toml +1 -1
  7. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/AUTHORS +0 -0
  8. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/LICENSE +0 -0
  9. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/README.md +0 -0
  10. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/mal_toolbox.egg-info/SOURCES.txt +0 -0
  11. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/mal_toolbox.egg-info/dependency_links.txt +0 -0
  12. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/mal_toolbox.egg-info/entry_points.txt +0 -0
  13. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/mal_toolbox.egg-info/requires.txt +0 -0
  14. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/mal_toolbox.egg-info/top_level.txt +0 -0
  15. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/__main__.py +0 -0
  16. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/attackgraph/__init__.py +0 -0
  17. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/attackgraph/analyzers/__init__.py +0 -0
  18. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/attackgraph/attacker.py +0 -0
  19. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/attackgraph/node.py +0 -0
  20. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/attackgraph/query.py +0 -0
  21. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/exceptions.py +0 -0
  22. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/file_utils.py +0 -0
  23. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/ingestors/__init__.py +0 -0
  24. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/ingestors/neo4j.py +0 -0
  25. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/language/__init__.py +0 -0
  26. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/language/compiler/__init__.py +0 -0
  27. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/language/compiler/mal_lexer.py +0 -0
  28. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/language/compiler/mal_parser.py +0 -0
  29. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/language/languagegraph.py +0 -0
  30. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/model.py +0 -0
  31. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/translators/__init__.py +0 -0
  32. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/translators/securicad.py +0 -0
  33. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/maltoolbox/translators/updater.py +0 -0
  34. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/setup.cfg +0 -0
  35. {mal_toolbox-0.3.9 → mal_toolbox-0.3.11}/tests/test_model.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mal-toolbox
3
- Version: 0.3.9
3
+ Version: 0.3.11
4
4
  Summary: A collection of tools used to create MAL models and attack graphs.
5
5
  Author-email: Andrei Buhaiu <buhaiu@kth.se>, Joakim Loxdal <loxdal@kth.se>, Nikolaos Kakouros <nkak@kth.se>, Jakob Nyberg <jaknyb@kth.se>, Giuseppe Nebbione <nebbione@kth.se>
6
6
  License: Apache Software License
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mal-toolbox
3
- Version: 0.3.9
3
+ Version: 0.3.11
4
4
  Summary: A collection of tools used to create MAL models and attack graphs.
5
5
  Author-email: Andrei Buhaiu <buhaiu@kth.se>, Joakim Loxdal <loxdal@kth.se>, Nikolaos Kakouros <nkak@kth.se>, Jakob Nyberg <jaknyb@kth.se>, Giuseppe Nebbione <nebbione@kth.se>
6
6
  License: Apache Software License
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # MAL Toolbox v0.3.9
2
+ # MAL Toolbox v0.3.11
3
3
  # Copyright 2025, Andrei Buhaiu.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@ MAL-Toolbox Framework
21
21
  """
22
22
 
23
23
  __title__ = "maltoolbox"
24
- __version__ = "0.3.9"
24
+ __version__ = "0.3.11"
25
25
  __authors__ = [
26
26
  "Andrei Buhaiu",
27
27
  "Giuseppe Nebbione",
@@ -55,17 +55,16 @@ def propagate_necessity_from_node(node: AttackGraphNode) -> None:
55
55
  node.full_name, node.id, node.is_necessary
56
56
  )
57
57
 
58
- if node.ttc and 'name' in node.ttc:
59
- if node.ttc['name'] not in ['Enabled', 'Disabled', 'Instant']:
58
+ for child in node.children:
59
+ if child.ttc and child.ttc.get('name', None) not in ['Enabled',
60
+ 'Disabled', 'Instant']:
60
61
  # Do not propagate unnecessary state from nodes that have a TTC
61
62
  # probability distribution associated with them.
62
63
  # TODO: Evaluate this more carefully, how do we want to have TTCs
63
64
  # impact necessity and viability.
64
65
  # TODO: Have this condition be any probability that has a
65
66
  # Bernoulli component
66
- return
67
-
68
- for child in node.children:
67
+ continue
69
68
  original_value = child.is_necessary
70
69
  if child.type == 'or':
71
70
  child.is_necessary = False
@@ -489,11 +489,13 @@ class AttackGraph():
489
489
  target_assets,
490
490
  expr_chain.left_link
491
491
  )
492
- rh_targets = self._follow_expr_chain(
493
- model,
494
- lh_targets,
495
- expr_chain.right_link
496
- )
492
+ rh_targets = set()
493
+ for lh_target in lh_targets:
494
+ rh_targets |= self._follow_expr_chain(
495
+ model,
496
+ {lh_target},
497
+ expr_chain.right_link
498
+ )
497
499
  return rh_targets
498
500
 
499
501
  case _:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mal-toolbox"
3
- version = "0.3.9"
3
+ version = "0.3.11"
4
4
  authors = [
5
5
  { name="Andrei Buhaiu", email="buhaiu@kth.se" },
6
6
  { name="Joakim Loxdal", email="loxdal@kth.se" },
File without changes
File without changes
File without changes
File without changes