mal-toolbox 1.2.0__py3-none-any.whl → 1.2.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.2.0.dist-info → mal_toolbox-1.2.1.dist-info}/METADATA +1 -1
- {mal_toolbox-1.2.0.dist-info → mal_toolbox-1.2.1.dist-info}/RECORD +9 -9
- maltoolbox/__init__.py +2 -2
- maltoolbox/visualization/graphviz_utils.py +2 -2
- {mal_toolbox-1.2.0.dist-info → mal_toolbox-1.2.1.dist-info}/WHEEL +0 -0
- {mal_toolbox-1.2.0.dist-info → mal_toolbox-1.2.1.dist-info}/entry_points.txt +0 -0
- {mal_toolbox-1.2.0.dist-info → mal_toolbox-1.2.1.dist-info}/licenses/AUTHORS +0 -0
- {mal_toolbox-1.2.0.dist-info → mal_toolbox-1.2.1.dist-info}/licenses/LICENSE +0 -0
- {mal_toolbox-1.2.0.dist-info → mal_toolbox-1.2.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.2.
|
|
3
|
+
Version: 1.2.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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
mal_toolbox-1.2.
|
|
2
|
-
mal_toolbox-1.2.
|
|
3
|
-
maltoolbox/__init__.py,sha256=
|
|
1
|
+
mal_toolbox-1.2.1.dist-info/licenses/AUTHORS,sha256=zxLrLe8EY39WtRKlAY4Oorx4Z2_LHV2ApRvDGZgY7xY,127
|
|
2
|
+
mal_toolbox-1.2.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
3
|
+
maltoolbox/__init__.py,sha256=649BOg_Bo4OazvePvnuF2tjM0q4VbyS2Fsz9em_KEtM,2132
|
|
4
4
|
maltoolbox/__main__.py,sha256=aAm6NcZ-HtPmY9hfFlGNnTs5rydoI6NAc88RgXt1G9U,3515
|
|
5
5
|
maltoolbox/exceptions.py,sha256=4rwqzu8Cgj0ShjUoCXP2yik-bJaqYqj6Y-0tqxHy4vs,1316
|
|
6
6
|
maltoolbox/file_utils.py,sha256=IXA0cvyopjRFGGKqRPkRQ0RJOtKzq_XF13aHgcz-TFc,1911
|
|
@@ -23,11 +23,11 @@ maltoolbox/translators/networkx.py,sha256=v1JQAqO7st6-ktx5P3oy93DsL2SEUPly_3zcAL
|
|
|
23
23
|
maltoolbox/translators/updater.py,sha256=mFmTT2GHCw6nsoHe_ChnvAHd5j6UxKnvAqLFDSziqC4,8566
|
|
24
24
|
maltoolbox/visualization/__init__.py,sha256=7rrGclkGdP6LrxpfSh1esYFG_MnvnVruuEdUJI-DX-g,350
|
|
25
25
|
maltoolbox/visualization/draw_io_utils.py,sha256=CgsD0HEFpxZ6ZIWtUZtMekdPB2Irtmvhz0TNEm7x1ig,14378
|
|
26
|
-
maltoolbox/visualization/graphviz_utils.py,sha256=
|
|
26
|
+
maltoolbox/visualization/graphviz_utils.py,sha256=87B2pxRMrlmm2RHu0JM7nQRHWZD0Yt3zCmEwl8xUXdU,4709
|
|
27
27
|
maltoolbox/visualization/neo4j_utils.py,sha256=R2Qm2gC5GDpfiPhhB3oymuBI2W580SRXGVtQuFRYiIA,3496
|
|
28
28
|
maltoolbox/visualization/utils.py,sha256=EZWsxukO5hbRwGFW9GM9ZemKT-nYg-VMCup-SsntaQM,1480
|
|
29
|
-
mal_toolbox-1.2.
|
|
30
|
-
mal_toolbox-1.2.
|
|
31
|
-
mal_toolbox-1.2.
|
|
32
|
-
mal_toolbox-1.2.
|
|
33
|
-
mal_toolbox-1.2.
|
|
29
|
+
mal_toolbox-1.2.1.dist-info/METADATA,sha256=Nlsaw-sJu-Pqz6hWme_f6K-hryjFK8-QHYyMqfXBfWA,6696
|
|
30
|
+
mal_toolbox-1.2.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
31
|
+
mal_toolbox-1.2.1.dist-info/entry_points.txt,sha256=oqby5O6cUP_OHCm70k_iYPA6UlbTBf7se1i3XwdK3uU,56
|
|
32
|
+
mal_toolbox-1.2.1.dist-info/top_level.txt,sha256=phqRVLRKGdSUgRY03mcpi2cmbbDo5YGjkV4gkqHFFcM,11
|
|
33
|
+
mal_toolbox-1.2.1.dist-info/RECORD,,
|
maltoolbox/__init__.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# MAL Toolbox v1.2.
|
|
1
|
+
# MAL Toolbox v1.2.1
|
|
2
2
|
# Copyright 2025, Andrei Buhaiu.
|
|
3
3
|
#
|
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"""
|
|
20
20
|
|
|
21
21
|
__title__ = "maltoolbox"
|
|
22
|
-
__version__ = "1.2.
|
|
22
|
+
__version__ = "1.2.1"
|
|
23
23
|
__authors__ = [
|
|
24
24
|
"Andrei Buhaiu",
|
|
25
25
|
"Giuseppe Nebbione",
|
|
@@ -88,7 +88,7 @@ def render_attack_graph(attack_graph: AttackGraph, path: Optional[PathLike] = No
|
|
|
88
88
|
assert attack_graph.model, "Attack graph needs a model"
|
|
89
89
|
|
|
90
90
|
name = attack_graph.model.name + "-attack_graph"
|
|
91
|
-
dot = graphviz.
|
|
91
|
+
dot = graphviz.Digraph(name)
|
|
92
92
|
dot.graph_attr["nodesep"] = "3.0"
|
|
93
93
|
dot.graph_attr["ratio"] = "compress"
|
|
94
94
|
|
|
@@ -123,7 +123,7 @@ def render_attack_graph(attack_graph: AttackGraph, path: Optional[PathLike] = No
|
|
|
123
123
|
# Create edges
|
|
124
124
|
for parent in attack_graph.nodes.values():
|
|
125
125
|
for child in parent.children:
|
|
126
|
-
dot.edge(str(parent.id), str(child.id))
|
|
126
|
+
dot.edge(str(parent.id), str(child.id), arrowhead="normal")
|
|
127
127
|
|
|
128
128
|
directory, filename = _resolve_graphviz_path(path, name)
|
|
129
129
|
dot.render(directory=directory, filename=f"{filename}.gv", view=view, format="pdf")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|