Fortinet black logo

Anomali ThreatStream

Anomali ThreatStream v2.1.0

Copy Link
Copy Doc ID 5bbe322b-3168-43de-ab57-d1e4528653a3:1

About the connector

Anomali ThreatStream offers the most comprehensive Threat Intelligence Platform, allowing organizations to access all intelligence feeds and integrate it seamlessly with internal security and IT systems.

This document provides information about the Anomali ThreatStream connector, which facilitates automated interactions, with ThreatStream server using FortiSOAR™ playbooks. Add the Anomali ThreatStream connector as a step in FortiSOAR™ playbooks and perform automated operations, such as automatically getting the reputation of an IP address, URL, File, Email, or Domain providing you the ability to investigate and contain a file-based incident in a fully automated manner.

Version information

Connector Version: 2.1.0

FortiSOAR™ Version Tested on: 5.0.1-098

Anomali ThreatStream API Version Tested on: v2

Authored By: Fortinet

Certified: Yes

Release Notes for version 2.1.0

Following enhancements have been made to the Anomali ThreatStream Connector in version 2.1.0:

  • Added support for configuring Anomali ThreatStream data ingestion using the FortiSOAR™ Data Ingestion Wizard, a new feature in FortiSOAR™ 5.0.0. Four new playbooks: >Anomali ThreatStream > Create Alert, >Anomali ThreatStream > Fetch, >>Anomali ThreatStream > Handle Macros, and Anomali ThreatStream > Ingest have been added for data ingestion.
  • Updated the input parameters in the following operations:
    • Get Domain Reputation
    • Get IP Reputation
    • Get URL Reputation
    • Get Email ID Reputation
    • Get File Reputation
    • Run Filter Language Query
    • Run Advanced Search
    • Submit Observables
  • Removed the Filter Options and Validate Input parameters for the Get Whois Domain Information and Get Whois IP Information operations.
  • Added the following new operations and playbooks:
    • Get Import Job Details
    • Create Incident
    • Get Incidents List
    • Get Incident
    • Update Incident
    • Delete Incident

Important: The output schema for Anomali Threatstream changed in version 2.0.0 and later of the connector, which caused a backward compatibility issue that would replace your old connector version with the new connector version. For example, if you already had installed version 1.1.0 and then you installed version 2.1.0, then version 1.1.0 would get replaced with version 2.1.0 of the Anomali Threatstream. If you want to retain both versions, i.e., 1.1.0 and 2.1.0 of the Anomali Threatstream connector, then you must apply the hotfix as mentioned in the Patch 5.0.1.01 - Fix compatibility issue for connectors supporting compatibility article. Also, note that version 2.0.0 of the Anomali Threatstream connector will get replaced by version 2.1.0 of the Anomali Threatstream connector.

Installing the connector

From FortiSOAR™ 5.0.0 onwards, use the Connector Store to install the connector. For the detailed procedure to install a connector, click here.
You can also use the yum command to install connectors. Connectors provided by FortiSOAR™ are delivered using a FortiSOAR™ repository. Therefore, you must set up your FortiSOAR™ repository and run the yum command as a root user to install connectors:

yum install cyops-connector-threatstream

Prerequisites to configuring the connector

  • You must have the URL of ThreatStream server to which you will connect and perform the automated operations.
  • You must have a registered username for the ThreatStream server and the API key for the ThreatStream API integration.
  • To access the FortiSOAR™ UI, ensure that port 443 is open through the firewall for the FortiSOAR™ instance.

Configuring the connector

For the procedure to configure a connector, click here.

Configuration parameters

In FortiSOAR™, on the Connectors page, click the Anomali ThreatStream connector row (if you are in the Grid view on the Connectors page) and in the Configurations tab enter the required configuration details:

Parameter Description
Server URL IP address or the hostname URL of the ThreatStream server to which you will connect and perform the automated operations.
Username Registered username for ThreatStream.
API Key API key configured for your account for using the ThreatStream API.
Verify SSL Specifies whether the SSL certificate for the server is to be verified or not.
By default, this option is set as True.

Actions supported by the connector

The following automated operations can be included in playbooks, and you can also use the annotations to access operations from FortiSOAR™ release 4.10.0 and onwards:

Function Description Annotation and Category
Get Domain Reputation Retrieves the reputation of the specified domain based on the filter criteria such as the domain name and other input parameters that you have specified. domain_reputation
Investigation
Get IP Reputation Retrieves the reputation of the specified IP address based on the filter criteria such as the IP address and other input parameters that you have specified. ip_reputation
Investigation
Get URL Reputation Retrieves the reputation of the specified URL based on the filter criteria such as the URL and other input parameters that you have specified, url_reputation
Investigation
Get Email ID Reputation Retrieves the reputation of the specified Email address based on the filter criteria such as the email address and other input parameters that you have specified. email_reputation
Investigation
Get File Reputation Retrieves the reputation of the specified FileHash based on the filter criteria such as the filehash and other input parameters that you have specified. file_reputation
Investigation
Get Whois Domain Information Executes a WhoIs lookup on the specified domain name and retrieves a list of domains based on the domain name that you have specified. whois_domain
Investigation
Get Whois IP Information Executes a WhoIs lookup on the specified IP address and retrieves a list of IP addresses based on the IP address that you have specified. whois_ip
Investigation
Run Filter Language Query Runs a search query using ThreatStream’s Filter Language Query grammar. search_query
Investigation
Run Advanced Search Runs an advanced search query using ThreatStream’s Query grammar. search_query
Investigation
Submit Observables Imports threat data (indicators) into ThreatStream and requires the approval of the imported data through the ThreatStream UI. submit_sample
Investigation
Get Submitted Observables Status by Import ID Retrieves the status of a submitted observable from ThreatStream based on the import ID that was returned in the response of the Submit Observables operation. get_import_job_status
Investigation
Get Import Job Details Retrieves the details of import jobs from ThreatStream based on search query that you have specified. get_import_job
Investigation
Create Incident Creates an incident in ThreatStream based on the name, tags, and other input parameters that you have specified. create_incidents
Investigation
Get Incidents List Retrieves a list of all incidents or specific incidents based on the filter criteria such as the intelligence value to filter and other input parameters that you have specified. get_incident_list
Investigation
Get Incident Collects and retrieves generated incidents from ThreatStream based on the incident ID that you have specified. get_incidents
Investigation
Update Incident Updates an incident in ThreatStream based on the incident ID and other input parameters that you have specified. update_incidents
Investigation
Delete Incident Deletes an incident from ThreatStream based on the incident ID that you have specified. delet_incidents
Investigation

operation: Get Domain Reputation

Input parameters

Parameter Description
Domain Name Name of the domain for which you want to retrieve reputation information.
Filter Options Filter options supported by ThreatStream.
Filter options supported by ThreatStream are Exact, Startswith, Contains, Regex, and Regexp.
If you select Exact, then you can select the Validate Input checkbox, if you want to validate the input you have provided, Domain Name in this case.
By default, this option is set as False.
Number of Records to return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"offset": "",
"limit": "",
"total_count": "",
"next": "",
"took": "",
"previous": ""
},
"objects": [
{
"meta": {
"severity": "",
"media_type": "",
"detail2": "",
"media": "",
"detail": "",
"maltype": ""
},
"threat_type": "",
"is_editable": "",
"source": "",
"is_public": "",
"retina_confidence": "",
"trusted_circle_ids": [],
"longitude": "",
"modified_ts": "",
"workgroups": [],
"is_anonymous": "",
"ip": "",
"status": "",
"id": "",
"source_reported_confidence": "",
"uuid": "",
"resource_uri": "",
"threatscore": "",
"feed_id": "",
"country": "",
"org": "",
"tags": [
{
"name": "",
"id": ""
}
],
"value": "",
"asn": "",
"rdns": "",
"itype": "",
"type": "",
"confidence": "",
"owner_organization_id": "",
"update_id": "",
"import_session_id": "",
"description": "",
"expiration_ts": "",
"latitude": "",
"tlp": "",
"created_ts": ""
}
]
}

