Attack Patterns
To create, update, or retrieve Attack Pattern entities from the ThreatStream platform.
Request
/api/v1/attackpattern/
HTTP Methods: GET, POST, PATCH
| Create a new Attack Pattern | POST /api/v1/attackpattern/ |
| Update the specified Attack Pattern | PATCH /api/v1/attackpattern/{id}/ |
| Get details of the specified Attack Pattern | GET /api/v1/attackpattern/{id}/
|
| Get a list of Attack Patterns |
Anomali recommends to use the For example, GET |
| Get a list of Attack Patterns associated with the specified observable value or observable ID |
GET GET For example,
|
| Get a list of a specified entity type (such as Malware, Campaign, and so on) associated with the specified Attack Pattern | GET /api/v1/attackpattern/{id}/<entity_type>/For example, GET |
| Get a list of observables associated with the specified Attack Pattern | GET /api/v1/attackpattern/{id}/intelligence/ |
Response
Format: JSON
Attributes: See the table below
- Attributes with "related" data type return 0 to N number of values. For example, if a threat model entity belongs to more than one trusted circle, both will be returned.
For information on limiting results and returning large datasets while mitigating performance impacts, see Limiting Results.
Attributes
| Attribute | Type | Description |
|---|---|---|
| actors | related (see item 1 in the Notes above) |
Actors associated with the Attack Pattern. When creating an Attack Pattern, specify the Actor ID. See Actors . |
| aliases | string | Other names by which the Attack Pattern is known. |
| assignee_user | integer | ID of the user to which the Attack Pattern is assigned |
| attackpatterns | (see item 1 in the Notes above) |
Attack Pattern entities associated with the Attack Pattern. |
| body_content_type | string |
Format used for the body text of the description: Default: Note: Once specified,
body_content_type cannot be modified. |
| campaigns | related (see item 1 in the Notes above) |
Campaigns associated with the Attack Pattern. When creating an Attack Pattern, specify the Campaign ID. See Campaigns . |
| can_add_public_tags | boolean | Observable for whether a user can add public tags to an Attack Pattern. |
| circles | related (see item 1 in the Notes above) | All Trusted Circles to which the Attack Pattern belongs. |
| courseofaction | related (see item 1 in the Notes above) |
Course of action entities associated with the Attack Pattern. When creating an Attack Pattern, specify the Course of Action ID. |
| created_ts |
datetime |
Time stamp of when the Attack Pattern was created on ThreatStream, in UTC format. Date is in this format: YYYYMMDDThhmmss where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. Note: This attribute is returned in the response to a GET call and is set by ThreatStream; it cannot be configured.
|
| description | string |
The free-form text associated with the Attack Pattern (as specified in the Description field in the UI). |
| embedded_content_type | string | Not used. |
| embedded_content_url | string | Not used. |
| external_references | related (see item 1 in the Notes above) | Information about the references associated with the Attack Pattern. |
| feed_id | string | Numeric ID of the threat feed that provided the threat model entity. |
| id | string | ID of the Attack Pattern entity. This ID is automatically assigned to the entity by ThreatStream at the time of creation. You can use this ID to associate the Attack Pattern entity with other threat model entities. |
| identities | related (see item 1 in the Notes above) |
Identities associated with the Attack Pattern. When creating an Attack Pattern, specify the Identity ID. |
| incidents | related (see item 1 in the Notes above) |
Incidents associated with the Attack Pattern. When creating an Attack Pattern, specify the Incident ID. |
| infrastructure | related (see item 1 in the Notes above) |
Infrastructure entities associated with the Attack Pattern. When creating an Attack Pattern, specify the Infrastructure ID. |
| intelligence | related (see item 1 in the Notes above) |
Observables associated with the Attack Pattern on the ThreatStream platform. When creating an Attack Pattern, specify the observable ID. See Intelligence. |
| intelligence_initiatives | related (see item 1 in the Notes above) |
Intelligence Initiatives associated with the Attack Pattern. Note: This attribute is returned in the response to a GET call and is set an intelligence source; it cannot be configured.
|
| intrusionsets | related (see item 1 in the Notes above) |
Intrusion sets associated with the Attack Pattern. When creating an Attack Pattern, specify the Intrusion Set ID. |
| is_anonymous | boolean |
Whether the Attack Pattern user and organization information is anonymized. True—if information is anonymized False—if information is not anonymized |
| is_cloneable | string |
Whether the Attack Pattern entity can be cloned. |
| is_mitre | boolean |
Whether the Attack Pattern is described in the MITRE list. True—if the Attack Pattern is described False—if the Attack Pattern is not described |
| is_public | boolean |
Whether the Attack Pattern is public or private (including belonging to a trusted circle). False—if the Attack Pattern is private or belongs to a Trusted Circle True—if the Attack Pattern is public Default: False |
| kill_chain_phases | array |
Name of the attack structure model. Value: |
| killchainstages | related (see item 1 in the Notes above) |
List of attack structure phases. Values: Note: You can set this attribute with the PATCH API call only for the Attack Patterns with the
is_mitre=false attribute. |
| malwares | related (see item 1 in the Notes above) |
Malware entities associated with the Attack Pattern. |
| modified_ts | datetime |
Time stamp of when Attack Pattern was last updated on ThreatStream, in UTC format. Date is in this format: YYYYMMDDThhmmss where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. Note: This attribute is returned in the response to a GET call and is set by ThreatStream; it cannot be configured.
|
| name | string |
Name of the Attack Pattern. Attack Pattern name is associated with your organization. Therefore, the name must be unique within your organization. However, two Attack Patterns with the same name can exist on ThreatStream as long as they belong to different organizations. The name can contain up to 255 characters.
Note: This is a required parameter.
|
| organization | array of strings | Information about the organization that created the entity on ThreatStream. |
| organization_id | integer | ID of the organization that created the entity on ThreatStream. |
| owner_user | array of strings | Information about the user that created the entity on ThreatStream. |
| owner_user_ID | integer | ID of the user that created the entity on ThreatStream. |
| parent | N/A | The attribute is for internal use and can be ignored. |
| publication_status | string |
Attack Pattern entities can be in new, pending_review, review_requested, reviewed, or published statuses. Note: Attack Pattern entities must be in published status for it to be visible to other users outside your organization.
|
| published_ts | datetime |
Time stamp of when Attack Pattern was published on ThreatStream, in UTC format. Date is in this format: YYYYMMDDThhmmss where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. Note: This attribute is returned in the response to a GET call and is set by ThreatStream; it cannot be configured.
|
| remote_api (for ThreatStream OnPrem only) | boolean |
Whether the entity is remote (stored on Cloud). Value returned for this attribute is |
| resource_uri | string | URI of the Attack Pattern entity on ThreatStream |
| signatures | related (see item 1 in the Notes above) |
Signatures associated with the Attack Pattern. When creating an Attack Pattern, specify the Signature ID. See Signatures. |
|
skip_associations (On ThreatStream OnPrem only) |
boolean |
By default, up to 1000 threat model and observable associations are returned with GET requests for details of a threat model entity on ThreatStream OnPrem. When a threat model entity has a large number of associations, association retrieval can take a long time and impact performance. Therefore, Anomali recommends setting the For example, GET |
|
skip_intelligence (On ThreatStream OnPrem only) |
boolean |
By default, up to 1000 threat model and observable associations are returned with GET requests for details of a threat model entity on ThreatStream OnPrem. When a threat model entity has a large number of associations, association retrieval can take a long time and impact performance. Therefore, Anomali recommends setting the For example, GET |
| source_created | datetime |
Time stamp of when the Attack Pattern was originally created by the source, in UTC format. Date is in this format: YYYYMMDDThhmmss where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. |
| source_modified | datetime |
Time stamp of when the Attack Pattern was last modified by the source, in UTC format. Date is in this format: YYYYMMDDThhmmss where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. |
| starred_by_me | boolean |
Whether the user has starred the Attack Pattern—added it to their favorites. True—if the Attack Pattern is starred False—if the Attack Pattern is not starred |
| starred_total_count | integer | How many times the Attack Pattern was starred by all users. |
| tags | list |
Tags assigned to the Attack Pattern. A tag is a meaningful name or any other string value assigned to identify the information. For example, spear phishing,exploitation. |
| tags_v2 | related (see item 1 in the Notes above) | Additional information on the tags assigned to the Attack Pattern. |
| tipreports | related (see item 1 in the Notes above) |
Threat bulletins associated with the Attack Pattern. When creating an Attack Pattern, specify the ID of the threat bulletin. |
| tlp | string |
Traffic Light Protocol designation for the Attack Pattern—red, amber, amber+strict, green, clear. Note: The value is case-sensitive and must be specified in lower case.
|
| tools | related (see item 1 in the Notes above) |
Tools associated with the Attack Pattern. |
| ttps | related (see item 1 in the Notes above) |
TTP (Threat Bulletins) associated with the Attack Pattern. When creating an Attack Pattern, specify the TTP ID. See TTPs (Tactics, Techniques, and Procedures). |
| uuid | string | UUID (universally unique identifier) assigned to the observable for STIX compliance. |
| votes | array of integers | How many times the users voted for the Attack Pattern. |
| vulnerability | related (see item 1 in the Notes above) |
Vulnerabilities associated with the Attack Pattern. When creating an Attack Pattern, specify the ID of the vulnerability. |
| watched_by_me | boolean |
Whether the Attack Pattern is watched by the user. True—if the Attack Pattern is watched False—if the Attack Pattern is not watched |
| watched_total_count | integer | How many users are watching the Attack Pattern. |
| workgroups | list of strings | Workgroups to which the Attack Pattern is visible. |
Examples
-
To create a private Attack Pattern entity that is associated with a TTP whose ID is 63:
Copycurl --request POST --data '{"name": "dummy test attack pattern", "tlp": "red", "tags": ["attack pattern", "example tag"], "ttps": [63]}' 'https://api.threatstream.com/api/v1/attackpattern/' -H 'Authorization: apikey <username>:<api_key>' -H 'Content-Type:application/json' -
To update an existing Attack Pattern entity whose ID is 27:
Copycurl --request PATCH --data '{"name": "another dummy test attack pattern", "tlp": "orange"}' 'https://api.threatstream.com/api/v1/attackpattern/27/' -H 'Authorization: apikey <username>:<api_key>' -H 'Content-Type:application/json' -
To get the details of an existing Attack Pattern entity whose ID is 27:
Copycurl 'https://api.threatstream.com/api/v1/attackpattern/27/' -H 'Authorization: apikey <username>:<api_key>' -
To get the first 10 Attack Pattern entities from ThreatStream:
Copycurl 'https://api.threatstream.com/api/v1/attackpattern/?limit=10' -H 'Authorization: apikey <username>:<api_key>' -
(Only on ThreatStream OnPrem) To get details of a remote attack patten whose ID is 28:
Copycurl 'https://<ThreatStream_OnPrem_IP_or_FQDN>/api/v1/attackpattern/28/?remote_api=true' -H 'Authorization: apikey <username>:<api_key>' -
(Only on ThreatStream OnPrem) To skip associations when retrieving details of a local Attack Pattern with ID 234678:
Copycurl 'https://<ThreatStream_OnPrem_IP_or_FQDN>/api/v1/attackpattern/234678/?skip_associations=true' -H 'Authorization: apikey <username>:<api_key>'