ATT&CKTM Navigator Layer File Format Definition

August 13, 2024 · View on GitHub

This document describes Version 2.0 of the MITRE ATT&CK Navigator Layer file format. The ATT&CK Navigator stores layers as JSON, therefore this document defines the JSON properties in a layer file.

Property Table

NameTypeRequired?Default Value (if not present)Description
versionStringYesn/aMust be "2.0"
nameStringYesn/aThe name of the layer
descriptionStringNo""A free-form text field that describes the contents or intent of the layer
domainStringYesn/aTechnology domain that this layer represents. Valid values are: "mitre-enterprise" or "mitre-mobile"
filtersFilter objectNoSee Filter object definition below
sortingNumberNo0Specifies the ordering of the techniques within each tactic category as follows:
0: sort ascending alphabetically by technique name
1: sort descending alphabetically by technique name
2: sort ascending by technique score
3: sort descending by technique score
viewModeNumberNo0Specifies the view mode for the layer as follows:
0: display the full table with tactic and technique names
1: display compact table with abbreviated tactic and technique names
2: display mini table with no text with the exception of tooltips
hideDisabledBooleanNofalseSpecifies whether techniques that have been disabled are still displayed (greyed-out) or omitted from the view as follows:
true: omit techniques marked as disabled from the view
false: include disabled techniques in the view but display as greyed-out
techniquesArray of Technique objectsNoSee definition of Technique object below
gradientGradient objectNoRed to Green, minValue=0, maxValue=100See definition of Gradient object below
legendItemsArray of LegendItem objectsnoSee definition of LegendItem object below
showTacticRowBackgroundbooleannofalseIf true, the tactic row background color will be the value of the tacticRowBackground field
tacticRowBackgroundstringno"#dddddd"The tactic row background color
selectTechniquesAcrossTacticsbooleannotrueIf true, selecting a technique also selects all instances with the same technique ID

Filter Object Properties

NameTypeRequired?Default Value (if not present)Description
stagesArray of StringNo["act"]Specifies the logical stages of the attack lifecycle to display. Valid choices are: "prepare" and "act". Array must contain at least one of these values
platformsArray of StringNoAll platforms defined within domainSpecifies the platforms within the technology domain – only those techniques tagged with these platforms are to be displayed. Valid values are as follows:
domain=mitre-enterprise: "windows", "linux", "mac"
domain=mitre-mobile: "android", "ios"

Technique Object properties

NameTypeRequired?Default Value (if not present)Description
techniqueIDStringYesn/aUnique identifier of the ATT&CK technique, e.g. "T####"
tacticStringNon/aUnique identifier of the ATT&CK technique's tactic, e.g. "lateral-movement". If the field is not present, the annotations for the technique will appear under every tactic the technique belongs to
commentStringNo""Free-text field
enabledBooleanNotrueSpecifies if the technique is considered enabled or disabled in this layer
scoreNumberNo(unscored)Optional numeric score assigned to this technique in the layer. If omitted, the technique is considered to be "unscored" meaning that it will not be assigned a color from the gradient by the Navigator
colorStringNo""Explicit color value assigned to the technique in this layer. Note that explicitly defined color overrides any color implied by the score – the Navigator will display the technique using the explicitly defined color

Gradient Object properties

NameTypeRequired?Default Value (if not present)Description
colorsArray of StringYesn/aSpecifies the hexadecimal RGB color values that constitute the color spectrum in use. The array must contain at least two (2) values, corresponding to the minValue and maxValue scores
minValueNumberYesn/aLower bound score of the gradient
maxValueNumberYesn/aUpper bound score of the gradient. Note: maxValue must be > minValue

LegendItem Object properties

NameTypeRequired?Default Value (if not present)Description
labelStringYesn/aThe name of the legend item
colorStringYesn/aThe color of the legend item

Example

The following example illustrates the layer file format:

{
    "name": "example layer",
    "version": "2.0",
    "domain": "mitre-enterprise",
    "description": "hello, world",
    "filters": {
        "stages": [
            "act"
        ],
        "platforms": [
            "windows",
            "mac"
        ]
    },
    "sorting": 2,
    "viewMode": 0,
    "hideDisabled": false,
    "techniques": [
        {
            "techniqueID": "T1155",
            "tactic": "execution",
            "color": "#fd8d3c",
            "comment": "This is a comment for technique T1155 only under the Execution tactic."
        },
        {
            "techniqueID": "T1155",
            "tactic": "lateral-movement",
            "score": 75
        },
        {
            "techniqueID": "T1010",
            "tactic": "discovery",
            "enabled": false
        }
    ],
    "gradient": {
        "colors": [
            "#ff6666",
            "#ffe766",
            "#8ec843"
        ],
        "minValue": 0,
        "maxValue": 100
    },
    "legendItems": [
        {
            "label": "Legend Item Label",
            "color": "#FF00FF"
        }
    ],
    "showTacticRowBackground": true,
    "tacticRowBackground": "#dddddd",
    "selectTechniquesAcrossTactics": false
}