operation: Get IP Reputation

Input parameters

Parameter Description
IP Address IP address for which you want to retrieve reputation information.
Filter Options Filter options supported by ThreatStream.
Filter options supported by ThreatStream are Exact, Startswith, Contains, Regex, and Regexp.
If you select Exact, then you can select the Validate Input checkbox, if you want to validate the input you have provided, IP Address in this case.
By default, this option is set as False.
Number of Records to return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"offset": "",
"limit": "",
"total_count": "",
"next": "",
"took": "",
"previous": ""
},
"objects": [
{
"meta": {
"severity": "",
"media_type": "",
"detail2": "",
"media": "",
"detail": "",
"maltype": ""
},
"threat_type": "",
"is_editable": "",
"source": "",
"is_public": "",
"retina_confidence": "",
"trusted_circle_ids": [],
"longitude": "",
"modified_ts": "",
"workgroups": [],
"is_anonymous": "",
"ip": "",
"status": "",
"id": "",
"source_reported_confidence": "",
"uuid": "",
"resource_uri": "",
"threatscore": "",
"feed_id": "",
"country": "",
"org": "",
"tags": [
{
"name": "",
"id": ""
}
],
"value": "",
"asn": "",
"rdns": "",
"itype": "",
"type": "",
"confidence": "",
"owner_organization_id": "",
"update_id": "",
"import_session_id": "",
"description": "",
"expiration_ts": "",
"latitude": "",
"tlp": "",
"created_ts": ""
}
]
}

operation: Get URL Reputation

Input parameters

Parameter Description
URL URL for which you want to retrieve reputation information.
Filter Options Filter options supported by ThreatStream.
Filter options supported by ThreatStream are Exact, Startswith, Contains, Regex, and Regexp.
If you select Exact, then you can select the Validate Input checkbox, if you want to validate the input you have provided, URL in this case.
By default, this option is set as False.
Number of Records to return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"offset": "",
"limit": "",
"total_count": "",
"next": "",
"took": "",
"previous": ""
},
"objects": [
{
"meta": {
"severity": "",
"media_type": "",
"detail2": "",
"media": "",
"detail": "",
"maltype": ""
},
"threat_type": "",
"is_editable": "",
"source": "",
"is_public": "",
"retina_confidence": "",
"trusted_circle_ids": [],
"longitude": "",
"modified_ts": "",
"workgroups": [],
"is_anonymous": "",
"ip": "",
"status": "",
"id": "",
"source_reported_confidence": "",
"uuid": "",
"resource_uri": "",
"threatscore": "",
"feed_id": "",
"country": "",
"org": "",
"tags": [
{
"name": "",
"id": ""
}
],
"value": "",
"asn": "",
"rdns": "",
"itype": "",
"type": "",
"confidence": "",
"owner_organization_id": "",
"update_id": "",
"import_session_id": "",
"description": "",
"expiration_ts": "",
"latitude": "",
"tlp": "",
"created_ts": ""
}
]
}

operation: Get Email ID Reputation

Input parameters

Parameter Description
Email ID Email ID for which you want to retrieve reputation information.
Filter Options Filter options supported by ThreatStream.
Filter options supported by ThreatStream are Exact, Startswith, Contains, Regex, and Regexp.
If you select Exact, then you can select the Validate Input checkbox, if you want to validate the input you have provided, Email ID in this case.
By default, this option is set as False.
Number of Records to return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"offset": "",
"limit": "",
"total_count": "",
"next": "",
"took": "",
"previous": ""
},
"objects": [
{
"meta": {
"severity": "",
"media_type": "",
"detail2": "",
"media": "",
"detail": "",
"maltype": ""
},
"threat_type": "",
"is_editable": "",
"source": "",
"is_public": "",
"retina_confidence": "",
"trusted_circle_ids": [],
"longitude": "",
"modified_ts": "",
"workgroups": [],
"is_anonymous": "",
"ip": "",
"status": "",
"id": "",
"source_reported_confidence": "",
"uuid": "",
"resource_uri": "",
"threatscore": "",
"feed_id": "",
"country": "",
"org": "",
"tags": [
{
"name": "",
"id": ""
}
],
"value": "",
"asn": "",
"rdns": "",
"itype": "",
"type": "",
"confidence": "",
"owner_organization_id": "",
"update_id": "",
"import_session_id": "",
"description": "",
"expiration_ts": "",
"latitude": "",
"tlp": "",
"created_ts": ""
}
]
}

operation: Get File Reputation

Input parameters

Parameter Description
Filehash FileHash for which you want to retrieve reputation information.
Filter Options Filter options supported by ThreatStream.
Filter options supported by ThreatStream are Exact, Startswith, Contains, Regex, and Regexp.
If you select Exact, then you can select the Validate Input checkbox, if you want to validate the input you have provided, filehash in this case.
By default, this option is set as False.
Number of Records to return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"offset": "",
"limit": "",
"total_count": "",
"next": "",
"took": "",
"previous": ""
},
"objects": [
{
"meta": {
"severity": "",
"media_type": "",
"detail2": "",
"media": "",
"detail": "",
"maltype": ""
},
"threat_type": "",
"is_editable": "",
"source": "",
"is_public": "",
"retina_confidence": "",
"trusted_circle_ids": [],
"longitude": "",
"modified_ts": "",
"workgroups": [],
"is_anonymous": "",
"ip": "",
"status": "",
"id": "",
"source_reported_confidence": "",
"uuid": "",
"resource_uri": "",
"threatscore": "",
"feed_id": "",
"country": "",
"org": "",
"tags": [
{
"name": "",
"id": ""
}
],
"value": "",
"asn": "",
"rdns": "",
"itype": "",
"type": "",
"confidence": "",
"owner_organization_id": "",
"update_id": "",
"import_session_id": "",
"description": "",
"expiration_ts": "",
"latitude": "",
"tlp": "",
"created_ts": ""
}
]
}

operation: Get Whois Domain Information

Input parameters

Parameter Description
Domain Name Name of the domain for which you want to retrieve information from Whois.

Output

The output contains the following populated JSON schema:
{
"contacts": {
"billing": "",
"tech": "",
"registrant": "",
"admin": ""
},
"registrar": [],
"status": [],
"updated_date": [],
"creation_date": [],
"nameservers": [],
"emails": [],
"raw": [],
"expiration_date": []
}

operation: Get Whois IP Information

Input parameters

Parameter Description
IP Address IP address for which you want to retrieve information from Whois.

Output

The output contains the following populated JSON schema:
{
"contacts": {
"billing": "",
"tech": "",
"registrant": "",
"admin": ""
},
"registrar": [],
"status": [],
"updated_date": [],
"creation_date": [],
"nameservers": [],
"emails": [],
"raw": [],
"expiration_date": []
}

