mal-toolbox 0.1.3__tar.gz → 0.1.5__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 (39) hide show
  1. {mal_toolbox-0.1.3/mal_toolbox.egg-info → mal_toolbox-0.1.5}/PKG-INFO +1 -1
  2. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5/mal_toolbox.egg-info}/PKG-INFO +1 -1
  3. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/__init__.py +2 -2
  4. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/attackgraph/attackgraph.py +1 -0
  5. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/language/languagegraph.py +15 -16
  6. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/pyproject.toml +1 -1
  7. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/AUTHORS +0 -0
  8. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/LICENSE +0 -0
  9. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/README.md +0 -0
  10. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/mal_toolbox.egg-info/SOURCES.txt +0 -0
  11. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/mal_toolbox.egg-info/dependency_links.txt +0 -0
  12. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/mal_toolbox.egg-info/requires.txt +0 -0
  13. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/mal_toolbox.egg-info/top_level.txt +0 -0
  14. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/__main__.py +0 -0
  15. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/attackgraph/__init__.py +0 -0
  16. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/attackgraph/analyzers/__init__.py +0 -0
  17. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/attackgraph/analyzers/apriori.py +0 -0
  18. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/attackgraph/attacker.py +0 -0
  19. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/attackgraph/node.py +0 -0
  20. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/attackgraph/query.py +0 -0
  21. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/default.conf +0 -0
  22. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/exceptions.py +0 -0
  23. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/file_utils.py +0 -0
  24. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/ingestors/__init__.py +0 -0
  25. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/ingestors/neo4j.py +0 -0
  26. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/language/__init__.py +0 -0
  27. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/language/classes_factory.py +0 -0
  28. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/language/compiler/__init__.py +0 -0
  29. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/language/compiler/mal_lexer.py +0 -0
  30. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/language/compiler/mal_parser.py +0 -0
  31. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/language/compiler/mal_visitor.py +0 -0
  32. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/model.py +0 -0
  33. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/translators/__init__.py +0 -0
  34. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/translators/securicad.py +0 -0
  35. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/translators/updater.py +0 -0
  36. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/maltoolbox/wrappers.py +0 -0
  37. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/setup.cfg +0 -0
  38. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/tests/test_model.py +0 -0
  39. {mal_toolbox-0.1.3 → mal_toolbox-0.1.5}/tests/test_wrappers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mal-toolbox
3
- Version: 0.1.3
3
+ Version: 0.1.5
4
4
  Summary: A collection of tools used to create MAL models and attack graphs.
5
5
  Author-email: Andrei Buhaiu <buhaiu@kth.se>, Giuseppe Nebbione <nebbione@kth.se>, Nikolaos Kakouros <nkak@kth.se>, Jakob Nyberg <jaknyb@kth.se>, Joakim Loxdal <loxdal@kth.se>
6
6
  License: Apache Software License
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mal-toolbox
3
- Version: 0.1.3
3
+ Version: 0.1.5
4
4
  Summary: A collection of tools used to create MAL models and attack graphs.
5
5
  Author-email: Andrei Buhaiu <buhaiu@kth.se>, Giuseppe Nebbione <nebbione@kth.se>, Nikolaos Kakouros <nkak@kth.se>, Jakob Nyberg <jaknyb@kth.se>, Joakim Loxdal <loxdal@kth.se>
6
6
  License: Apache Software License
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # MAL Toolbox v0.1.3
2
+ # MAL Toolbox v0.1.5
3
3
  # Copyright 2024, 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.1.3'
24
+ __version__ = '0.1.5'
25
25
  __authors__ = ['Andrei Buhaiu',
26
26
  'Giuseppe Nebbione',
27
27
  'Nikolaos Kakouros',
@@ -287,6 +287,7 @@ class AttackGraph():
287
287
  'mitre_info' in node_dict else None
288
288
  ag_node.tags = node_dict['tags'] if \
289
289
  'tags' in node_dict else []
290
+ ag_node.extras = node_dict.get('extras', [])
290
291
 
291
292
  # Add AttackGraphNode to AttackGraph
292
293
  attack_graph.add_node(ag_node, node_id=node_dict['id'])
@@ -622,7 +622,7 @@ class LanguageGraph():
622
622
  new_dep_chain,
623
623
  attack_step)
624
624
 
625
- case 'subtype':
625
+ case 'subType':
626
626
  # Create a subType tuple entry that applies to the next
627
627
  # component of the step expression and changes the target
628
628
  # asset to the subasset.
@@ -651,7 +651,7 @@ class LanguageGraph():
651
651
  return (None, None, None)
652
652
 
653
653
  new_dep_chain = DependencyChain(
654
- type = 'subtype',
654
+ type = 'subType',
655
655
  next_link = result_dep_chain)
656
656
  new_dep_chain.subtype = subtype_asset
657
657
  return (subtype_asset,
@@ -748,19 +748,18 @@ class LanguageGraph():
748
748
  new_dep_chain
749
749
  )
750
750
 
751
- case 'subtype':
752
- #TODO FIX BUG: new_dep_chain is undefined
753
- # result_reverse_chain = self.reverse_dep_chain(
754
- # new_dep_chain.next_link,
755
- # reverse_chain
756
- # )
757
- # new_dep_chain = DependencyChain(
758
- # type = 'subtype',
759
- # next_link = result_reverse_chain
760
- # )
761
- # new_dep_chain.subtype = dep_chain.subtype
762
- # return new_dep_chain
763
- return reverse_chain
751
+ case 'subType':
752
+ result_reverse_chain = self.reverse_dep_chain(
753
+ dep_chain.next_link,
754
+ reverse_chain
755
+ )
756
+ new_dep_chain = DependencyChain(
757
+ type = 'subType',
758
+ next_link = result_reverse_chain
759
+ )
760
+ new_dep_chain.subtype = dep_chain.subtype
761
+ return new_dep_chain
762
+ # return reverse_chain
764
763
 
765
764
  case _:
766
765
  msg = 'Unknown assoc chain element "%s"'
@@ -1001,7 +1000,7 @@ class LanguageGraph():
1001
1000
  attack_steps[step['name']] = copy.deepcopy(step)
1002
1001
  else:
1003
1002
  if attack_steps[step['name']]['reaches'] is not None and \
1004
- 'stepExpression' in \
1003
+ 'stepExpressions' in \
1005
1004
  attack_steps[step['name']]['reaches']:
1006
1005
  attack_steps[step['name']]['reaches']['stepExpressions'].\
1007
1006
  extend(step['reaches']['stepExpressions'])
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mal-toolbox"
3
- version = "0.1.3"
3
+ version = "0.1.5"
4
4
  authors = [
5
5
  { name="Andrei Buhaiu", email="buhaiu@kth.se" },
6
6
  { name="Giuseppe Nebbione", email="nebbione@kth.se" },
File without changes
File without changes
File without changes
File without changes