mal-toolbox 0.1.4__py3-none-any.whl → 0.1.5__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mal-toolbox
3
- Version: 0.1.4
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,4 +1,4 @@
1
- maltoolbox/__init__.py,sha256=pHPdlKX8XdvxBUo1LThw-H2emwaKkipQp5f29FPKE3M,2776
1
+ maltoolbox/__init__.py,sha256=rUX4r-INojlNiyot2JO3JG3x1xKFg6I5rBJp48kjj5A,2776
2
2
  maltoolbox/__main__.py,sha256=1lOOOme_y56VWrEE1jkarTt-WoUo9yilCo8sUrivyns,2680
3
3
  maltoolbox/default.conf,sha256=YLGBSJh2q8hn3RzRRBbib9F6E6pcvquoHeALMRtA0wU,295
4
4
  maltoolbox/exceptions.py,sha256=0YjPx2v1yYumZ2o7pVZ1s_jS-GAb3Ng979KEFhROSNY,1399
@@ -7,7 +7,7 @@ maltoolbox/model.py,sha256=V-tvAxdfypj3kHY1XFHd0yrAZi5cXGg1N-Bz8z_K_FU,26608
7
7
  maltoolbox/wrappers.py,sha256=BYYNcIdTlyumADQCPcy1xmPEabfmi0P1l9RcbdVWm9w,2002
8
8
  maltoolbox/attackgraph/__init__.py,sha256=F6maWV2PYSH5xtbqozeM3IolalWQqs-tdaCG2ywbqKI,102
9
9
  maltoolbox/attackgraph/attacker.py,sha256=hmJtgcwtQgz0r9J_0Pgm7ktfKpFE3dp-HJ2TOz1NiWw,2880
10
- maltoolbox/attackgraph/attackgraph.py,sha256=IVdWMXhL297UYjs9Xr_uotrMWwaklVHH8YO58v_kMAc,28197
10
+ maltoolbox/attackgraph/attackgraph.py,sha256=cFtNiZN17g0mlOJWFfavlmAnSsUtNQNCC5qVdTkabMA,28254
11
11
  maltoolbox/attackgraph/node.py,sha256=XSjMPqCGtnMeTXJDS2QluLcK5sLlsxpFIFpy2twJ2PQ,4603
12
12
  maltoolbox/attackgraph/query.py,sha256=ukMfkSnixBenfeg5H1SokoSftGo-V4xPL5qpgSaeMN4,5232
13
13
  maltoolbox/attackgraph/analyzers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -16,7 +16,7 @@ maltoolbox/ingestors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
16
16
  maltoolbox/ingestors/neo4j.py,sha256=jdulYsQ2eZT2r0Af_yYjyGkmVx4l5h8viu1Z70NjVAM,8811
17
17
  maltoolbox/language/__init__.py,sha256=OtqUWq8BRvqR5h8Hr4Smlnyz2az4w1pqyWYsbZDsolI,93
18
18
  maltoolbox/language/classes_factory.py,sha256=MNqiDemaflloVMRhjg1ZkUcQObKNEaGxAoXhNQQqem0,9983
19
- maltoolbox/language/languagegraph.py,sha256=QZaDwxbQHjbeoE10lXQhFwndcJxBNTZWKmmcloe4ejA,47115
19
+ maltoolbox/language/languagegraph.py,sha256=f79ovmrGQb6tvY9ze-zqP031N6rApB9WsbZd5LRyhk8,47031
20
20
  maltoolbox/language/compiler/__init__.py,sha256=fJ22-FlXfr907WCPkqlr_eBTzPqsrg6m3i7J_ZWpuAo,840
21
21
  maltoolbox/language/compiler/mal_lexer.py,sha256=wocRzBkLbqYefpGvq2W77x7439-AdZKVgPWhRiRubXg,10776
22
22
  maltoolbox/language/compiler/mal_parser.py,sha256=M1EVZFV73TNfQHz2KJ8-iloqOD4KUhHyajszD8UrNow,91349
@@ -24,9 +24,9 @@ maltoolbox/language/compiler/mal_visitor.py,sha256=9gG06D7GZKlBY-62SmbIkRYkGBUBI
24
24
  maltoolbox/translators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
25
  maltoolbox/translators/securicad.py,sha256=FAIHnoqFTmNYbCGxLsK6pX5g1oiNFfPTqkT_3qq3GG8,6692
26
26
  maltoolbox/translators/updater.py,sha256=Ap08-AsU_7or5ESQvZL2i4nWz3B5pvgfftZyc_-Gd8M,4766
27
- mal_toolbox-0.1.4.dist-info/AUTHORS,sha256=zxLrLe8EY39WtRKlAY4Oorx4Z2_LHV2ApRvDGZgY7xY,127
28
- mal_toolbox-0.1.4.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
29
- mal_toolbox-0.1.4.dist-info/METADATA,sha256=1ZsQvaslMtd_NaUAlHvSunRJuERiVmjSle_Wmb9hhys,5873
30
- mal_toolbox-0.1.4.dist-info/WHEEL,sha256=-oYQCr74JF3a37z2nRlQays_SX2MqOANoqVjBBAP2yE,91
31
- mal_toolbox-0.1.4.dist-info/top_level.txt,sha256=phqRVLRKGdSUgRY03mcpi2cmbbDo5YGjkV4gkqHFFcM,11
32
- mal_toolbox-0.1.4.dist-info/RECORD,,
27
+ mal_toolbox-0.1.5.dist-info/AUTHORS,sha256=zxLrLe8EY39WtRKlAY4Oorx4Z2_LHV2ApRvDGZgY7xY,127
28
+ mal_toolbox-0.1.5.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
29
+ mal_toolbox-0.1.5.dist-info/METADATA,sha256=nxeTdGyeJKiHyb4cOU51aCD_-mXpNBkI727fu8tOGJk,5873
30
+ mal_toolbox-0.1.5.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
31
+ mal_toolbox-0.1.5.dist-info/top_level.txt,sha256=phqRVLRKGdSUgRY03mcpi2cmbbDo5YGjkV4gkqHFFcM,11
32
+ mal_toolbox-0.1.5.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (71.0.3)
2
+ Generator: setuptools (71.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
maltoolbox/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # MAL Toolbox v0.1.4
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.4'
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"'