Malware

To create, update, or retrieve Malware entities from the ThreatStream platform.

Request

/api/v1/malware/

HTTP Methods: GET, POST, PATCH

Create a new Malware entity POST /api/v1/malware/
Update the specified Malware entity PATCH /api/v1/malware/{id}/
Get details of the specified Malware entity GET /api/v1/malware/{id}/
Get a list of Malware entities

Anomali recommends to use the /api/v1/threat_model_search endpoint to retrieve a list of Malware entities. See Threat Model Search for details.

For example,

GET /api/v1/threat_model_search/?model_type=malware

Get a list of Malware entities associated with the specified observable value or observable ID

GET /api/v1/malware/associated_with_intelligence/?value={value}

GET /api/v1/malware/associated_with_intelligence/?ids={comma_separated_id_list}

For example,

GET /api/v1/malware/associated_with_intelligence/?value=google.com returns all Malware associated with google.com.

Get a list of the specified entity type (such as Actor, Campaign, and so on) associated with the specified Malware entity

GET /api/v1/malware/{id}/<entity_type>/

For example,

GET /api/v1/malware/234673/actor/ returns all actors associated with the specified Malware.

Get a list of observables associated with the specified Malware entity GET /api/v1/malware/{id}/intelligence/

Response

Format: JSON

Attributes: See the table below

Notes:
  • 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 Malware.

When creating Malware, specify the Actor ID. See Actors .

aliases string Other names by which the Malware is known.
attackpatterns related (see item 1 in the Notes above)

Attack patterns associated with the Malware.

When creating a Malware entity, specify the Attack Pattern ID.

body_content_type string

Format used for the body text of the description: markdown or richtext

Default: markdown

Note: Once specified, body_content_type cannot be modified.
c2_port string

Port utilized by associated command and control infrastructure.

c2_protocol string

Protocol utilized by associated command and control infrastructure.

Possible values include: custom, dns, dns_txt, http, https

campaigns related (see item 1 in the Notes above)

Campaigns associated with the Malware.

When creating a Malware entity, specify the Campaign ID. See Campaigns.

capabilities string

Capabilities associated with the malware.

Possible values include: accesses-remote-machines, anti-debugging, anti-disassembly, anti-emulation, anti-memory-forensics, anti-sandbox, anti-vm, captures-input-peripherals, captures-output-peripherals, captures-system-state-data, cleans-traces-of-infection, commits-fraud, communicates-with-c2, compromises-data-availability, compromises-data-integrity, compromises-system-availability, controls-local-machine, degrades-security-software, degrades-system-updates, determines-c2-server, emails-spam, escalates-privileges, evades-av, exfiltrates-data, fingerprints-host, hides-artifacts, hides-executing-code, infects-files, infects-remote-machines, installs-other-components, persists-after-system-reboot, prevents-artifact-access, prevents-artifact-deletion, probes-network-environment, self-modifies, steals-authentication-credentials, violates-system-operational-integrity

circles related (see item 1 in the Notes above) All Trusted Circles to which the Malware entity belongs.
courseofaction related (see item 1 in the Notes above)

Course of Action entities associated with the Malware.

When creating a Malware entity, specify the Course of Action ID.

created_ts

datetime

Time stamp of when the Malware entity 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 Malware entity (as specified in the Description field in the UI).

embedded_content_type string Not used.
embedded_content_url string Not used.
execution_platforms string

Execution platforms associated with the Malware.

Possible values include: android, bios, bsd, ios, linux, macos, uefi, unknown, windows

feed_id string Numeric ID of the threat feed that provided the threat model entity.
first_seen datetime

Time stamp of when the malware was first observed, 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.

id string ID of the Malware entity. This ID is automatically assigned to the entity by ThreatStream at the time of creation. You can use this ID to associate the Malware entity with other threat model entities.
identities related (see item 1 in the Notes above)

Identities associated with the Malware entity.

When creating a Malware entity, specify the Identity ID.

implementation_languages string

Implementation languages used by the Malware entity.

Possible values include: applescript, bash, c, c#, c++, go, java, javascript, lua

incidents related (see item 1 in the Notes above)

Incidents associated with the Malware entity.

When creating a Malware entity, specify the Incident ID.

infrastructure related (see item 1 in the Notes above)

Infrastructure entities associated with the Malware entity.

When creating a Malware entity, specify the Infrastructure ID.

intelligence related (see item 1 in the Notes above)

Observables associated with the Malware entity on the ThreatStream platform.

When creating a Malware entit, specify the observable ID. See Intelligence.

intrusionsets related (see item 1 in the Notes above)

Intrusion Sets associated with the Malware entity.

When creating a Malware entity, specify the Instrusion Set ID.

is_anonymous boolean

Whether the Threat Bulletin user and organization information is anonymized.

True—if information is anonymized

False—if information is not anonymized