operation: Run Filter Language Query

Input parameters

Parameter Description
Filter Query Valid query to be run on the ThreatStream server. The query must conform to ThreatStream’s Filter Language Query grammar.
Number of Records to return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"offset": "",
"limit": "",
"total_count": "",
"next": "",
"took": "",
"previous": ""
},
"objects": [
{
"meta": {
"severity": "",
"media_type": "",
"detail2": "",
"media": "",
"detail": "",
"maltype": ""
},
"threat_type": "",
"is_editable": "",
"source": "",
"is_public": "",
"retina_confidence": "",
"trusted_circle_ids": [],
"longitude": "",
"modified_ts": "",
"workgroups": [],
"is_anonymous": "",
"ip": "",
"status": "",
"id": "",
"source_reported_confidence": "",
"uuid": "",
"resource_uri": "",
"threatscore": "",
"feed_id": "",
"country": "",
"org": "",
"tags": [
{
"name": "",
"id": ""
}
],
"value": "",
"asn": "",
"rdns": "",
"itype": "",
"type": "",
"confidence": "",
"owner_organization_id": "",
"update_id": "",
"import_session_id": "",
"description": "",
"expiration_ts": "",
"latitude": "",
"tlp": "",
"created_ts": ""
}
]
}

operation: Run Advanced Search

Input parameters

Parameter Description
Advanced Query Valid query to be run on the ThreatStream server. The query must conform to ThreatStream’s Query grammar.
Number of Records to return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"offset": "",
"limit": "",
"total_count": "",
"next": "",
"took": "",
"previous": ""
},
"objects": [
{
"meta": {
"severity": "",
"media_type": "",
"detail2": "",
"media": "",
"detail": "",
"maltype": ""
},
"threat_type": "",
"is_editable": "",
"source": "",
"is_public": "",
"retina_confidence": "",
"trusted_circle_ids": [],
"longitude": "",
"modified_ts": "",
"workgroups": [],
"is_anonymous": "",
"ip": "",
"status": "",
"id": "",
"source_reported_confidence": "",
"uuid": "",
"resource_uri": "",
"threatscore": "",
"feed_id": "",
"country": "",
"org": "",
"tags": [
{
"name": "",
"id": ""
}
],
"value": "",
"asn": "",
"rdns": "",
"itype": "",
"type": "",
"confidence": "",
"owner_organization_id": "",
"update_id": "",
"import_session_id": "",
"description": "",
"expiration_ts": "",
"latitude": "",
"tlp": "",
"created_ts": ""
}
]
}

operation: Submit Observables

Input parameters

Parameter Description
CyOPs Attachment IRI (Optional) Attachment IRI that is used to access the file directly from the FortiSOAR™ Attachments module. This should be the file from which you want to import observables into Threatstream.
You can import observables from the following file types: CSV, HTML, IOC, JSON, PDF, or TXT.
Observable data (Optional) Enter the observable data that you want to import into Threatstream.
Confidence Confidence value that you want to assign to the observables that you want to import into Threatstream. You can specify values between 0 to 100.
Source Confidence Weight (Optional) Specifies the ratio between the amount of the source confidence of each indicator and the ThreatStream confidence.
Severity Severity value that you want to assign to the observables that you want to import into Threatstream.
You can choose from the following options: Low, Medium, High, or Very High.
Classification Classification that you want to assign to the observables that you want to import into Threatstream.
You can choose from the following options: Private or Public.
Expiration Time Stamp Duration after which the observables will expire on Threatstream.
You can choose from the following options: 90 days, 60 days, 30 days, Never, or Custom.
By default, it set to 90 days from the current date.
Tags (Optional) Tags that you want to assign to the observables that you want to import into Threatstream.
IP Indicator Type Global setting that applies to any imported IP-type indicator, when you do not specify an explicit itype for the IP-type indicator.
Domain Indicator Type Global setting that applies to any imported domain-type indicator, when you do not specify an explicit itype for the domain-type indicator.
URL Indicator Type Global setting that applies to any imported URL-type indicator, when you do not specify an explicit itype for the URL-type indicator.
Email Indicator Type Global setting that applies to any imported email-type indicator, when you do not specify an explicit itype for the email-type indicator.
MD5 Indicator Type Global setting that applies to any imported MD5-type indicator, when you do not specify an explicit itype for the MD5-type indicator.
Trusted Circle IDs (Optional) IDs of the trusted circle.

Output

The output contains the following populated JSON schema:
{
"job_id": "",
"success": "",
"import_session_id": ""
}

operation: Get Submitted Observables Status by Import ID

Input parameters

Parameter Description
Import Session ID ID of the import session for which you want to retrieve the submitted observable status from ThreatStream.
The import session ID is returned in the response of the Submit Observables operation.

Output

The output contains the following populated JSON schema:
{
"name": "",
"messages": "",
"user_id": "",
"numRejected": "",
"is_public": "",
"associations": {
"tip_reports": [],
"actors": [],
"incidents": [],
"ttps": [],
"campaigns": []
},
"id": "",
"numIndicators": "",
"fileType": "",
"source_confidence_weight": "",
"notes": "",
"workgroups": [],
"is_anonymous": "",
"organization": {
"name": "",
"resource_uri": "",
"id": ""
},
"status": "",
"num_public": "",
"email": "",
"fileName": "",
"num_private": "",
"jobID": "",
"default_comment": "",
"resource_uri": "",
"intelligence_source": "",
"date_modified": "",
"tags": [],
"sandbox_submit": "",
"approved_by_id": "",
"processed_ts": "",
"confidence": "",
"orginal_intelligence": "",
"date": "",
"visibleForReview": "",
"tlp": "",
"trusted_circles": [],
"approved_by": {
"name": "",
"must_change_password": "",
"avatar_s3_url": "",
"organization": {
"name": "",
"resource_uri": "",
"id": ""
},
"is_active": "",
"id": "",
"email": "",
"can_share_intelligence": "",
"resource_uri": "",
"nickname": ""
}
}

operation: Get Import Job Details

Input parameters

Parameter Description
Search Query Valid query to be run on the ThreatStream server based on which you want to retrieve details of import jobs.
Number of Records to Return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"next": "",
"total_count": "",
"limit": "",
"offset": "",
"previous": ""
},
"objects": [
{
"name": "",
"approved_by_id": "",
"user_id": "",
"visibleForReview": "",
"is_public": "",
"num_public": "",
"numIndicators": "",
"email": "",
"fileType": "",
"source_confidence_weight": "",
"date": "",
"workgroups": [],
"is_anonymous": "",
"organization": {
"name": "",
"resource_uri": "",
"id": ""
},
"status": "",
"id": "",
"numRejected": "",
"fileName": "",
"num_private": "",
"jobID": "",
"default_comment": "",
"resource_uri": "",
"intelligence_source": "",
"date_modified": "",
"tags": [
{
"name": "",
"org_id": "",
"tlp": "",
"id": ""
}
],
"sandbox_submit": "",
"processed_ts": "",
"confidence": "",
"orginal_intelligence": "",
"messages": "",
"notes": "",
"tlp": "",
"trusted_circles": [],
"approved_by": {
"name": "",
"must_change_password": "",
"avatar_s3_url": "",
"organization": {
"name": "",
"resource_uri": "",
"id": ""
},
"nickname": "",
"id": "",
"email": "",
"can_share_intelligence": "",
"resource_uri": "",
"is_active": ""
}
}
]
}

