mal-toolbox 1.0.1__tar.gz → 1.0.2__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 (32) hide show
  1. {mal_toolbox-1.0.1/mal_toolbox.egg-info → mal_toolbox-1.0.2}/PKG-INFO +18 -5
  2. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/README.md +17 -4
  3. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2/mal_toolbox.egg-info}/PKG-INFO +18 -5
  4. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/__init__.py +2 -2
  5. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/attackgraph/attackgraph.py +1 -1
  6. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/language/languagegraph.py +7 -10
  7. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/pyproject.toml +1 -1
  8. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/AUTHORS +0 -0
  9. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/LICENSE +0 -0
  10. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/mal_toolbox.egg-info/SOURCES.txt +0 -0
  11. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/mal_toolbox.egg-info/dependency_links.txt +0 -0
  12. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/mal_toolbox.egg-info/entry_points.txt +0 -0
  13. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/mal_toolbox.egg-info/requires.txt +0 -0
  14. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/mal_toolbox.egg-info/top_level.txt +0 -0
  15. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/__main__.py +0 -0
  16. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/attackgraph/__init__.py +0 -0
  17. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/attackgraph/analyzers/__init__.py +0 -0
  18. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/attackgraph/node.py +0 -0
  19. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/exceptions.py +0 -0
  20. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/file_utils.py +0 -0
  21. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/ingestors/__init__.py +0 -0
  22. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/language/__init__.py +0 -0
  23. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/language/compiler/__init__.py +0 -0
  24. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/language/compiler/mal_lexer.py +0 -0
  25. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/language/compiler/mal_parser.py +0 -0
  26. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/model.py +0 -0
  27. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/py.typed +0 -0
  28. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/translators/__init__.py +0 -0
  29. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/translators/securicad.py +0 -0
  30. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/maltoolbox/translators/updater.py +0 -0
  31. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/setup.cfg +0 -0
  32. {mal_toolbox-1.0.1 → mal_toolbox-1.0.2}/tests/test_model.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mal-toolbox
3
- Version: 1.0.1
3
+ Version: 1.0.2
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
@@ -86,13 +86,26 @@ pip install mal-toolbox
86
86
 
87
87
  ## Configuration
88
88
  You can use a `maltoolbox.yml` file in the current working directory to
89
- configure the toolbox. Alternatively, you can use the `MALTOOLBOX_CONFIG`
90
- environment variable to set a custom config file location:
89
+ configure the toolbox.
90
+
91
+ The config should look like this:
92
+ ```yml
93
+ logging:
94
+ log_level: INFO
95
+ log_file: "logs/log.txt"
96
+ attackgraph_file: "logs/attackgraph.json"
97
+ model_file: "logs/model.yml"
98
+ langspec_file: "logs/langspec_file.yml"
99
+ langgraph_file: "logs/langspec_file.yml"
100
+ ```
101
+
102
+ Alternatively, you can use the `MALTOOLBOX_CONFIG`
103
+ environment variable to set a custom config file location.
91
104
 
92
- """bash
105
+ ```bash
93
106
  # in your shell, e.g. bash do:
94
107
  export MALTOOLBOX_CONFIG=path/to/yml/config/file
95
- """
108
+ ```
96
109
 
97
110
  The default configuration can be found here:
98
111
 
@@ -60,13 +60,26 @@ pip install mal-toolbox
60
60
 
61
61
  ## Configuration
62
62
  You can use a `maltoolbox.yml` file in the current working directory to
63
- configure the toolbox. Alternatively, you can use the `MALTOOLBOX_CONFIG`
64
- environment variable to set a custom config file location:
63
+ configure the toolbox.
64
+
65
+ The config should look like this:
66
+ ```yml
67
+ logging:
68
+ log_level: INFO
69
+ log_file: "logs/log.txt"
70
+ attackgraph_file: "logs/attackgraph.json"
71
+ model_file: "logs/model.yml"
72
+ langspec_file: "logs/langspec_file.yml"
73
+ langgraph_file: "logs/langspec_file.yml"
74
+ ```
75
+
76
+ Alternatively, you can use the `MALTOOLBOX_CONFIG`
77
+ environment variable to set a custom config file location.
65
78
 
66
- """bash
79
+ ```bash
67
80
  # in your shell, e.g. bash do:
68
81
  export MALTOOLBOX_CONFIG=path/to/yml/config/file
