Skip to content

Commit b4c5d04

Browse files
Merge pull request #60 from mitre-attack/v18-release-prep
v18 changes
2 parents c04467f + 3178b79 commit b4c5d04

11 files changed

Lines changed: 1369470 additions & 159748 deletions

File tree

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Changes to ATT&CK in STIX 2.1
22

3+
## 28 October 2025 - ATT&CK Spec v3.3.0
4+
5+
Changes to ATT&CK in STIX for the October 2025 ATT&CK Content Release (ATT&CK v18.0)
6+
7+
* Added Analytic objects. For detailed information about the representation of Analytics in ATT&CK/STIX, please see the [ATT&CK Data Model schema documentation](https://mitre-attack.github.io/attack-data-model/docs/reference/schemas/sdo/analytic.schema).
8+
* Added Detection Strategy objects. For detailed information about the representation of Detection Strategies in ATT&CK/STIX, please see the [ATT&CK Data Model schema documentation](https://mitre-attack.github.io/attack-data-model/docs/reference/schemas/sdo/detection-strategy.schema).
9+
* Deprecated Data Source objects. These objects will be removed in ATT&CK Spec v4.
10+
* Modified Data Component objects:
11+
* Assigned an ATT&CK ID to each Data Component object.
12+
* Added the `x_mitre_log_sources` property. See the [ATT&CK Data Model schema documentation](https://mitre-attack.github.io/attack-data-model/docs/reference/schemas/sdo/data-component.schema#xmitrelogsources) for a description of this new property.
13+
* Deprecated the `x_mitre_data_source_ref` property. This property will be removed from the spec entirely in ATT&CK Spec v4.
14+
* Modified Technique objects:
15+
* Deprecated the following properties, which will be removed from the spec entirely in ATT&CK Spec v4.
16+
* `x_mitre_detection`
17+
* `x_mitre_system_requirements`
18+
* `x_mitre_permissions_required`
19+
* `x_mitre_effective_permissions`
20+
* `x_mitre_data_sources`
21+
* `x_mitre_defense_bypassed`
22+
* `x_mitre_remote_support`
23+
* Deprecated the `x_mitre_data_component` `--detects-->` `attack-pattern` relationship object. These will be removed in ATT&CK Spec v4. This has been replaced by the `x_mitre_detection_strategy` `--detects-->` `attack-pattern` relationship object.
24+
325
## 22 April 2025
426

527
There are no changes to the data model in the April 2025 ATT&CK Content Release (ATT&CK v17.0)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ The Usage document includes documentation of the ATT&CK data model as well as co
5858

5959
## Notice
6060

61-
Copyright 2020-2024 The MITRE Corporation. Approved for public release. Case number 19-3504.
61+
Copyright 2020-2025 The MITRE Corporation. Approved for public release. Case number 19-3504.
6262

6363
This project makes use of ATT&CK®
6464

USAGE.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ You can see a full list of the classes which have versioned imports [here](https
8989

9090
### taxii2client
9191

92-
At present there is no TAXII 2.1/STIX 2.1 server for the content of this repository. If you wish to access ATT&CK via TAXII you will need to use our TAXII 2.0/STIX 2.0 server instead. Please see our [MITRE/CTI GitHub repository](https://github.com/mitre/cti), and [the accompanying docs for our TAXII 2.0 server](https://github.com/mitre/cti/blob/master/USAGE.md#access-from-the-attck-taxii-server), for information about using that version of the dataset.
92+
Information on the TAXII 2.1/STIX2.1 server can be found in [the TAXII server repository](https://github.com/mitre-attack/attack-workbench-taxii-server).
9393

9494
## Access local content
9595

@@ -124,7 +124,7 @@ def get_attack_version(domain, version):
124124
ms.load_from_file(os.path.join(domain, f"{domain}-{version}.json"))
125125
return ms
126126

127-
src = get_attack_version("enterprise-attack", "6.2")
127+
src = get_attack_version("enterprise-attack", "18.0")
128128
```
129129

130130
## Access live content
@@ -136,7 +136,7 @@ Some users may instead prefer to access "live" ATT&CK content over the internet.
136136

137137
### Access from the ATT&CK TAXII server
138138

139-
At present there is no TAXII 2.1/STIX 2.1 server for the content of this repository. If you wish to access ATT&CK via TAXII you will need to use our TAXII 2.0/STIX 2.0 server instead. Please see our [MITRE/CTI GitHub repository](https://github.com/mitre/cti), and [the accompanying docs for our TAXII 2.0 server](https://github.com/mitre/cti/blob/master/USAGE.md#access-from-the-attck-taxii-server), for information about using that version of the dataset.
139+
Information on the TAXII 2.1/STIX2.1 server can be found in [the TAXII server repository](https://github.com/mitre-attack/attack-workbench-taxii-server).
140140

141141
### Access the most recent version from GitHub via requests
142142

@@ -167,12 +167,12 @@ def get_data_from_version(domain, version):
167167
stix_json = requests.get(f"https://raw.githubusercontent.com/mitre-attack/attack-stix-data/master/{domain}/{domain}-{version}.json").json()
168168
return MemoryStore(stix_data=stix_json["objects"])
169169

170-
src = get_data_from_version("enterprise-attack", "6.2")
170+
src = get_data_from_version("enterprise-attack", "18.0")
171171
```
172172

173173
## Getting a list of versions
174174

175-
The [collection index](/index.json) on this repository contains a full list of versions for each domain of ATT&CK. See our [collections document](https://github.com/center-for-threat-informed-defense/attack-workbench-frontend/blob/master/docs/collections.md#collection-indexes) for more information about the format of collection indexes. You can also find a human-readable version of that file in [index.md](/index.md).
175+
The [collection index](/index.json) on this repository contains a full list of versions for each domain of ATT&CK. See our [collections document](https://github.com/center-for-threat-informed-defense/attack-workbench-frontend/blob/main/docs/collections.md#collection-indexes) for more information about the format of collection indexes. You can also find a human-readable version of that file in [index.md](/index.md).
176176

177177
The collection index was added in the upgrade to STIX 2.1 and is not available for [the STIX 2.0 dataset](https://github.com/mitre/cti).
178178

@@ -743,14 +743,14 @@ def parent_technique_of(thesrc):
743743
"""return subtechnique_id => {technique, relationship} describing the parent technique of the subtechnique"""
744744
return get_related(thesrc, "attack-pattern", "subtechnique-of", "attack-pattern")[0]
745745

746-
# technique:data-component
747-
def datacomponent_detects_techniques(thesrc):
748-
"""return datacomponent_id => {technique, relationship} describing the detections of each data component"""
749-
return get_related(thesrc, "x-mitre-data-component", "detects", "attack-pattern")
746+
# detectionstrategy:technique
747+
def detectionstrategy_detects_techniques(thesrc):
748+
"""return detectionstrategy_id => {technique, relationship} describing the detections of each detection strategy"""
749+
return get_related(thesrc, "x-mitre-detection-strategy", "detects", "attack-pattern")
750750

751-
def technique_detected_by_datacomponents(thesrc):
752-
"""return technique_id => {datacomponent, relationship} describing the data components that can detect the technique"""
753-
return get_related(thesrc, "x-mitre-data-component", "detects", "attack-pattern", reverse=True)
751+
def technique_detected_by_detectionstrategies(thesrc):
752+
"""return technique_id => {detectionstrategy, relationship} describing the detection strategies that can detect the technique"""
753+
return get_related(thesrc, "x-mitre-detection-strategy", "detects", "attack-pattern", reverse=True)
754754

755755
# Example usage:
756756
src = MemoryStore()

0 commit comments

Comments
 (0)