operation: Create Incident

Input parameters

Parameter Description
Name Name of the incident that you want to create in ThreatStream.
The incident name is associated with your organization. Therefore, the name that you specify must be unique within your organization.
Is Incident Public or Private Select whether the incident that you want to create in ThreatStream is Public or Private (including belonging to a trusted circle).
Select this option, i.e., set it to True, if you want to create the incident as a Public incident. This is the default value.
Clear this option, i.e., set it to False, if you want to create the incident as a Private incident or an incident that belongs to a Trusted Circle.
Tags (Optional) Tags assigned to the incident that you want to create in ThreatStream.
A tag is a meaningful name or any other string value assigned to identify the information. For example, spear phishing, exploitation.
Intelligence (Optional) Indicators that are associated with the incident on the ThreatStream platform. You can add multiple intelligence IDs using the comma separator.
TLP (Optional) Traffic Light Protocol (TLP) designation for the incident that you want to create in ThreatStream. You can choose from the following options: Red, Amber, Green, or White.
Fields to Include with The Incident (Optional) Specify other fields that you want to include with the incident that you want to create in ThreatStream.

Output

The output contains the following populated JSON schema:
{
"name": "",
"external_references": [],
"is_public": "",
"intended_effects": [],
"logo_s3_url": "",
"assignee_user": "",
"publication_status": "",
"end_date": "",
"feed_id": "",
"workgroups": [],
"is_anonymous": "",
"organization": {
"name": "",
"resource_uri": "",
"id": ""
},
"status": {
"display_name": "",
"resource_uri": "",
"id": ""
},
"id": "",
"owner_user": {
"name": "",
"email": "",
"resource_uri": "",
"id": ""
},
"circles": [],
"activity_dates": [],
"resource_uri": "",
"organization_id": "",
"modified_ts": "",
"parent": "",
"watched_by_me": "",
"starred_total_count": "",
"tlp": "",
"votes": {
"total": "",
"me": ""
},
"victims": [],
"starred_by_me": "",
"description": "",
"body_content_type": "",
"published_ts": "",
"start_date": "",
"is_cloneable": "",
"sandbox_reports": [],
"status_desc": "",
"created_ts": "",
"watched_total_count": ""
}

operation: Get Incidents List

Input parameters

Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.

Parameter Description
Limit Maximum number of results, per page, that this operation should return.
Offset 0 based index of the page that this operation should return.
Intelligence value to filter Intelligence value based on which you want to filter incidents to be retrieved from ThreatStream. For example, google.com returns all incidents that are associated with google.com.

Output

The output contains the following populated JSON schema:
{
"meta": {
"next": "",
"total_count": "",
"limit": "",
"offset": "",
"previous": ""
},
"objects": [
{
"name": "",
"is_public": "",
"starred_by_me": "",
"publication_status": "",
"end_date": "",
"feed_id": "",
"workgroups": [],
"is_anonymous": "",
"is_cloneable": "",
"status": {
"display_name": "",
"resource_uri": "",
"id": ""
},
"id": "",
"start_date": "",
"circles": [
{
"name": "",
"resource_uri": "",
"id": ""
}
],
"resource_uri": "",
"organization_id": "",
"modified_ts": "",
"watched_by_me": "",
"tags": [],
"tags_v2": [
{
"name": "",
"id": ""
}
],
"starred_total_count": "",
"published_ts": "",
"votes": {
"total": "",
"me": ""
},
"tlp": "",
"created_ts": "",
"watched_total_count": ""
}
]
}

operation: Get Incident

Input parameters

Parameter Description
Incident ID ID of the generated incident whose details you want to retrieve from ThreatStream.

Output

The output contains the following populated JSON schema:
{
"external_references": [
{
"title": "",
"id": "",
"filename": "",
"r_type": "",
"s3_url": "",
"resource_uri": "",
"url": ""
}
],
"logo_s3_url": "",
"signatures": [],
"publication_status": "",
"end_date": "",
"modified_ts": "",
"is_cloneable": "",
"status": {
"display_name": "",
"resource_uri": "",
"id": ""
},
"activity_dates": [],
"tipreports": [],
"tlp": "",
"watched_by_me": "",
"tags": [
""
],
"created_ts": "",
"actors": [],
"victims": [],
"incidents": [],
"body_content_type": "",
"published_ts": "",
"starred_total_count": "",
"sandbox_reports": [],
"description": "",
"owner_user": {
"name": "",
"email": "",
"resource_uri": "",
"id": ""
},
"name": "",
"is_public": "",
"intended_effects": [],
"feed_id": "",
"workgroups": [],
"is_anonymous": "",
"organization": {
"name": "",
"resource_uri": "",
"id": ""
},
"id": "",
"circles": [
{
"name": "",
"resource_uri": "",
"id": ""
}
],
"resource_uri": "",
"campaigns": [],
"organization_id": "",
"parent": "",
"intelligence": [],
"tags_v2": [
{
"name": "",
"id": ""
}
],
"votes": {
"total": "",
"me": ""
},
"start_date": "",
"ttps": [],
"starred_by_me": "",
"watched_total_count": "",
"status_desc": ""
}

operation: Update Incident

Input parameters

Parameter Description
Incident ID ID of the incident that you want to update on ThreatStream.
Incident Name Name of the incident that you want to update on ThreatStream.
Status (Optional) Select the status of the incident that you want to update on ThreatStream. You can choose from the following options: New, Open, Stalled, Containment Achieved, Restoration Achieved, Incident Reported, Closed, Rejected, or Deleted.
Note: This parameter will make an API call named "get_status" to dynamically populate its dropdown selections.
Status Description (Optional) Description associated with the status of the incident that you want to update on ThreatStream.
Intelligence (Optional) Indicators associated with the Incident on the ThreatStream platform. Multiple intelligence IDs are comma separated.
Fields to Update on Incident (Optional) Specify other fields that you want to include with the incident that you want to update in ThreatStream.

Output

The output contains the following populated JSON schema:
{
"name": "",
"external_references": [],
"is_public": "",
"intended_effects": [],
"logo_s3_url": "",
"assignee_user": "",
"publication_status": "",
"end_date": "",
"feed_id": "",
"workgroups": [],
"is_anonymous": "",
"organization": {
"name": "",
"resource_uri": "",
"id": ""
},
"status": {
"display_name": "",
"resource_uri": "",
"id": ""
},
"id": "",
"owner_user": {
"name": "",
"email": "",
"resource_uri": "",
"id": ""
},
"circles": [],
"activity_dates": [],
"resource_uri": "",
"organization_id": "",
"modified_ts": "",
"parent": "",
"watched_by_me": "",
"starred_total_count": "",
"tlp": "",
"votes": {
"total": "",
"me": ""
},
"victims": [],
"starred_by_me": "",
"description": "",
"body_content_type": "",
"published_ts": "",
"start_date": "",
"is_cloneable": "",
"sandbox_reports": [],
"status_desc": "",
"created_ts": "",
"watched_total_count": ""
}

operation: Delete Incident

Input parameters

Parameter Description
Incident ID ID of the incident that you want to delete from ThreatStream.

Output

The output contains the following populated JSON schema:
{
"result": ""
}

Included playbooks

