mal-toolbox 1.0.7__py3-none-any.whl → 1.1.1__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.
- {mal_toolbox-1.0.7.dist-info → mal_toolbox-1.1.1.dist-info}/METADATA +2 -1
- {mal_toolbox-1.0.7.dist-info → mal_toolbox-1.1.1.dist-info}/RECORD +9 -9
- maltoolbox/__init__.py +2 -2
- maltoolbox/attackgraph/attackgraph.py +11 -0
- {mal_toolbox-1.0.7.dist-info → mal_toolbox-1.1.1.dist-info}/WHEEL +0 -0
- {mal_toolbox-1.0.7.dist-info → mal_toolbox-1.1.1.dist-info}/entry_points.txt +0 -0
- {mal_toolbox-1.0.7.dist-info → mal_toolbox-1.1.1.dist-info}/licenses/AUTHORS +0 -0
- {mal_toolbox-1.0.7.dist-info → mal_toolbox-1.1.1.dist-info}/licenses/LICENSE +0 -0
- {mal_toolbox-1.0.7.dist-info → mal_toolbox-1.1.1.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mal-toolbox
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.1.1
|
|
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>, Sandor Berglund <sandor@kth.se>
|
|
6
6
|
License: Apache Software License
|
|
@@ -23,6 +23,7 @@ Requires-Dist: antlr4-tools
|
|
|
23
23
|
Requires-Dist: antlr4-python3-runtime
|
|
24
24
|
Requires-Dist: docopt
|
|
25
25
|
Requires-Dist: PyYAML
|
|
26
|
+
Requires-Dist: py2neo
|
|
26
27
|
Provides-Extra: dev
|
|
27
28
|
Requires-Dist: pytest; extra == "dev"
|
|
28
29
|
Dynamic: license-file
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
mal_toolbox-1.
|
|
2
|
-
mal_toolbox-1.
|
|
3
|
-
maltoolbox/__init__.py,sha256=
|
|
1
|
+
mal_toolbox-1.1.1.dist-info/licenses/AUTHORS,sha256=zxLrLe8EY39WtRKlAY4Oorx4Z2_LHV2ApRvDGZgY7xY,127
|
|
2
|
+
mal_toolbox-1.1.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
3
|
+
maltoolbox/__init__.py,sha256=XZ8sSK4zPhqPNVWRIy-JKgipTyX3dx6CpnloZs37xlY,2158
|
|
4
4
|
maltoolbox/__main__.py,sha256=XREFzTuS_hIajSt1aNdzW8a5XFS3lAGrenEBnB_zzjI,3484
|
|
5
5
|
maltoolbox/exceptions.py,sha256=0YjPx2v1yYumZ2o7pVZ1s_jS-GAb3Ng979KEFhROSNY,1399
|
|
6
6
|
maltoolbox/file_utils.py,sha256=fYG3UsvPQcU0ES_WI3nLfuzSZgc0jtE4IAxdMGgs9aA,1876
|
|
7
7
|
maltoolbox/model.py,sha256=0z0S0SH4lkslsAxPNxb7exfmNwBPXM_BK0Oujo899a4,18139
|
|
8
8
|
maltoolbox/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
9
|
maltoolbox/attackgraph/__init__.py,sha256=m_81AjzwXONdclcW_R7mF2f8p-4DvoSRVfQ3Nyh7fak,298
|
|
10
|
-
maltoolbox/attackgraph/attackgraph.py,sha256=
|
|
10
|
+
maltoolbox/attackgraph/attackgraph.py,sha256=ux6TjBLfAgKEfwzGqNU6D_xDGCzc4UTCrdTh1ADoKeI,27722
|
|
11
11
|
maltoolbox/attackgraph/node.py,sha256=F48FgCeYQFEiAq1HswjOnHImYSSRINZpHDvUZP0FqRk,4265
|
|
12
12
|
maltoolbox/attackgraph/analyzers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
13
|
maltoolbox/language/__init__.py,sha256=TsTTryEyjChwHN1o5F2BSUlFsAss2N6J0H0-nzvXiD8,489
|
|
@@ -25,8 +25,8 @@ maltoolbox/visualization/draw_io_utils.py,sha256=7ZmhG5yTEYLZnMhOY9gfyKOb4Dmu2K9
|
|
|
25
25
|
maltoolbox/visualization/graphviz_utils.py,sha256=dfQhPL6Z2hvlMFpThsDr-5tm4Pa22SGHEiXw5ym9JJc,3906
|
|
26
26
|
maltoolbox/visualization/neo4j_utils.py,sha256=FHTkkaTvlrf36RXdVdD65TYtlKLNcna9pCl39d6o8wg,3487
|
|
27
27
|
maltoolbox/visualization/utils.py,sha256=8SrGMUXJPFBjDd2Ujw7jgoR2zqCNFdoNHGmG4_tEhwQ,1485
|
|
28
|
-
mal_toolbox-1.
|
|
29
|
-
mal_toolbox-1.
|
|
30
|
-
mal_toolbox-1.
|
|
31
|
-
mal_toolbox-1.
|
|
32
|
-
mal_toolbox-1.
|
|
28
|
+
mal_toolbox-1.1.1.dist-info/METADATA,sha256=Fcv-ZEhpIHUPmGkmR7_QgfkxCt3fncco7BFVl_J9KAs,5960
|
|
29
|
+
mal_toolbox-1.1.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
30
|
+
mal_toolbox-1.1.1.dist-info/entry_points.txt,sha256=oqby5O6cUP_OHCm70k_iYPA6UlbTBf7se1i3XwdK3uU,56
|
|
31
|
+
mal_toolbox-1.1.1.dist-info/top_level.txt,sha256=phqRVLRKGdSUgRY03mcpi2cmbbDo5YGjkV4gkqHFFcM,11
|
|
32
|
+
mal_toolbox-1.1.1.dist-info/RECORD,,
|
maltoolbox/__init__.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
|
-
# MAL Toolbox v1.
|
|
2
|
+
# MAL Toolbox v1.1.1
|
|
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.
|
|
24
|
+
__version__ = "1.1.1"
|
|
25
25
|
__authors__ = [
|
|
26
26
|
"Andrei Buhaiu",
|
|
27
27
|
"Giuseppe Nebbione",
|
|
@@ -91,6 +91,9 @@ class AttackGraph():
|
|
|
91
91
|
"""Graph representation of attack steps"""
|
|
92
92
|
def __init__(self, lang_graph: LanguageGraph, model: Optional[Model] = None):
|
|
93
93
|
self.nodes: dict[int, AttackGraphNode] = {}
|
|
94
|
+
self.attack_steps: list[AttackGraphNode] = []
|
|
95
|
+
self.defense_steps: list[AttackGraphNode] = []
|
|
96
|
+
|
|
94
97
|
# Dictionaries used in optimization to get nodes by id or full name
|
|
95
98
|
# faster
|
|
96
99
|
self._full_name_to_node: dict[str, AttackGraphNode] = {}
|
|
@@ -665,6 +668,14 @@ class AttackGraph():
|
|
|
665
668
|
)
|
|
666
669
|
|
|
667
670
|
self.nodes[node_id] = node
|
|
671
|
+
|
|
672
|
+
# Add to different lists depending on types
|
|
673
|
+
# Useful but not vital for functionality
|
|
674
|
+
if node.type in ('or', 'and'):
|
|
675
|
+
self.attack_steps.append(node)
|
|
676
|
+
if node.type == 'defense':
|
|
677
|
+
self.defense_steps.append(node)
|
|
678
|
+
|
|
668
679
|
self._full_name_to_node[node.full_name] = node
|
|
669
680
|
|
|
670
681
|
return node
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|