You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 11, 2023. It is now read-only.
Copy file name to clipboardExpand all lines: layers/README.md
+40-1Lines changed: 40 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,11 +22,18 @@ This folder contains modules and scripts for working with ATT&CK Navigator layer
22
22
| script | description |
23
23
|:-------|:------------|
24
24
|[to_excel](exporters/to_excel.py)| Provides a means by which to export an ATT&CK Layer to an excel file. A further breakdown can be found in the corresponding [section](#to_excel.py) below. |
25
+
|[to_svg](exporters/to_svg.py)| Provides a means by which to export an ATT&CK layer to an svg image file. A further breakdown can be found in the corresponding [section](#to_svg.py) below. |
25
26
##### Utility Modules
26
27
| script | description |
27
28
|:-------|:------------|
28
29
|[excel_templates](exporters/excel_templates.py)| Provides a means by which to convert a matrix into a clean excel matrix template. |
29
30
|[matrix_gen](exporters/matrix_gen.py)| Provides a means by which to generate a matrix from raw data, either from the ATT&CK TAXII server or from a local STIX Bundle. |
31
+
|[svg_templates](exporters/svg_templates.py)| Provides a means by which to convert a layer file into a marked up svg file. |
32
+
|[svg_objects](exporters/svg_objects.py)| Provides raw templates and supporting functionality for generating svg objects. |
33
+
##### Command LIne Tools
34
+
| script | description |
35
+
|:-------|:------------|
36
+
|[cmdline.py](cmdline.py)| A commandline utility to export Layer files to excel or svg formats using the exporter tools. Run with `-h` for usage. |
30
37
31
38
## Layer
32
39
The Layer class provides format validation and read/write capabilities to aid in working with ATT&CK Navigator Layers in python. It is the primary interface through which other Layer-related classes defined in the core module should be used. The Layer class API and a usage example are below.
@@ -142,7 +149,7 @@ x = ToExcel(domain='enterprise', source='taxii', local=None)
142
149
The ToExcel constructor takes domain, server, and local arguments during instantiation. The domain can
143
150
be either `enterprise` or `mobile`, and can be pulled directly from a layer file as `layer.domain`. The source argument tells the matrix generation tool which data source to use when building the matrix. `taxii` indicates that the tool should utilize the `cti-taxii` server when building the matrix, while the `local` option indicates that it should use a local bundle respectively. The local argument is only required if the source is set to `local`, in which case it should be a path to a local stix bundle.
to_svg.py provides the ToSVG class, which is a way to export an existing layer file as an SVG image file. The ToSVG class, like the ToExcel class, has an optional parameter for the initialization function, that
176
+
tells the exporter what data source to use when building the output matrix. Valid options include using live data from cti-taxii.mitre.org or using a local STIX bundle.
177
+
178
+
##### ToSVG()
179
+
```python
180
+
x = ToSVG(domain='enterprise', source='taxii', local=None)
181
+
```
182
+
The ToSVG constructor, just like the ToExcel constructor, takes domain, server, and local arguments during instantiation. The domain can be either `enterprise` or `mobile`, and can be pulled directly from a layer file as `layer.domain`. The source argument tells the matrix generation tool which data source to use when building the matrix. `taxii` indicates that the tool should utilize the `cti-taxii` server when building the matrix, while the `local` option indicates that it should use a local bundle respectively. The local argument is only required if the source is set to `local`, in which case it should be a path to a local stix bundle.
183
+
184
+
##### .to_svg() Method
185
+
```python
186
+
x.to_svg(layer=layer, filepath="layer.svg")
187
+
```
188
+
The to_svg method exports the layer file referenced as `layer`, as an excel file to the
189
+
`filepath` specified.
190
+
191
+
#### Example Usage
192
+
```python
193
+
from layers import Layer
194
+
from layers import ToSVG
195
+
196
+
lay = Layer()
197
+
lay.from_file("path/to/layer/file.json")
198
+
# Using taxii server for template
199
+
t = ToSVG(domain=lay.layer.domain, source='taxii')
0 commit comments