69
- """
82
+ ```
70
83
 
71
84
  The default configuration can be found here:
72
85
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mal-toolbox
3
- Version: 1.0.1
3
+ Version: 1.0.2
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
@@ -86,13 +86,26 @@ pip install mal-toolbox
86
86
 
87
87
  ## Configuration
88
88
  You can use a `maltoolbox.yml` file in the current working directory to
89
- configure the toolbox. Alternatively, you can use the `MALTOOLBOX_CONFIG`
90
- environment variable to set a custom config file location:
89
+ configure the toolbox.
90
+
91
+ The config should look like this:
92
+ ```yml
93
+ logging:
94
+ log_level: INFO
95
+ log_file: "logs/log.txt"
96
+ attackgraph_file: "logs/attackgraph.json"
97
+ model_file: "logs/model.yml"
98
+ langspec_file: "logs/langspec_file.yml"
99
+ langgraph_file: "logs/langspec_file.yml"
100
+ ```
101
+
102
+ Alternatively, you can use the `MALTOOLBOX_CONFIG`
103
+ environment variable to set a custom config file location.
91
104
 
92
- """bash
105
+ ```bash
93
106
  # in your shell, e.g. bash do:
94
107
  export MALTOOLBOX_CONFIG=path/to/yml/config/file
95
- """
108
+ ```
96
109
 
97
110
  The default configuration can be found here:
98
111
 
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # MAL Toolbox v1.0.1
2
+ # MAL Toolbox v1.0.2
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__ = "1.0.1"
24
+ __version__ = "1.0.2"
25
25
  __authors__ = [
26
26
  "Andrei Buhaiu",
27
27
  "Giuseppe Nebbione",
@@ -194,7 +194,7 @@ class AttackGraph():
194
194
  ttc_dist = node_dict['ttc'],
195
195
  existence_status = node_dict.get('existence_status', None)
196
196
  )
197
- ag_node.tags = set(node_dict.get('tags', []))
197
+ ag_node.tags = list(node_dict.get('tags', []))
198
198
  ag_node.extras = node_dict.get('extras', {})
199
199
 
200
200
  if node_asset:
@@ -490,7 +490,7 @@ class LanguageGraphAttackStep:
490
490
  info: dict = field(default_factory = dict)
491
491
  inherits: Optional[LanguageGraphAttackStep] = None
492
492
  own_requires: list[ExpressionsChain] = field(default_factory=list)
493
- tags: set = field(default_factory = set)
493
+ tags: list = field(default_factory = list)
494
494
  detectors: dict = field(default_factory = lambda: {})
495
495
 
496
496
 
@@ -968,7 +968,7 @@ class LanguageGraph():
968
968
  children = {},
969
969
  parents = {},
970
970
  info = attack_step_dict['info'],
971
- tags = set(attack_step_dict['tags'])
971
+ tags = list(attack_step_dict['tags'])
972
972
  )
973
973
  asset.attack_steps[attack_step_dict['name']] = \
974
974
  attack_step_node
@@ -1692,7 +1692,7 @@ class LanguageGraph():
1692
1692
  children = {},
1693
1693
  parents = {},
1694
1694
  info = attack_step_attribs['meta'],
1695
- tags = set(attack_step_attribs['tags'])
1695
+ tags = list(attack_step_attribs['tags'])
1696
1696
  )
1697
1697
  langspec_dict[attack_step_node.full_name] = \
1698
1698
  attack_step_attribs
@@ -1735,7 +1735,7 @@ class LanguageGraph():
1735
1735
  children = {},
1736
1736
  parents = {},
1737
1737
  info = attack_step.info,
1738
- tags = set(attack_step.tags)
1738
+ tags = list(attack_step.tags)
1739
1739
  )
1740
1740
  attack_step_node.inherits = attack_step
1741
1741
  asset.attack_steps[attack_step.name] = attack_step_node
@@ -1743,12 +1743,9 @@ class LanguageGraph():
1743
1743
  # The inherited attack step was already overridden.
1744
1744
  continue
1745
1745
  else:
1746
- asset.attack_steps[attack_step.name].inherits = \
1747
- attack_step
1748
- asset.attack_steps[attack_step.name].tags |= \
1749
- attack_step.tags
1750
- asset.attack_steps[attack_step.name].info |= \
1751
- attack_step.info
1746
+ asset.attack_steps[attack_step.name].inherits = attack_step
1747
+ asset.attack_steps[attack_step.name].tags += attack_step.tags
1748
+ asset.attack_steps[attack_step.name].info |= attack_step.info
1752
1749
 
1753
1750
  # Then, link all of the attack step nodes according to their
1754
1751
  # associations.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mal-toolbox"
3
- version = "1.0.1"
3
+ version = "1.0.2"
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