The Sample - Anomali ThreatStream - 2.1.0 playbook collection comes bundled with the Anomali ThreatStream connector. This playbook contains steps using which you can perform all supported actions. You can see the bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Anomali ThreatStream connector.

  • > Anomali ThreatStream > Create
  • > Anomali ThreatStream > Fetch
  • >> Anomali ThreatStream > Handle Macros
  • Anomali ThreatStream > Ingest
  • Create Incident
  • Delete Incident
  • Get Domain Reputation
  • Get Email ID Reputation
  • Get File Reputation
  • Get Import Job Details
  • Get Incident
  • Get Incidents List
  • Get IP Reputation
  • Get Submitted Observables Status by Import ID
  • Get URL Reputation
  • Get Whois Domain Information
  • Get Whois IP Information
  • Run Advanced Search
  • Run Filter Language Query
  • Submit Observables
  • Update Incident

Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets deleted during connector upgrade and delete.

Previous
Next

About the connector

Anomali ThreatStream offers the most comprehensive Threat Intelligence Platform, allowing organizations to access all intelligence feeds and integrate it seamlessly with internal security and IT systems.

This document provides information about the Anomali ThreatStream connector, which facilitates automated interactions, with ThreatStream server using FortiSOAR™ playbooks. Add the Anomali ThreatStream connector as a step in FortiSOAR™ playbooks and perform automated operations, such as automatically getting the reputation of an IP address, URL, File, Email, or Domain providing you the ability to investigate and contain a file-based incident in a fully automated manner.

Version information

Connector Version: 2.1.0

FortiSOAR™ Version Tested on: 5.0.1-098

Anomali ThreatStream API Version Tested on: v2

Authored By: Fortinet

Certified: Yes

Release Notes for version 2.1.0

Following enhancements have been made to the Anomali ThreatStream Connector in version 2.1.0:

Important: The output schema for Anomali Threatstream changed in version 2.0.0 and later of the connector, which caused a backward compatibility issue that would replace your old connector version with the new connector version. For example, if you already had installed version 1.1.0 and then you installed version 2.1.0, then version 1.1.0 would get replaced with version 2.1.0 of the Anomali Threatstream. If you want to retain both versions, i.e., 1.1.0 and 2.1.0 of the Anomali Threatstream connector, then you must apply the hotfix as mentioned in the Patch 5.0.1.01 - Fix compatibility issue for connectors supporting compatibility article. Also, note that version 2.0.0 of the Anomali Threatstream connector will get replaced by version 2.1.0 of the Anomali Threatstream connector.

Installing the connector

From FortiSOAR™ 5.0.0 onwards, use the Connector Store to install the connector. For the detailed procedure to install a connector, click here.
You can also use the yum command to install connectors. Connectors provided by FortiSOAR™ are delivered using a FortiSOAR™ repository. Therefore, you must set up your FortiSOAR™ repository and run the yum command as a root user to install connectors:

yum install cyops-connector-threatstream

Prerequisites to configuring the connector

Configuring the connector

For the procedure to configure a connector, click here.

Configuration parameters

In FortiSOAR™, on the Connectors page, click the Anomali ThreatStream connector row (if you are in the Grid view on the Connectors page) and in the Configurations tab enter the required configuration details:

Parameter Description
Server URL IP address or the hostname URL of the ThreatStream server to which you will connect and perform the automated operations.
Username Registered username for ThreatStream.
API Key API key configured for your account for using the ThreatStream API.
Verify SSL Specifies whether the SSL certificate for the server is to be verified or not.
By default, this option is set as True.

Actions supported by the connector

The following automated operations can be included in playbooks, and you can also use the annotations to access operations from FortiSOAR™ release 4.10.0 and onwards:

Function Description Annotation and Category
Get Domain Reputation Retrieves the reputation of the specified domain based on the filter criteria such as the domain name and other input parameters that you have specified. domain_reputation
Investigation
Get IP Reputation Retrieves the reputation of the specified IP address based on the filter criteria such as the IP address and other input parameters that you have specified. ip_reputation
Investigation
Get URL Reputation Retrieves the reputation of the specified URL based on the filter criteria such as the URL and other input parameters that you have specified, url_reputation
Investigation
Get Email ID Reputation Retrieves the reputation of the specified Email address based on the filter criteria such as the email address and other input parameters that you have specified. email_reputation
Investigation
Get File Reputation Retrieves the reputation of the specified FileHash based on the filter criteria such as the filehash and other input parameters that you have specified. file_reputation
Investigation
Get Whois Domain Information Executes a WhoIs lookup on the specified domain name and retrieves a list of domains based on the domain name that you have specified. whois_domain
Investigation
Get Whois IP Information Executes a WhoIs lookup on the specified IP address and retrieves a list of IP addresses based on the IP address that you have specified. whois_ip
Investigation
Run Filter Language Query Runs a search query using ThreatStream’s Filter Language Query grammar. search_query
Investigation
Run Advanced Search Runs an advanced search query using ThreatStream’s Query grammar. search_query
Investigation
Submit Observables Imports threat data (indicators) into ThreatStream and requires the approval of the imported data through the ThreatStream UI. submit_sample
Investigation
Get Submitted Observables Status by Import ID Retrieves the status of a submitted observable from ThreatStream based on the import ID that was returned in the response of the Submit Observables operation. get_import_job_status
Investigation
Get Import Job Details Retrieves the details of import jobs from ThreatStream based on search query that you have specified. get_import_job
Investigation
Create Incident Creates an incident in ThreatStream based on the name, tags, and other input parameters that you have specified. create_incidents
Investigation
Get Incidents List Retrieves a list of all incidents or specific incidents based on the filter criteria such as the intelligence value to filter and other input parameters that you have specified. get_incident_list
Investigation
Get Incident Collects and retrieves generated incidents from ThreatStream based on the incident ID that you have specified. get_incidents
Investigation
Update Incident Updates an incident in ThreatStream based on the incident ID and other input parameters that you have specified. update_incidents
Investigation
Delete Incident Deletes an incident from ThreatStream based on the incident ID that you have specified. delet_incidents
Investigation

operation: Get Domain Reputation

Input parameters

Parameter Description
Domain Name Name of the domain for which you want to retrieve reputation information.
Filter Options Filter options supported by ThreatStream.
Filter options supported by ThreatStream are Exact, Startswith, Contains, Regex, and Regexp.
If you select Exact, then you can select the Validate Input checkbox, if you want to validate the input you have provided, Domain Name in this case.
By default, this option is set as False.
Number of Records to return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"offset": "",
"limit": "",
"total_count": "",
"next": "",
"took": "",
"previous": ""
},
"objects": [
{
"meta": {
"severity": "",
"media_type": "",
"detail2": "",
"media": "",
"detail": "",
"maltype": ""
},
"threat_type": "",
"is_editable": "",
"source": "",
"is_public": "",
"retina_confidence": "",
"trusted_circle_ids": [],
"longitude": "",
"modified_ts": "",
"workgroups": [],
"is_anonymous": "",
"ip": "",
"status": "",
"id": "",
"source_reported_confidence": "",
"uuid": "",
"resource_uri": "",
"threatscore": "",
"feed_id": "",
"country": "",
"org": "",
"tags": [
{
"name": "",
"id": ""
}
],
"value": "",
"asn": "",
"rdns": "",
"itype": "",
"type": "",
"confidence": "",
"owner_organization_id": "",
"update_id": "",
"import_session_id": "",
"description": "",
"expiration_ts": "",
"latitude": "",
"tlp": "",
"created_ts": ""
}
]
}

