Class: Matrix
ATT&CK Matrices define the structural layout and organization of tactics and techniques within each ATT&CK domain. The matrix arranges tactics as columns and techniques (with sub-techniques nested beneath parents) as rows, providing a comprehensive visual map of adversary behavior within a domain.
Each ATT&CK domain has exactly one Matrix object. The tactic_refs property contains an ordered list of x-mitre-tactic STIX IDs that defines the left-to-right display order of columns in the ATT&CK matrix. The matrix does not directly enumerate techniques — technique-to-tactic associations are captured via kill_chain_phases on the Technique objects.
URI: attack:Matrix
classDiagram
class Matrix
click Matrix href "../Matrix/"
AttackObject <|-- Matrix
click AttackObject href "../AttackObject/"
Matrix : confidence
Matrix : created
Matrix : created_by_ref
Matrix : description
Matrix : extensions
Matrix : external_references
Matrix --> "1..*" ExternalReference : external_references
click ExternalReference href "../ExternalReference/"
Matrix : granular_markings
Matrix --> "*" GranularMarking : granular_markings
click GranularMarking href "../GranularMarking/"
Matrix : id
Matrix : labels
Matrix : lang
Matrix : modified
Matrix : name
Matrix : object_marking_refs
Matrix : revoked
Matrix : spec_version
Matrix --> "1" SpecVersionEnum : spec_version
click SpecVersionEnum href "../SpecVersionEnum/"
Matrix : tactic_refs
Matrix : type
Matrix : x_mitre_attack_spec_version
Matrix : x_mitre_deprecated
Matrix : x_mitre_domains
Matrix --> "1..*" AttackDomainEnum : x_mitre_domains
click AttackDomainEnum href "../AttackDomainEnum/"
Matrix : x_mitre_modified_by_ref
Matrix : x_mitre_old_attack_id
Matrix : x_mitre_version
Inheritance
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| x_mitre_domains | 1..* AttackDomainEnum |
The ATT&CK technology domains to which this object belongs | direct |
| x_mitre_modified_by_ref | 1 StixIdentifier |
The STIX ID of the identity object that created the current version of this o... | direct |
| tactic_refs | 1..* StixIdentifier |
Ordered list of x-mitre-tactic STIX IDs defining the column order of tactics ... | direct |
| x_mitre_attack_spec_version | 1 SemverString |
The version of the ATT&CK Data Model specification used to construct this obj... | AttackObject |
| x_mitre_version | 1 AttackVersionString |
The version of this ATT&CK object content in 'major | AttackObject |
| x_mitre_deprecated | 0..1 Boolean |
Boolean flag indicating that this ATT&CK object has been deprecated and shoul... | AttackObject |
| x_mitre_old_attack_id | 0..1 String |
A legacy ATT&CK ID previously assigned to this object before a knowledge base... | AttackObject |
| type | 1 StixTypeName |
STIX object type | Core, StixEntity |
| spec_version | 1 SpecVersionEnum |
STIX specification version | Core |
| id | 1 StixIdentifier |
STIX object identifier | Core, StixEntity |
| created | 1 Datetime |
Creation timestamp | Core |
| modified | 1 Datetime |
Modification timestamp | Core |
| created_by_ref | 1 StixIdentifier |
The STIX ID of the identity object that first created this ATT&CK object | Core |
| labels | * String |
Terms used to describe this object | Core |
| revoked | 0..1 Boolean |
Indicates whether this object has been revoked | Core |
| confidence | 0..1 Integer |
Confidence that the producer has in this data | Core |
| lang | 0..1 String |
Language of textual properties | Core |
| external_references | 1..* ExternalReference |
External references for this matrix object | Core |
| object_marking_refs | 1..* StixIdentifier |
Marking definition references applied to this object | Core |
| granular_markings | * GranularMarking |
Granular markings that apply to selected content | Core |
| extensions | * String |
Open-ended extension payloads | Core |
| name | 1 String |
The name of this ATT&CK matrix (e | StixEntity |
| description | 1 String |
A description of the domain and scope covered by this matrix | StixEntity |
In Subsets
Identifier and Mapping Information
Annotations
| property | value |
|---|---|
| stix_type | x-mitre-matrix |
Schema Source
- from schema: https://w3id.org/lmodel/attack
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | attack:Matrix |
| native | attack:Matrix |
LinkML Source
Direct
name: Matrix
annotations:
stix_type:
tag: stix_type
value: x-mitre-matrix
description: 'ATT&CK Matrices define the structural layout and organization of tactics
and techniques within each ATT&CK domain. The matrix arranges tactics as columns
and techniques (with sub-techniques nested beneath parents) as rows, providing a
comprehensive visual map of adversary behavior within a domain.
Each ATT&CK domain has exactly one Matrix object. The tactic_refs property contains
an ordered list of x-mitre-tactic STIX IDs that defines the left-to-right display
order of columns in the ATT&CK matrix. The matrix does not directly enumerate techniques
— technique-to-tactic associations are captured via kill_chain_phases on the Technique
objects.'
in_subset:
- attack_sdos
from_schema: https://w3id.org/lmodel/attack
is_a: AttackObject
slots:
- x_mitre_domains
- x_mitre_modified_by_ref
- tactic_refs
slot_usage:
type:
name: type
required: true
pattern: ^x-mitre-matrix$
id:
name: id
required: true
pattern: ^x-mitre-matrix--
name:
name: name
description: The name of this ATT&CK matrix (e.g., 'Enterprise ATT&CK', 'Mobile
ATT&CK', 'ICS ATT&CK').
required: true
description:
name: description
description: A description of the domain and scope covered by this matrix.
required: true
external_references:
name: external_references
description: External references for this matrix object.
comments:
- 'jsonschema_minItems: "1"'
required: true
created_by_ref:
name: created_by_ref
required: true
object_marking_refs:
name: object_marking_refs
required: true
x_mitre_domains:
name: x_mitre_domains
required: true
x_mitre_modified_by_ref:
name: x_mitre_modified_by_ref
required: true
tactic_refs:
name: tactic_refs
description: Ordered list of x-mitre-tactic STIX IDs defining the column order
of tactics in this ATT&CK matrix visualization.
comments:
- 'jsonschema_minItems: "1"'
required: true
Induced
name: Matrix
annotations:
stix_type:
tag: stix_type
value: x-mitre-matrix
description: 'ATT&CK Matrices define the structural layout and organization of tactics
and techniques within each ATT&CK domain. The matrix arranges tactics as columns
and techniques (with sub-techniques nested beneath parents) as rows, providing a
comprehensive visual map of adversary behavior within a domain.
Each ATT&CK domain has exactly one Matrix object. The tactic_refs property contains
an ordered list of x-mitre-tactic STIX IDs that defines the left-to-right display
order of columns in the ATT&CK matrix. The matrix does not directly enumerate techniques
— technique-to-tactic associations are captured via kill_chain_phases on the Technique
objects.'
in_subset:
- attack_sdos
from_schema: https://w3id.org/lmodel/attack
is_a: AttackObject
slot_usage:
type:
name: type
required: true
pattern: ^x-mitre-matrix$
id:
name: id
required: true
pattern: ^x-mitre-matrix--
name:
name: name
description: The name of this ATT&CK matrix (e.g., 'Enterprise ATT&CK', 'Mobile
ATT&CK', 'ICS ATT&CK').
required: true
description:
name: description
description: A description of the domain and scope covered by this matrix.
required: true
external_references:
name: external_references
description: External references for this matrix object.
comments:
- 'jsonschema_minItems: "1"'
required: true
created_by_ref:
name: created_by_ref
required: true
object_marking_refs:
name: object_marking_refs
required: true
x_mitre_domains:
name: x_mitre_domains
required: true
x_mitre_modified_by_ref:
name: x_mitre_modified_by_ref
required: true
tactic_refs:
name: tactic_refs
description: Ordered list of x-mitre-tactic STIX IDs defining the column order
of tactics in this ATT&CK matrix visualization.
comments:
- 'jsonschema_minItems: "1"'
required: true
attributes:
x_mitre_domains:
name: x_mitre_domains
description: The ATT&CK technology domains to which this object belongs. At least
one domain must be specified. An object may belong to multiple domains when
the same technique, group, or software is relevant across domain boundaries.
comments:
- 'jsonschema_minItems: "1"'
in_subset:
- attack_sdos
from_schema: https://w3id.org/lmodel/attack
rank: 1000
alias: x_mitre_domains
owner: Matrix
domain_of:
- Technique
- Tactic
- Group
- AttackCampaign
- Mitigation
- AttackMalware
- AttackTool
- Asset
- DataSource
- DataComponent
- Matrix
- DetectionStrategy
- Analytic
range: AttackDomainEnum
required: true
multivalued: true
x_mitre_modified_by_ref:
name: x_mitre_modified_by_ref
description: 'The STIX ID of the identity object that created the current version
of this object. In practice, always references MITRE''s canonical identity object:
identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5. May differ from created_by_ref
if the object was originally created by a third party and subsequently adopted
or updated by MITRE.'
comments:
- 'validator_hint: must-match-mitre-identity-id'
in_subset:
- attack_sdos
- attack_sros
from_schema: https://w3id.org/lmodel/attack
rank: 1000
alias: x_mitre_modified_by_ref
owner: Matrix
domain_of:
- Technique
- Tactic
- Group
- AttackCampaign
- Mitigation
- AttackMalware
- AttackTool
- Asset
- DataSource
- DataComponent
- Matrix
- Collection
- DetectionStrategy
- Analytic
- AttackRelationship
range: stix_identifier
required: true
pattern: ^identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5$
tactic_refs:
name: tactic_refs
description: Ordered list of x-mitre-tactic STIX IDs defining the column order
of tactics in this ATT&CK matrix visualization.
comments:
- 'jsonschema_minItems: "1"'
in_subset:
- attack_sdos
from_schema: https://w3id.org/lmodel/attack
rank: 1000
alias: tactic_refs
owner: Matrix
domain_of:
- Matrix
range: stix_identifier
required: true
multivalued: true
pattern: ^x-mitre-tactic--
x_mitre_attack_spec_version:
name: x_mitre_attack_spec_version
description: The version of the ATT&CK Data Model specification used to construct
this object, in MAJOR.MINOR.PATCH (semantic versioning) format. Helps consuming
software determine whether the data format is supported. Objects lacking this
property are assumed to conform to ATT&CK spec version 2.0.0. Refer to the ATT&CK
CHANGELOG for all supported versions.
comments:
- 'absent_on: marking-definition, identity (x_mitre_version absent), relationship
(x_mitre_version absent)'
in_subset:
- attack_sdos
- attack_sros
from_schema: https://w3id.org/lmodel/attack
rank: 1000
alias: x_mitre_attack_spec_version
owner: Matrix
domain_of:
- AttackObject
range: semver_string
required: true
x_mitre_version:
name: x_mitre_version
description: 'The version of this ATT&CK object content in ''major.minor'' format,
where both components are integers between 0 and 99. Incremented by ATT&CK whenever
the substantive content of the object changes. Does not apply to relationship
objects. Example: "1.0", "12.5".'
comments:
- 'absent_on: relationship, marking-definition'
in_subset:
- attack_sdos
from_schema: https://w3id.org/lmodel/attack
rank: 1000
alias: x_mitre_version
owner: Matrix
domain_of:
- AttackObject
range: attack_version_string
required: true
x_mitre_deprecated:
name: x_mitre_deprecated
description: Boolean flag indicating that this ATT&CK object has been deprecated
and should no longer be used in new analyses or tooling implementations. Deprecated
objects are retained in the knowledge base for historical reference and legacy
compatibility, but are not actively maintained with new information.
comments:
- 'absent_on: marking-definition'
in_subset:
- attack_sdos
- attack_sros
from_schema: https://w3id.org/lmodel/attack
rank: 1000
alias: x_mitre_deprecated
owner: Matrix
domain_of:
- AttackObject
range: boolean
x_mitre_old_attack_id:
name: x_mitre_old_attack_id
description: A legacy ATT&CK ID previously assigned to this object before a knowledge
base restructuring or domain migration event. Format mirrors the current ATT&CK
ID format but from the prior numbering scheme (e.g., "MOB-T1001" for a mobile
technique previously in the pre-unification Mobile ATT&CK dataset).
in_subset:
- attack_sdos
from_schema: https://w3id.org/lmodel/attack
rank: 1000
alias: x_mitre_old_attack_id
owner: Matrix
domain_of:
- AttackObject
range: string
type:
name: type
description: STIX object type.
from_schema: https://w3id.org/lmodel/attack
related_mappings:
- unified_cyber_ontology:state
rank: 1000
alias: type
owner: Matrix
domain_of:
- StixEntity
- Bundle
- Core
- CyberObservableCore
- ExtensionDefinition
- LanguageContent
- MarkingDefinition
- File
range: stix_type_name
required: true
pattern: ^x-mitre-matrix$
spec_version:
name: spec_version
description: STIX specification version.
from_schema: https://w3id.org/lmodel/attack
close_mappings:
- unified_cyber_ontology:specVersion
rank: 1000
alias: spec_version
owner: Matrix
domain_of:
- Core
- CyberObservableCore
- MarkingDefinition
range: SpecVersionEnum
required: true
id:
name: id
description: STIX object identifier.
from_schema: https://w3id.org/lmodel/attack
related_mappings:
- unified_cyber_ontology:externalReference
rank: 1000
alias: id
owner: Matrix
domain_of:
- StixEntity
- Bundle
- Core
- CyberObservableCore
- ExtensionDefinition
- LanguageContent
- MarkingDefinition
- File
range: stix_identifier
required: true
pattern: ^x-mitre-matrix--
created:
name: created
description: Creation timestamp.
notes:
- STIX core timestamps require millisecond precision.
from_schema: https://w3id.org/lmodel/attack
close_mappings:
- unified_cyber_ontology:objectCreatedTime
rank: 1000
alias: created
owner: Matrix
domain_of:
- Core
- MarkingDefinition
range: datetime
required: true
pattern: T\d{2}:\d{2}:\d{2}\.\d{3,}Z$
modified:
name: modified
description: Modification timestamp.
notes:
- STIX core timestamps require millisecond precision.
from_schema: https://w3id.org/lmodel/attack
close_mappings:
- unified_cyber_ontology:modifiedTime
rank: 1000
alias: modified
owner: Matrix
domain_of:
- Core
range: datetime
required: true
pattern: T\d{2}:\d{2}:\d{2}\.\d{3,}Z$
created_by_ref:
name: created_by_ref
description: The STIX ID of the identity object that first created this ATT&CK
object. Typically references MITRE's identity (identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5).
from_schema: https://w3id.org/lmodel/attack
close_mappings:
- unified_cyber_ontology:createdBy
rank: 1000
alias: created_by_ref
owner: Matrix
domain_of:
- Core
- MarkingDefinition
range: stix_identifier
required: true
labels:
name: labels
description: Terms used to describe this object.
comments:
- 'jsonschema_minItems: "1"'
from_schema: https://w3id.org/lmodel/attack
close_mappings:
- unified_cyber_ontology:tag
rank: 1000
alias: labels
owner: Matrix
domain_of:
- Core
range: string
multivalued: true
revoked:
name: revoked
description: Indicates whether this object has been revoked.
from_schema: https://w3id.org/lmodel/attack
rank: 1000
alias: revoked
owner: Matrix
domain_of:
- Core
range: boolean
confidence:
name: confidence
description: Confidence that the producer has in this data.
from_schema: https://w3id.org/lmodel/attack
rank: 1000
alias: confidence
owner: Matrix
domain_of:
- Core
range: integer
minimum_value: 0
maximum_value: 100
lang:
name: lang
description: Language of textual properties.
from_schema: https://w3id.org/lmodel/attack
rank: 1000
alias: lang
owner: Matrix
domain_of:
- Core
- GranularMarking
range: string
external_references:
name: external_references
description: External references for this matrix object.
comments:
- 'jsonschema_minItems: "1"'
from_schema: https://w3id.org/lmodel/attack
close_mappings:
- unified_cyber_ontology:externalReference
rank: 1000
alias: external_references
owner: Matrix
domain_of:
- Core
- MarkingDefinition
range: ExternalReference
required: true
multivalued: true
object_marking_refs:
name: object_marking_refs
description: Marking definition references applied to this object.
comments:
- 'jsonschema_minItems: "1"'
from_schema: https://w3id.org/lmodel/attack
close_mappings:
- unified_cyber_ontology:objectMarking
rank: 1000
alias: object_marking_refs
owner: Matrix
domain_of:
- Core
- CyberObservableCore
- MarkingDefinition
range: stix_identifier
required: true
multivalued: true
granular_markings:
name: granular_markings
description: Granular markings that apply to selected content.
comments:
- 'jsonschema_minItems: "1"'
from_schema: https://w3id.org/lmodel/attack
narrow_mappings:
- unified_cyber_ontology:objectMarking
rank: 1000
alias: granular_markings
owner: Matrix
domain_of:
- Core
- CyberObservableCore
- MarkingDefinition
range: GranularMarking
multivalued: true
extensions:
name: extensions
description: Open-ended extension payloads.
notes:
- JSON Schema uses patternProperties for extension keys; exact key validation
is delegated to validator tooling.
comments:
- 'jsonschema_rule: patternProperties validator_hint: validate-extension-keys-and-values'
from_schema: https://w3id.org/lmodel/attack
related_mappings:
- unified_cyber_ontology:hasFacet
rank: 1000
alias: extensions
owner: Matrix
domain_of:
- Core
- CyberObservableCore
- MarkingDefinition
- File
range: string
multivalued: true
name:
name: name
description: The name of this ATT&CK matrix (e.g., 'Enterprise ATT&CK', 'Mobile
ATT&CK', 'ICS ATT&CK').
from_schema: https://w3id.org/lmodel/attack
exact_mappings:
- unified_cyber_ontology:name
rank: 1000
alias: name
owner: Matrix
domain_of:
- RelatedAsset
- StixEntity
- ExtensionDefinition
- MarkingDefinition
- AutonomousSystem
- File
range: string
required: true
description:
name: description
description: A description of the domain and scope covered by this matrix.
from_schema: https://w3id.org/lmodel/attack
close_mappings:
- unified_cyber_ontology:description
rank: 1000
alias: description
owner: Matrix
domain_of:
- RelatedAsset
- MutableElement
- StixEntity
- ExtensionDefinition
- ExternalReference
range: string
required: true