is_family (Required) boolean

Whether the entity is a Malware family or single malware instance.

True—if the entity is a Malware family

False—if the entitiy is a single Malware instance

is_public boolean

Whether the Malware is public or private (including belonging to a trusted circle).

False—if the Malware is private or belongs to a Trusted Circle

True—if the Malware is public

Default: False

killchainstages N/A Not used.
last seen datetime

Time stamp of when the malware was last observed, 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.

malware_types (Required) string

Malware types associated with the Malware.

Possible values include: adware, backdoor, bootkit, bot, ddos, downloader, dropper, keylogger, exploit-kit, ransomware, remote-access-trojan, resource-exploitation, rogue-security-software, rootkit, screen-capture, spyware, trojan, unknown, virus, webshell, wiper, worm

malwares related (see item 1 in the Notes above)

Other Malware entities associated with the Malware entity.

When creating a Malware entity, specify the ID of Malware of interest.

modified_ts datetime

Time stamp of when the Malware 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 Malware entity.

Malware name is associated with your organization. Therefore, the name must be unique within your organization. However, two Malware entities 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 string Information about the organization that created the entity on ThreatStream.
owner_user string Information about the user that created the entity on ThreatStream.
parent N/A Not used.
publication_status string

Malware entities can be in new, pending_review, review_requested, reviewed, or published statuses.

Note: Malware entities must be in published status for it to be visible to other users outside your organization.
remote_api (for ThreatStream OnPrem only) boolean

Whether the entity is remote (stored on Cloud).

Value returned for this attribute is true when the entity is remote.

sandbox_reports related (see item 1 in the Notes above)

Sandbox reports associated with the malware.

When creating a Malware entity, specify the Sandbox report ID. See Sandbox.

signatures related (see item 1 in the Notes above)

Signatures associated with the Malware entity.

When creating a Malware entity, 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 skip_associations parameter to true. This parameter is only applicable to ThreatStream OnPrem.

For example,

GET /api/v1/malware/{id}/?skip_associations=true

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 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 skip_intelligence parameter to true. This parameter is only applicable to ThreatStream OnPrem.

For example,

GET /api/v1/malware/{id}/?skip_intelligence=true

source_created datetime

Time stamp of when the malware 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 malware 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.

tags list

Tags assigned to the Malware entities.

A tag is a meaningful name or any other string value assigned to identify the information.

For example, spear phishing,exploitation.

tipreports related (see item 1 in the Notes above)

Threat Bulletins associated with the Malware entity.

When creating a malware entity, specify the ID of the Threat Bulletin.

tlp string

Traffic Light Protocol designation for the Malware entity—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 Malware entity.

When creating a malware entity, specify the ID of the Threat Bulletin.

ttps related (see item 1 in the Notes above)

TTP (Threat Bulletins) associated with the Malware entity.

When creating a Malware entity, specify the TTP ID. See TTPs (Tactics, Techniques, and Procedures).

vulnerability related (see item 1 in the Notes above)

Vulnerabilities associated with the Malware entity.

When creating a Malware entity, specify the ID of the vulnerability.

Examples

  1. To create a private Malware entity that is associated with a TTP whose ID is 63:

    Copy
    curl --request POST --data '{"name": "dummy test malware", "tlp": "red", "tags": ["malware", "example tag"], "ttps": [63], "is_family": false, "malware_types": ["screen-capture"]}'  'https://api.threatstream.com/api/v1/malware/' -H 'Authorization: apikey <username>:<api_key>' -H 'Content-Type:application/json'
  2. To update an existing Malware entity whose ID is 79:

    Copy
    curl --request PATCH --data '{"name": "another dummy test malware", "tlp": "orange"}' 'https://api.threatstream.com/api/v1/malware/79/' -H 'Authorization: apikey <username>:<api_key>' -H 'Content-Type:application/json'
  3. To get the details of an existing Malware entity whose ID is 79:

    Copy
    curl 'https://api.threatstream.com/api/v1/malware/79/' -H 'Authorization: apikey <username>:<api_key>'
  4. To get the first 10 Malware entities from ThreatStream:

    Copy
    curl 'https://api.threatstream.com/api/v1/malware/?limit=10' -H 'Authorization: apikey <username>:<api_key>'
  5. (Only on ThreatStream OnPrem) To get the detail of a remote Malware entity whose ID is 80:

    Copy
    curl 'https://<ThreatStream_OnPrem_IP_or_FQDN>/api/v1/malware/80/?remote_api=true' -H 'Authorization: apikey <username>:<api_key>'
  6. (Only on ThreatStream OnPrem) To skip associations when retrieving details of a local Malware entity with ID 123456:

    Copy
    curl 'https://<ThreatStream_OnPrem_IP_or_FQDN>/api/v1/malware/123456/?skip_associations=true' -H 'Authorization: apikey <username>:<api_key>'