operation: Get IP Reputation

Input parameters

Parameter Description
IP Address IP address for which you want to retrieve reputation information.
Filter Options Filter options supported by ThreatStream.
Filter options supported by ThreatStream are Exact, Startswith, Contains, Regex, and Regexp.
If you select Exact, then you can select the Validate Input checkbox, if you want to validate the input you have provided, IP Address in this case.
By default, this option is set as False.
Number of Records to return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"offset": "",
"limit": "",
"total_count": "",
"next": "",
"took": "",
"previous": ""
},
"objects": [
{
"meta": {
"severity": "",
"media_type": "",
"detail2": "",
"media": "",
"detail": "",
"maltype": ""
},
"threat_type": "",
"is_editable": "",
"source": "",
"is_public": "",
"retina_confidence": "",
"trusted_circle_ids": [],
"longitude": "",
"modified_ts": "",
"workgroups": [],
"is_anonymous": "",
"ip": "",
"status": "",
"id": "",
"source_reported_confidence": "",
"uuid": "",
"resource_uri": "",
"threatscore": "",
"feed_id": "",
"country": "",
"org": "",
"tags": [
{
"name": "",
"id": ""
}
],
"value": "",
"asn": "",
"rdns": "",
"itype": "",
"type": "",
"confidence": "",
"owner_organization_id": "",
"update_id": "",
"import_session_id": "",
"description": "",
"expiration_ts": "",
"latitude": "",
"tlp": "",
"created_ts": ""
}
]
}

operation: Get URL Reputation

Input parameters

Parameter Description
URL URL for which you want to retrieve reputation information.
Filter Options Filter options supported by ThreatStream.
Filter options supported by ThreatStream are Exact, Startswith, Contains, Regex, and Regexp.
If you select Exact, then you can select the Validate Input checkbox, if you want to validate the input you have provided, URL in this case.
By default, this option is set as False.
Number of Records to return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"offset": "",
"limit": "",
"total_count": "",
"next": "",
"took": "",
"previous": ""
},
"objects": [
{
"meta": {
"severity": "",
"media_type": "",
"detail2": "",
"media": "",
"detail": "",
"maltype": ""
},
"threat_type": "",
"is_editable": "",
"source": "",
"is_public": "",
"retina_confidence": "",
"trusted_circle_ids": [],
"longitude": "",
"modified_ts": "",
"workgroups": [],
"is_anonymous": "",
"ip": "",
"status": "",
"id": "",
"source_reported_confidence": "",
"uuid": "",
"resource_uri": "",
"threatscore": "",
"feed_id": "",
"country": "",
"org": "",
"tags": [
{
"name": "",
"id": ""
}
],
"value": "",
"asn": "",
"rdns": "",
"itype": "",
"type": "",
"confidence": "",
"owner_organization_id": "",
"update_id": "",
"import_session_id": "",
"description": "",
"expiration_ts": "",
"latitude": "",
"tlp": "",
"created_ts": ""
}
]
}

operation: Get Email ID Reputation

Input parameters

Parameter Description
Email ID Email ID for which you want to retrieve reputation information.
Filter Options Filter options supported by ThreatStream.
Filter options supported by ThreatStream are Exact, Startswith, Contains, Regex, and Regexp.
If you select Exact, then you can select the Validate Input checkbox, if you want to validate the input you have provided, Email ID in this case.
By default, this option is set as False.
Number of Records to return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"offset": "",
"limit": "",
"total_count": "",
"next": "",
"took": "",
"previous": ""
},
"objects": [
{
"meta": {
"severity": "",
"media_type": "",
"detail2": "",
"media": "",
"detail": "",
"maltype": ""
},
"threat_type": "",
"is_editable": "",
"source": "",
"is_public": "",
"retina_confidence": "",
"trusted_circle_ids": [],
"longitude": "",
"modified_ts": "",
"workgroups": [],
"is_anonymous": "",
"ip": "",
"status": "",
"id": "",
"source_reported_confidence": "",
"uuid": "",
"resource_uri": "",
"threatscore": "",
"feed_id": "",
"country": "",
"org": "",
"tags": [
{
"name": "",
"id": ""
}
],
"value": "",
"asn": "",
"rdns": "",
"itype": "",
"type": "",
"confidence": "",
"owner_organization_id": "",
"update_id": "",
"import_session_id": "",
"description": "",
"expiration_ts": "",
"latitude": "",
"tlp": "",
"created_ts": ""
}
]
}

operation: Get File Reputation

Input parameters

Parameter Description
Filehash FileHash for which you want to retrieve reputation information.
Filter Options Filter options supported by ThreatStream.
Filter options supported by ThreatStream are Exact, Startswith, Contains, Regex, and Regexp.
If you select Exact, then you can select the Validate Input checkbox, if you want to validate the input you have provided, filehash in this case.
By default, this option is set as False.
Number of Records to return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"offset": "",
"limit": "",
"total_count": "",
"next": "",
"took": "",
"previous": ""
},
"objects": [
{
"meta": {
"severity": "",
"media_type": "",
"detail2": "",
"media": "",
"detail": "",
"maltype": ""
},
"threat_type": "",
"is_editable": "",
"source": "",
"is_public": "",
"retina_confidence": "",
"trusted_circle_ids": [],
"longitude": "",
"modified_ts": "",
"workgroups": [],
"is_anonymous": "",
"ip": "",
"status": "",
"id": "",
"source_reported_confidence": "",
"uuid": "",
"resource_uri": "",
"threatscore": "",
"feed_id": "",
"country": "",
"org": "",
"tags": [
{
"name": "",
"id": ""
}
],
"value": "",
"asn": "",
"rdns": "",
"itype": "",
"type": "",
"confidence": "",
"owner_organization_id": "",
"update_id": "",
"import_session_id": "",
"description": "",
"expiration_ts": "",
"latitude": "",
"tlp": "",
"created_ts": ""
}
]
}

operation: Get Whois Domain Information

Input parameters

Parameter Description
Domain Name Name of the domain for which you want to retrieve information from Whois.

Output

The output contains the following populated JSON schema:
{
"contacts": {
"billing": "",
"tech": "",
"registrant": "",
"admin": ""
},
"registrar": [],
"status": [],
"updated_date": [],
"creation_date": [],
"nameservers": [],
"emails": [],
"raw": [],
"expiration_date": []
}

operation: Get Whois IP Information

Input parameters

Parameter Description
IP Address IP address for which you want to retrieve information from Whois.

Output

The output contains the following populated JSON schema:
{
"contacts": {
"billing": "",
"tech": "",
"registrant": "",
"admin": ""
},
"registrar": [],
"status": [],
"updated_date": [],
"creation_date": [],
"nameservers": [],
"emails": [],
"raw": [],
"expiration_date": []
}

operation: Run Filter Language Query

Input parameters

