mitreattack-python
mitreattack-python copied to clipboard
[Bug] showSubtechniques in SVGConfig does not show the sub techniques in the SVG
Expected Behavior
Expanded sub techniques in SVG
Actual Behavior
SVG is not showing sub techniques, while the attack navigator does
Steps to Reproduce the Problem
- create a json with: layout: "expandedSubtechniques": "all" techniques "showSubtechniques": True "selectSubtechniquesWithParent": True
- Validate that the json contains: layout: "expandedSubtechniques": "all" techniques: "showSubtechniques": true "selectSubtechniquesWithParent": true
- Validate that the json works in attack explorer
- Import: from mitreattack.navlayers.exporters.to_svg import ToSvg, SVGConfig
- svgconf =SVGConfig(width=118.9, height=84.1, unit="cm", showHeader=False, fontSize=12, showSubtechniques="all")
- export with exporter = ToSvg(domain='enterprise', source='local', resource=resource_path, config=svgconf) exporter.to_svg(layerInit=layer, filepath="Coverage.svg")
Possible Solution
Review > mitreattack.navlayers.exporters.to_svg
Hi @KustoKing,
Thanks for opening a request! You are right. There is a bug in the code used to expand the subtechniques in the SVG. We do plan to address this issue. As a workaround, I suggest you follow the steps below -
- Open the layer in ATT&CK navigator
- Select
expand sub-techniquesin the navigator toolbar - Download the layer
- Then you can create the SVG using the new layer file and the mitreattack-python library
Alternatively, if you want to strictly make use of the mitreattack-python library, ensure that ALL techniques have been included in the layer file with showSubtechniques: true.
Let us know if you encounter any issues.