-
Notifications
You must be signed in to change notification settings - Fork 150
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Expected Behavior
Using the exporters such as Excel or SVG using a local json file like https://github.com/mitre-attack/attack-stix-data/blob/master/enterprise-attack/enterprise-attack.json source should retrieve the proper data and produce the expected exported output with an output layer.
Actual Behavior
Every technique and subtechnique I was testing worked perfectly expect for this one : T1078.004
The error message is :
WARNING! Technique/Tactic T1078.004/(none) seems malformed. Skipping...
Steps to Reproduce the Problem
from mitreattack.navlayers.core import Layer
from mitreattack.navlayers.exporters.to_excel import ToExcel
lay = Layer()
lay.from_file("C:path_to_layer.json")
t2 = ToExcel(domain='enterprise', source='local', resource='path_to_enterprise-attack.json')
t2.to_xlsx(layerInit=lay, filepath="demo.xlsx")The layer i'm using is
{
"name": "example layer",
"domain": "enterprise-attack",
"description": "demo xlsx",
"versions": {
"layer": "4.5",
"attack": "16.1",
"navigator": "5.1.0"
},
"filters": {
"platforms": [
"Windows",
"macOS"
]
},
"sorting": 2,
"layout": {
"layout": "side",
"showID": true,
"showName": true,
"showAggregateScores": true,
"countUnscored": true,
"aggregateFunction": "average",
"expandedSubtechniques": "annotated"
},
"hideDisabled": false,
"techniques": [
{
"techniqueID": "T1078",
"color": "#00FF00",
"showSubtechniques": true
},
{
"techniqueID": "T1078.004",
"comment": "https://attack.mitre.org/techniques/T1078/004/",
"color": "#00FF00"
}
],
"gradient": {
"colors": [
"#ff6666",
"#ffe766",
"#8ec843"
],
"minValue": 0,
"maxValue": 100
},
"legendItems": [
{
"label": "Legend Item Label",
"color": "#FF00FF"
}
],
"showTacticRowBackground": true,
"tacticRowBackground": "#dddddd",
"selectTechniquesAcrossTactics": false,
"selectSubtechniquesWithParent": false,
"selectVisibleTechniques": false,
"metadata": [
{
"name": "layer metadata 1",
"value": "layer metadata 1 value"
},
{
"name": "layer metadata 2",
"value": "layer metadata 2 value"
}
]
}Possible Solution
The problem is appearing here
else:
parents = [x for x in layer.layer.techniques if x.techniqueID == tech.techniqueID.split(".")[0]]
if tech.tactic:
parents = [x for x in parents if x.tactic == tech.tactic]
if all([True if not x.showSubtechniques else False for x in parents]):
print(
"NOTE! Technique/Tactic " + tech.techniqueID + "/" + tac + " does not appear "
"to be visible in the matrix. Its parent appears to be hiding it."
)
else:
print(
"WARNING! Technique/Tactic " + tech.techniqueID + "/" + tac + " seems malformed. "
"Skipping..."
)Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working