Parameter Description
Filter Query Valid query to be run on the ThreatStream server. The query must conform to ThreatStream’s Filter Language Query grammar.
Number of Records to return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"offset": "",
"limit": "",
"total_count": "",
"next": "",
"took": "",
"previous": ""
},
"objects": [
{
"meta": {
"severity": "",
"media_type": "",
"detail2": "",
"media": "",
"detail": "",
"maltype": ""
},
"threat_type": "",
"is_editable": "",
"source": "",
"is_public": "",
"retina_confidence": "",
"trusted_circle_ids": [],
"longitude": "",
"modified_ts": "",
"workgroups": [],
"is_anonymous": "",
"ip": "",
"status": "",
"id": "",
"source_reported_confidence": "",
"uuid": "",
"resource_uri": "",
"threatscore": "",
"feed_id": "",
"country": "",
"org": "",
"tags": [
{
"name": "",
"id": ""
}
],
"value": "",
"asn": "",
"rdns": "",
"itype": "",
"type": "",
"confidence": "",
"owner_organization_id": "",
"update_id": "",
"import_session_id": "",
"description": "",
"expiration_ts": "",
"latitude": "",
"tlp": "",
"created_ts": ""
}
]
}

operation: Run Advanced Search

Input parameters

Parameter Description
Advanced Query Valid query to be run on the ThreatStream server. The query must conform to ThreatStream’s Query grammar.
Number of Records to return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"offset": "",
"limit": "",
"total_count": "",
"next": "",
"took": "",
"previous": ""
},
"objects": [
{
"meta": {
"severity": "",
"media_type": "",
"detail2": "",
"media": "",
"detail": "",
"maltype": ""
},
"threat_type": "",
"is_editable": "",
"source": "",
"is_public": "",
"retina_confidence": "",
"trusted_circle_ids": [],
"longitude": "",
"modified_ts": "",
"workgroups": [],
"is_anonymous": "",
"ip": "",
"status": "",
"id": "",
"source_reported_confidence": "",
"uuid": "",
"resource_uri": "",
"threatscore": "",
"feed_id": "",
"country": "",
"org": "",
"tags": [
{
"name": "",
"id": ""
}
],
"value": "",
"asn": "",
"rdns": "",
"itype": "",
"type": "",
"confidence": "",
"owner_organization_id": "",
"update_id": "",
"import_session_id": "",
"description": "",
"expiration_ts": "",
"latitude": "",
"tlp": "",
"created_ts": ""
}
]
}

operation: Submit Observables

Input parameters

Parameter Description
CyOPs Attachment IRI (Optional) Attachment IRI that is used to access the file directly from the FortiSOAR™ Attachments module. This should be the file from which you want to import observables into Threatstream.
You can import observables from the following file types: CSV, HTML, IOC, JSON, PDF, or TXT.
Observable data (Optional) Enter the observable data that you want to import into Threatstream.
Confidence Confidence value that you want to assign to the observables that you want to import into Threatstream. You can specify values between 0 to 100.
Source Confidence Weight (Optional) Specifies the ratio between the amount of the source confidence of each indicator and the ThreatStream confidence.
Severity Severity value that you want to assign to the observables that you want to import into Threatstream.
You can choose from the following options: Low, Medium, High, or Very High.
Classification Classification that you want to assign to the observables that you want to import into Threatstream.
You can choose from the following options: Private or Public.
Expiration Time Stamp Duration after which the observables will expire on Threatstream.
You can choose from the following options: 90 days, 60 days, 30 days, Never, or Custom.
By default, it set to 90 days from the current date.
Tags (Optional) Tags that you want to assign to the observables that you want to import into Threatstream.
IP Indicator Type Global setting that applies to any imported IP-type indicator, when you do not specify an explicit itype for the IP-type indicator.
Domain Indicator Type Global setting that applies to any imported domain-type indicator, when you do not specify an explicit itype for the domain-type indicator.
URL Indicator Type Global setting that applies to any imported URL-type indicator, when you do not specify an explicit itype for the URL-type indicator.
Email Indicator Type Global setting that applies to any imported email-type indicator, when you do not specify an explicit itype for the email-type indicator.
MD5 Indicator Type Global setting that applies to any imported MD5-type indicator, when you do not specify an explicit itype for the MD5-type indicator.
Trusted Circle IDs (Optional) IDs of the trusted circle.

Output

The output contains the following populated JSON schema:
{
"job_id": "",
"success": "",
"import_session_id": ""
}

operation: Get Submitted Observables Status by Import ID

Input parameters

Parameter Description
Import Session ID ID of the import session for which you want to retrieve the submitted observable status from ThreatStream.
The import session ID is returned in the response of the Submit Observables operation.

Output

The output contains the following populated JSON schema:
{
"name": "",
"messages": "",
"user_id": "",
"numRejected": "",
"is_public": "",
"associations": {
"tip_reports": [],
"actors": [],
"incidents": [],
"ttps": [],
"campaigns": []
},
"id": "",
"numIndicators": "",
"fileType": "",
"source_confidence_weight": "",
"notes": "",
"workgroups": [],
"is_anonymous": "",
"organization": {
"name": "",
"resource_uri": "",
"id": ""
},
"status": "",
"num_public": "",
"email": "",
"fileName": "",
"num_private": "",
"jobID": "",
"default_comment": "",
"resource_uri": "",
"intelligence_source": "",
"date_modified": "",
"tags": [],
"sandbox_submit": "",
"approved_by_id": "",
"processed_ts": "",
"confidence": "",
"orginal_intelligence": "",
"date": "",
"visibleForReview": "",
"tlp": "",
"trusted_circles": [],
"approved_by": {
"name": "",
"must_change_password": "",
"avatar_s3_url": "",
"organization": {
"name": "",
"resource_uri": "",
"id": ""
},
"is_active": "",
"id": "",
"email": "",
"can_share_intelligence": "",
"resource_uri": "",
"nickname": ""
}
}

operation: Get Import Job Details

Input parameters

Parameter Description
Search Query Valid query to be run on the ThreatStream server based on which you want to retrieve details of import jobs.
Number of Records to Return Select whether you want this operation to Fetch Limited Records or Fetch All Records.
If you select Fetch Limited Records, then you must specify the following additional parameters:
  • Limit: Maximum number of results, per page, that this operation should return.
  • Offset: 0 based index of the page that this operation should return.

Output

The output contains the following populated JSON schema:
{
"meta": {
"next": "",
"total_count": "",
"limit": "",
"offset": "",
"previous": ""
},
"objects": [
{
"name": "",
"approved_by_id": "",
"user_id": "",
"visibleForReview": "",
"is_public": "",
"num_public": "",
"numIndicators": "",
"email": "",
"fileType": "",
"source_confidence_weight": "",
"date": "",
"workgroups": [],
"is_anonymous": "",
"organization": {
"name": "",
"resource_uri": "",
"id": ""
},
"status": "",
"id": "",
"numRejected": "",
"fileName": "",
"num_private": "",
"jobID": "",
"default_comment": "",
"resource_uri": "",
"intelligence_source": "",
"date_modified": "",
"tags": [
{
"name": "",
"org_id": "",
"tlp": "",
"id": ""
}
],
"sandbox_submit": "",
"processed_ts": "",
"confidence": "",
"orginal_intelligence": "",
"messages": "",
"notes": "",
"tlp": "",
"trusted_circles": [],
"approved_by": {
"name": "",
"must_change_password": "",
"avatar_s3_url": "",
"organization": {
"name": "",
"resource_uri": "",
"id": ""
},
"nickname": "",
"id": "",
"email": "",
"can_share_intelligence": "",
"resource_uri": "",
"is_active": ""
}
}
]
}

operation: Create Incident

Input parameters

