Skip to content
This repository has been archived by the owner on Dec 11, 2023. It is now read-only.

Commit

Permalink
merging in develop
Browse files Browse the repository at this point in the history
  • Loading branch information
isaisabel committed Mar 3, 2021
2 parents c544101 + 605b348 commit 686478d
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 11 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# v1.8.1 - 3 March 2021
## Fixes
- Layer library should no longer throw errors when it encounters the "Network" and "PRE" platforms.
- Layer library should no longer throw errors if it encounters a layer with a version number higher than it expects.
- Setting `showSubtechniques` to true on a technique should no longer cause a crash when exporting the layer to SVG.

# v1.8 - 15 December 2020
## Improvements
- Updated Layer library to support ATT&CK Navigator Layer format version 4.1.
Expand Down
5 changes: 0 additions & 5 deletions layers/core/filter.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,7 @@ def platforms(self):
def platforms(self, platforms):
typeCheckerArray(type(self).__name__, platforms, str, "platforms")
self.__platforms = []
valids = ["Windows", "Linux", "macOS", "AWS", "GCP", "Azure",
"Azure AD", "Office 365", "SaaS"]
if self.domain == "mitre-mobile":
valids = ['Android', 'iOS']
for entry in platforms:
categoryChecker(type(self).__name__, entry, valids, "platforms")
self.__platforms.append(entry)

def get_dict(self):
Expand Down
18 changes: 13 additions & 5 deletions layers/core/versions.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
try:
from ..core.exceptions import typeChecker, categoryChecker, UNSETVALUE
from ..core.exceptions import typeChecker, categoryChecker, UNSETVALUE, BadInput
except ValueError:
from core.exceptions import typeChecker, categoryChecker, UNSETVALUE
from core.exceptions import typeChecker, categoryChecker, UNSETVALUE, BadInput


class Versions:
Expand Down Expand Up @@ -36,7 +36,11 @@ def navigator(self):
@navigator.setter
def navigator(self, navigator):
typeChecker(type(self).__name__, navigator, str, "navigator")
categoryChecker(type(self).__name__, navigator, ["4.0", "4.1"], "navigator version")
try:
categoryChecker(type(self).__name__, navigator, ["4.0", "4.1"], "navigator version")
except BadInput:
print(f'[WARNING] - unrecognized navigator version {navigator}. Defaulting to the 4.1 schema, '
f'this may result in unexpected behavior.')
self.__navigator = navigator

@property
Expand All @@ -46,9 +50,13 @@ def layer(self):
@layer.setter
def layer(self, layer):
typeChecker(type(self).__name__, layer, str, "layer")
categoryChecker(type(self).__name__, layer, ["3.0", "4.0", "4.1"], "layer version")
try:
categoryChecker(type(self).__name__, layer, ["3.0", "4.0", "4.1"], "layer version")
except BadInput:
print(f'[WARNING] - unrecognized layer version {layer}. Defaulting to the 4.1 schema, this may result in '
f'unexpected behavior.')
if layer == '3.0':
print('[NOTICE] - Forcibly upgrading version from {} to 4.1.'.format(layer))
print(f'[NOTICE] - Forcibly upgrading version from {layer} to 4.1.')
layer = "4.1"
self.__layer = layer

Expand Down
1 change: 1 addition & 0 deletions layers/exporters/matrix_gen.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ def __init__(self, id=None, name=None):
self.id = id
if name is not None:
self.name = name
self.score = None

@property
def id(self):
Expand Down
2 changes: 1 addition & 1 deletion layers/exporters/svg_objects.py
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ def build(height, width, label, config, variant='text', t1text=None, t2text=None
if lines > 1:
y = y - (theight / 5 * (lines - 1) - (fs * 6/16))
if float(fs) < (convertToPx(config.border, config.unit) + 2.1):
y = y - (theight / 5)
y = theight/2 + 2.1 - (theight / 5)
t1 = Text("\n".join(patch_text), fs, '', x=4, y=y)
upper.append(t1)
if bu:
Expand Down

0 comments on commit 686478d

Please sign in to comment.