Parameter Description
Name Name of the incident that you want to create in ThreatStream.
The incident name is associated with your organization. Therefore, the name that you specify must be unique within your organization.
Is Incident Public or Private Select whether the incident that you want to create in ThreatStream is Public or Private (including belonging to a trusted circle).
Select this option, i.e., set it to True, if you want to create the incident as a Public incident. This is the default value.
Clear this option, i.e., set it to False, if you want to create the incident as a Private incident or an incident that belongs to a Trusted Circle.
Tags (Optional) Tags assigned to the incident that you want to create in ThreatStream.
A tag is a meaningful name or any other string value assigned to identify the information. For example, spear phishing, exploitation.
Intelligence (Optional) Indicators that are associated with the incident on the ThreatStream platform. You can add multiple intelligence IDs using the comma separator.
TLP (Optional) Traffic Light Protocol (TLP) designation for the incident that you want to create in ThreatStream. You can choose from the following options: Red, Amber, Green, or White.
Fields to Include with The Incident (Optional) Specify other fields that you want to include with the incident that you want to create in ThreatStream.

Output

The output contains the following populated JSON schema:
{
"name": "",
"external_references": [],
"is_public": "",
"intended_effects": [],
"logo_s3_url": "",
"assignee_user": "",
"publication_status": "",
"end_date": "",
"feed_id": "",
"workgroups": [],
"is_anonymous": "",
"organization": {
"name": "",
"resource_uri": "",
"id": ""
},
"status": {
"display_name": "",
"resource_uri": "",
"id": ""
},
"id": "",
"owner_user": {
"name": "",
"email": "",
"resource_uri": "",
"id": ""
},
"circles": [],
"activity_dates": [],
"resource_uri": "",
"organization_id": "",
"modified_ts": "",
"parent": "",
"watched_by_me": "",
"starred_total_count": "",
"tlp": "",
"votes": {
"total": "",
"me": ""
},
"victims": [],
"starred_by_me": "",
"description": "",
"body_content_type": "",
"published_ts": "",
"start_date": "",
"is_cloneable": "",
"sandbox_reports": [],
"status_desc": "",
"created_ts": "",
"watched_total_count": ""
}

operation: Get Incidents List

Input parameters

Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.

Parameter Description
Limit Maximum number of results, per page, that this operation should return.
Offset 0 based index of the page that this operation should return.
Intelligence value to filter Intelligence value based on which you want to filter incidents to be retrieved from ThreatStream. For example, google.com returns all incidents that are associated with google.com.

Output

The output contains the following populated JSON schema:
{
"meta": {
"next": "",
"total_count": "",
"limit": "",
"offset": "",
"previous": ""
},
"objects": [
{
"name": "",
"is_public": "",
"starred_by_me": "",
"publication_status": "",
"end_date": "",
"feed_id": "",
"workgroups": [],
"is_anonymous": "",
"is_cloneable": "",
"status": {
"display_name": "",
"resource_uri": "",
"id": ""
},
"id": "",
"start_date": "",
"circles": [
{
"name": "",
"resource_uri": "",
"id": ""
}
],
"resource_uri": "",
"organization_id": "",
"modified_ts": "",
"watched_by_me": "",
"tags": [],
"tags_v2": [
{
"name": "",
"id": ""
}
],
"starred_total_count": "",
"published_ts": "",
"votes": {
"total": "",
"me": ""
},
"tlp": "",
"created_ts": "",
"watched_total_count": ""
}
]
}

operation: Get Incident

Input parameters

Parameter Description
Incident ID ID of the generated incident whose details you want to retrieve from ThreatStream.

Output

The output contains the following populated JSON schema:
{
"external_references": [
{
"title": "",
"id": "",
"filename": "",
"r_type": "",
"s3_url": "",
"resource_uri": "",
"url": ""
}
],
"logo_s3_url": "",
"signatures": [],
"publication_status": "",
"end_date": "",
"modified_ts": "",
"is_cloneable": "",
"status": {
"display_name": "",
"resource_uri": "",
"id": ""
},
"activity_dates": [],
"tipreports": [],
"tlp": "",
"watched_by_me": "",
"tags": [
""
],
"created_ts": "",
"actors": [],
"victims": [],
"incidents": [],
"body_content_type": "",
"published_ts": "",
"starred_total_count": "",
"sandbox_reports": [],
"description": "",
"owner_user": {
"name": "",
"email": "",
"resource_uri": "",
"id": ""
},
"name": "",
"is_public": "",
"intended_effects": [],
"feed_id": "",
"workgroups": [],
"is_anonymous": "",
"organization": {
"name": "",
"resource_uri": "",
"id": ""
},
"id": "",
"circles": [
{
"name": "",
"resource_uri": "",
"id": ""
}
],
"resource_uri": "",
"campaigns": [],
"organization_id": "",
"parent": "",
"intelligence": [],
"tags_v2": [
{
"name": "",
"id": ""
}
],
"votes": {
"total": "",
"me": ""
},
"start_date": "",
"ttps": [],
"starred_by_me": "",
"watched_total_count": "",
"status_desc": ""
}

operation: Update Incident

Input parameters

Parameter Description
Incident ID ID of the incident that you want to update on ThreatStream.
Incident Name Name of the incident that you want to update on ThreatStream.
Status (Optional) Select the status of the incident that you want to update on ThreatStream. You can choose from the following options: New, Open, Stalled, Containment Achieved, Restoration Achieved, Incident Reported, Closed, Rejected, or Deleted.
Note: This parameter will make an API call named "get_status" to dynamically populate its dropdown selections.
Status Description (Optional) Description associated with the status of the incident that you want to update on ThreatStream.
Intelligence (Optional) Indicators associated with the Incident on the ThreatStream platform. Multiple intelligence IDs are comma separated.
Fields to Update on Incident (Optional) Specify other fields that you want to include with the incident that you want to update in ThreatStream.

Output

The output contains the following populated JSON schema:
{
"name": "",
"external_references": [],
"is_public": "",
"intended_effects": [],
"logo_s3_url": "",
"assignee_user": "",
"publication_status": "",
"end_date": "",
"feed_id": "",
"workgroups": [],
"is_anonymous": "",
"organization": {
"name": "",
"resource_uri": "",
"id": ""
},
"status": {
"display_name": "",
"resource_uri": "",
"id": ""
},
"id": "",
"owner_user": {
"name": "",
"email": "",
"resource_uri": "",
"id": ""
},
"circles": [],
"activity_dates": [],
"resource_uri": "",
"organization_id": "",
"modified_ts": "",
"parent": "",
"watched_by_me": "",
"starred_total_count": "",
"tlp": "",
"votes": {
"total": "",
"me": ""
},
"victims": [],
"starred_by_me": "",
"description": "",
"body_content_type": "",
"published_ts": "",
"start_date": "",
"is_cloneable": "",
"sandbox_reports": [],
"status_desc": "",
"created_ts": "",
"watched_total_count": ""
}

operation: Delete Incident

Input parameters

Parameter Description
Incident ID ID of the incident that you want to delete from ThreatStream.

Output

The output contains the following populated JSON schema:
{
"result": ""
}

Included playbooks

The Sample - Anomali ThreatStream - 2.1.0 playbook collection comes bundled with the Anomali ThreatStream connector. This playbook contains steps using which you can perform all supported actions. You can see the bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Anomali ThreatStream connector.

Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets deleted during connector upgrade and delete.

Previous
Next