Fortinet white logo
Fortinet white logo

Darktrace v1.2.0

About the connector

Darktrace, which is Enterprise Immune System’s flagship threat detection and defense capability, is based on unsupervised machine learning and probabilistic mathematics. Darktrace works by creating unique behavioral models for every user and device across the enterprises and analyzing the relationships between them.

This document provides information about the Darktrace connector, which facilitates automated interactions, with a Darktrace server using FortiSOAR™playbooks. Add the Darktrace connector as a step in FortiSOAR™playbooks and perform automated operations, such as adding or removing a domain, hostname, or IP address from Darktrace's internal watchlist.

Version information

Connector Version: 1.2.0

FortiSOAR™ Version Tested on: 7.2.0-914

Darktrace version tested on: 5.2.11 (a6d707)

Authored By: Fortinet

Certified: Yes

Release Notes for version 1.2.0

Following enhancements have been made to the Darktrace Connector in version 1.2.0:

  • Added following actions and playbooks
    • Search Query
    • Get Incidents
    • Get Incident Comments
    • Acknowledge Breach
    • Unacknowledge Breach
    • Get Breach Details
    • Get Models
    • Get Components
    • Get Devices
    • Get Similar Devices
    • Get External Endpoint Details
    • Get Device Information
    • Get Entity Details
    • Get Model Breaches
    • Get Model Breach Comments

Installing the connector

Use the Content Hub to install the connector. For the detailed procedure to install a connector, click here.

You can also use the following yum command as a root user to install connectors from an SSH session:
yum install cyops-connector-darktrace

Prerequisites to configuring the connector

  • You must have the URL of the Darktrace server to which you will connect and perform the automated operations and the API public and private key to access that server.
  • The FortiSOAR™ server should have outbound connectivity to port 443 on the Darktrace server.

Minimum Permissions Required

  • Not Applicable

Configuring the connector

For the procedure to configure a connector, click here.

Configuration parameters

In FortiSOAR™, on the Content Hub (or Connector Store) page, click the Manage tab, and then click the Darktrace connector card. On the connector popup, click the Configurations tab to enter the required configuration details:

Parameter Description
Server URL The URL of the Darktrace server to which you will connect and perform the automated operations.
API Public Token The public token of the Darktrace server to which you will connect and perform the automated operations.
API Private Token The private key of the Darktrace server to which you will connect and perform the automated operations.
Time difference (minutes) from Darktrace Server Time Allows you to modify the current time passed (default=0) to the Darktrace API to allow for timezone differences, e.g., passing 29 will add 29 minutes to the time, and -29 will take off 29 minutes.
Note: The time difference of 30 minutes time is allowed.
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

Function Description Annotation and Category
Add To Watch List Adds external domains, hostnames, or IP addresses to Darktrace's internal watch list. You can add multiple domains, hostnames, or IP addresses at a time, using the CSV or list format. add_to_list
Containment
Remove From Watch List Removes an external domain, hostname, or IP address from Darktrace's internal watch list. remove_from_list
Remediation
Get Watch List Retrieves a list of indicators from a watch list. get_watchlist
Investigation
Get Incidents Retrieves a list of all incidents or specific incidents provided by AI Analyst events based on the input parameters you have specified. get_incidents
Investigation
Search Query Retrieves 'Advanced Search' data that can be queried and got in JSON format from the Darktrace appliance based on the input parameters you have specified. search_query
Investigation
Get Incident Comments Retrieves current comments on an AI Analyst event based on the UUID of the event you have specified. get_comments
Investigation
Acknowledge Breach Allows breaches to be acknowledged programmatically, based on the policy breach ID (PBID) you have specified. acknowledge_breach
Investigation
Unacknowledge Breach Allows breaches to be unacknowledged programmatically, based on the policy breach ID (PBID) you have specified. unacknowledge_breach
Investigation
Get Breach Details Retrieve the details of the model breach based on the policy breach ID (PBID) you have specified. get_breach_details
Investigation
Get Model Breaches Returns a time-sorted list of model breaches from Darktrace, based on the input parameters you have specified. get_model_breaches
Investigation
Get Models Retrieves a list of all models that currently exist on the Threat Visualizer, including custom models and de-activated models based on the models' UUID or Policy ID (PID) you have specified. get_models
Investigation
Get Components Retrieves a list of all component parts of defined models, identified by their component ID (CID). The CID is referenced in the data attribute for model breaches. get_components
Investigation
Get Devices Retrieves a list of all devices identified by Darktrace or details of a specific device for the specified time window. If you specify a Device ID (DID), then the endpoint returns the information displayed in the UI pop-up while hovering over a device. get_devices
Investigation
Get Similar Devices Retrieves a list of similar devices based on the Device ID (DID) of a specific device on the network. get_similar_devices
Investigation
Get External Endpoint Details Retrieves the location, IP address, and (optionally) device connection information from Darktrace for external IPs and hostnames you have specified. get_external_endpoint_details
Investigation
Get Device Information Retrieves the data used in the "Connections Data" view for a specific device that can be accessed from the Threat Visualizer omnisearch based on the Device ID and other input parameters you have specified. get_device_information
Investigation
Get Entity Details Returns a time-sorted list of connections and events for a device or entity (such as a SaaS credential) from Darktrace based on the input parameters you have specified. get_entity_details
Investigation
Get Model Breach Comments Returns all comments across all model breaches, or for a specific model breach from Darktrace based on the input parameters you have specified. get_mb_comments
Investigation

operation: Add To Watch List

Input parameters

Parameter Description
Domain/Hostname/IP Address (In CSV / In List) Domain(s), hostname(s), or IP address(es) that you want to add to Darktrace's internal watch list. You can add multiple domains, hostnames, or IP addresses at a time, using the CSV or list format.

Output

The JSON output returns a Success message if the Domain(s), hostname(s), or IP address(es), is added to the Darktrace's internal watch list, or an Error message containing the reason for failure.

The output contains the following populated JSON schema:
{
"response": "",
"added": ""
}

operation: Remove From Watch List

Input parameters

Parameter Description
Domain/Hostname/IP Address Domain, hostname, or IP address that you want to remove from Darktrace's internal watch list.

Output

The JSON output returns a Success message if the Domain, hostname, or IP address, is removed from the Darktrace's internal watch list, or an Error message containing the reason for failure.

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

operation: Get Watch List

Input parameters

None.

Output

The JSON output returns a list of indicators from a watch list.

No output schema is available at this time.

operation: Get Incidents

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, i.e., a list of all incidents provided by AI Analyst events, is returned.

Parameter Description
Include Acknowledged Select this option to include acknowledged events in the data retrieved from Darktrace.
Start Time Specify the start time from when you want to retrieve data from Darktrace, relative to midnight January 1st, 1970 UTC.
End Time Specify the end time till when you want to retrieve data from Darktrace, relative to midnight January 1st, 1970 UTC.
Locale Select the Locale, i.e., the language for returned strings from Darktrace. Currently supported locales are de_DE (German), en_GB (English locale string UK), en_US (English US), es_ES (Spanish ES), es_419 (Spanish LATAM), fr_FR (French),ja_JP (Japanese), ko_KR (Korean), and “pt_BR” (Portuguese BR).
UUID The unique identifier of an AI Analyst event based on which you want to retrieve incidents from Darktrace. You can specify comma-separated values.
Merge Events Select this option (True by default) to aggregate multiple child events (such as cross-network incidents) into a single event while retrieving data from Darktrace.

Output

The output contains the following populated JSON schema:
{
"summariser": "",
"acknowledged": "",
"pinned": "",
"createdAt": "",
"attackPhases": [],
"title": "",
"id": "",
"children": [],
"category": "",
"currentGroup": "",
"groupCategory": "",
"groupScore": "",
"groupPreviousGroups": [],
"activityId": "",
"groupingIds": [],
"groupByActivity": "",
"userTriggered": "",
"externalTriggered": "",
"aiaScore": "",
"summary": "",
"periods": [
{
"start": "",
"end": ""
}
],
"breachDevices": [
{
"identifier": "",
"hostname": "",
"ip": "",
"mac": "",
"subnet": "",
"did": "",
"sid": ""
}
],
"relatedBreaches": [
{
"modelName": "",
"pbid": "",
"threatScore": "",
"timestamp": ""
}
],
"details": [
[
{
"header": "",
"contents": [
{
"key": "",
"type": "",
"values": [
{
"start": "",
"end": ""
}
]
}
]
}
]
]
}

operation: Search Query

Input parameters

Parameter Description
Time Selection Select the option of time selection to retrieve data from the Darktrace server. You can choose between Absolute Time and Time Interval in Seconds.
If you choose 'Absolute Time', then you must specify the following parameters:
  • Start Time: Specify the start time from when you want to retrieve data from Darktrace.
  • End Time: Specify the end time till when you want to retrieve data from Darktrace.
If you choose 'Time Interval in Seconds', then you must specify the following parameter:
  • Interval: The time interval in seconds from the current time for which you want to retrieve data from Darktrace.
Search Query (Optional) Specify the 'Advanced Search' search query using which you want to search for data on the Darktrace server.
Note: Ensure that all double quotes are escaped. For example, @type:"ssl" AND @fields.dest_port:"443"
Offset (Optional) The offset value retrieves a subset of records that starts from the offset value. The offset works with the 'Size' parameter to determine how many records to retrieve starting from the offset.
Size (Optional) The number of records that should be returned in a single search.

Output

The output contains the following populated JSON schema:
{
"took": "",
"timed_out": "",
"_shards": {
"total": "",
"successful": "",
"skipped": "",
"failed": ""
},
"hits": {
"total": "",
"max_score": "",
"hits": [
{
"_index": "",
"_type": "",
"_id": "",
"_score": "",
"_source": {
"@fields": {
"orig_pkts": "",
"epochdate": "",
"orig_ttl": "",
"resp_bytes": "",
"conn_state_full": "",
"dest_port": "",
"conn_state": "",
"orig_bytes": "",
"resp_ip_bytes": "",
"history": "",
"source_port": "",
"proto": "",
"source_ip": "",
"resp_pkts": "",
"orig_ip_bytes": "",
"dest_ip": "",
"start_ts": "",
"missed_bytes_orig": "",
"uid": "",
"missed_bytes_resp": "",
"local_resp": "",
"local_orig": "",
"duration": ""
},
"@type": "",
"@timestamp": "",
"@message": "",
"@darktrace_probe": ""
},
"sort": []
}
]
},
"darktraceChildError": "",
"kibana": {
"index": [],
"per_page": "",
"time": {
"from": "",
"to": ""
},
"default_fields": []
}
}

operation: Get Incident Comments

Input parameters

Parameter Description
Incident ID Specify the unique identifier for the AI Analyst event whose current comments you want to retrieve from Darktrace.
Note: Only one value is supported at a time, i.e., you can specify a single UUID only for a single operation.

Output

The output contains the following populated JSON schema:
{
"comments": [
{
"username": "",
"time": "",
"incident_id": "",
"message": ""
}
]
}

operation: Acknowledge Breach

Input parameters

Parameter Description
Policy Breach ID(PBID) Specify the Policy Breach ID that you want to acknowledge in Darktrace.

Output

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

operation: Unacknowledge Breach

Input parameters

Parameter Description
Policy Breach ID(PBID) Specify the Policy Breach ID that you want to unacknowledge in Darktrace.

Output

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

operation: Get Breach Details

Input parameters

Parameter Description
Policy Breach ID(PBID) Specify the Policy Breach ID based on which you want to retrieve the details of the model breach from Darktrace.

Output

The output contains the following populated JSON schema:
{
"commentCount": "",
"pbid": "",
"time": "",
"creationTime": "",
"model": {
"then": {
"name": "",
"pid": "",
"phid": "",
"uuid": "",
"logic": {
"data": [
{
"cid": "",
"weight": ""
}
],
"targetScore": "",
"type": "",
"version": ""
},
"throttle": "",
"sharedEndpoints": "",
"actions": {
"alert": "",
"antigena": {},
"breach": "",
"model": "",
"setPriority": "",
"setTag": "",
"setType": ""
},
"tags": [],
"interval": "",
"delay": "",
"sequenced": "",
"active": "",
"modified": "",
"activeTimes": {
"devices": {},
"tags": {},
"type": "",
"version": ""
},
"autoUpdatable": "",
"autoUpdate": "",
"autoSuppress": "",
"description": "",
"behaviour": "",
"created": {
"by": ""
},
"edited": {
"by": ""
},
"version": "",
"priority": "",
"category": "",
"compliance": ""
},
"now": {
"name": "",
"pid": "",
"phid": "",
"uuid": "",
"logic": {
"data": [
{
"cid": "",
"weight": ""
}
],
"targetScore": "",
"type": "",
"version": ""
},
"throttle": "",
"sharedEndpoints": "",
"actions": {
"alert": "",
"antigena": {},
"breach": "",
"model": "",
"setPriority": "",
"setTag": "",
"setType": ""
},
"tags": [],
"interval": "",
"delay": "",
"sequenced": "",
"active": "",
"modified": "",
"activeTimes": {
"devices": {},
"tags": {},
"type": "",
"version": ""
},
"autoUpdatable": "",
"autoUpdate": "",
"autoSuppress": "",
"description": "",
"behaviour": "",
"created": {
"by": ""
},
"edited": {
"by": ""
},
"message": "",
"version": "",
"priority": "",
"category": "",
"compliance": ""
}
},
"triggeredComponents": [
{
"time": "",
"cbid": "",
"cid": "",
"chid": "",
"size": "",
"threshold": "",
"interval": "",
"logic": {
"data": {},
"version": ""
},
"metric": {
"mlid": "",
"name": "",
"label": ""
},
"triggeredFilters": [
{
"cfid": "",
"id": "",
"filterType": "",
"arguments": {
"value": ""
},
"comparatorType": "",
"trigger": {
"value": ""
}
}
]
}
],
"score": "",
"device": {
"did": "",
"macaddress": "",
"vendor": "",
"ip": "",
"sid": "",
"hostname": "",
"firstSeen": "",
"lastSeen": "",
"typename": "",
"typelabel": "",
"credentials": []
}
}

operation: Get Model Breaches

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, i.e., a list of all model breaches, is returned.

Parameter Description
Device ID(DID) Specify the identification number of a device modeled in the Darktrace system whose breach details you want to retrieve from Darktace.
Start Time Specify the start time from when you want to retrieve data from Darktrace, relative to midnight January 1st, 1970 UTC.
End Time Specify the end time till when you want to retrieve data from Darktrace, relative to midnight January 1st, 1970 UTC.
Include Acknowledged Select this option to include acknowledged breaches in the data retrieved from Darktrace.
Include Breach URL Select this option to return a URL for the model breach in the long form of the model breach data.
Policy Breach ID(PBID) Specify the Policy Breach ID if you want to return only the model breach with the specified PBID.
Policy ID(PID) Specify the Policy ID if you want to return only the model breach with the specified policy ID.
UUID Specify the UUID of the model if you want to return only the model breaches for the specified model. All models have a UUID and a PID. The UUID (universally unique identifier) is a 128-bit hexadecimal number.

Output

The output contains the following populated JSON schema:
{
"pbid": "",
"time": "",
"model": {
"now": {
"pid": "",
"name": "",
"phid": "",
"tags": [],
"uuid": "",
"delay": "",
"logic": {
"data": [
{
"cid": "",
"weight": ""
}
],
"type": "",
"version": "",
"targetScore": ""
},
"active": "",
"edited": {
"by": ""
},
"actions": {
"alert": "",
"model": "",
"breach": "",
"setTag": "",
"setType": "",
"antigena": {},
"setPriority": ""
},
"created": {
"by": ""
},
"defeats": [],
"message": "",
"version": "",
"category": "",
"interval": "",
"modified": "",
"priority": "",
"throttle": "",
"behaviour": "",
"sequenced": "",
"autoUpdate": "",
"compliance": "",
"activeTimes": {
"tags": {},
"type": "",
"devices": {},
"version": ""
},
"description": "",
"autoSuppress": "",
"autoUpdatable": "",
"sharedEndpoints": ""
},
"then": {
"pid": "",
"name": "",
"phid": "",
"tags": [],
"uuid": "",
"delay": "",
"logic": {
"data": [
{
"cid": "",
"weight": ""
}
],
"type": "",
"version": "",
"targetScore": ""
},
"active": "",
"edited": {
"by": ""
},
"actions": {
"alert": "",
"model": "",
"breach": "",
"setTag": "",
"setType": "",
"antigena": {},
"setPriority": ""
},
"created": {
"by": ""
},
"version": "",
"category": "",
"interval": "",
"modified": "",
"priority": "",
"throttle": "",
"behaviour": "",
"sequenced": "",
"autoUpdate": "",
"compliance": "",
"activeTimes": {
"tags": {},
"type": "",
"devices": {},
"version": ""
},
"description": "",
"autoSuppress": "",
"autoUpdatable": "",
"sharedEndpoints": ""
}
},
"score": "",
"device": {
"ip": "",
"did": "",
"ips": [
{
"ip": "",
"sid": "",
"time": "",
"timems": ""
}
],
"sid": "",
"vendor": "",
"hostname": "",
"lastSeen": "",
"typename": "",
"firstSeen": "",
"typelabel": "",
"macaddress": ""
},
"acknowledged": "",
"commentCount": "",
"creationTime": "",
"triggeredComponents": [
{
"cid": "",
"cbid": "",
"chid": "",
"size": "",
"time": "",
"logic": {},
"metric": {
"mlid": "",
"name": "",
"label": ""
},
"interval": "",
"threshold": "",
"triggeredFilters": [
{
"id": "",
"cfid": "",
"trigger": {
"value": ""
},
"arguments": {
"value": ""
},
"filterType": "",
"comparatorType": ""
}
]
}
]
}

operation: Get Models

Input parameters

Parameter Description
Get Models by

Select the parameter using which you want to retrieve the list of all models that currently exist on the Threat Visualizer. you can choose between UUID or PID

  • If you choose 'UUID', then in the UUID field specify the UUID (universally unique identifier) of the model. UUID is a 128-bit hexadecimal number.
  • If you choose 'Policy ID', then in the Policy ID field specify the Policy ID (PID) of the model.

Output

The output contains the following populated JSON schema:
{
"name": "",
"pid": "",
"phid": "",
"uuid": "",
"logic": {
"data": [
{
"cid": "",
"weight": ""
}
],
"targetScore": "",
"type": "",
"version": ""
},
"throttle": "",
"sharedEndpoints": "",
"actions": {
"alert": "",
"antigena": {},
"breach": "",
"model": "",
"setPriority": "",
"setTag": "",
"setType": ""
},
"tags": [],
"interval": "",
"delay": "",
"sequenced": "",
"active": "",
"modified": "",
"activeTimes": {
"devices": {},
"tags": {},
"type": "",
"version": ""
},
"autoUpdatable": "",
"autoUpdate": "",
"autoSuppress": "",
"description": "",
"behaviour": "",
"created": {
"by": ""
},
"edited": {
"by": ""
},
"history": [
{
"modified": "",
"active": "",
"message": "",
"by": "",
"phid": ""
}
],
"message": "",
"version": "",
"priority": "",
"category": "",
"compliance": ""
}

operation: Get Components

Input parameters

Parameter Description
Component ID(CID) The 'component id' (a unique identifier) of the model whose details you want to retrieve from Darktrace.

Output

The output contains the following populated JSON schema:
{
"cid": "",
"chid": "",
"mlid": "",
"threshold": "",
"interval": "",
"logic": {},
"filters": [
{
"id": "",
"cfid": "",
"cfhid": "",
"filtertype": "",
"comparator": "",
"arguments": {
"value": ""
}
}
],
"active": ""
}

operation: Get Devices

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, i.e., a list of all devices identified by Darktrace, is returned.

Parameter Description
Device ID(DID) Specify the identification number of a device modeled in the Darktrace system whose details you want to retrieve from Darktrace.
IP IP of the device model in the Darktrace system whose details you want to retrieve from Darktrace.
Seen Since Specify the relative offset for activity, i.e., devices with activity in the specified time period are returned from Darktrace. The format of the 'seensince' string is either a number representing the number of seconds before the current time or a number with a modifier such as second, minute, hour day, or week (Minimum=1 second).
MAC Specify the MAC address of the device whose details you want to retrieve from Darktrace.
Subnet ID(SID) Specify the identification number of a subnet modeled in the Darktrace system that contains the device whose details you want to retrieve from Darktrace.
Count Specify the maximum number of devices to return. This only limits the number of devices within the current timeframe.
Include Tags Select this option to include tags applied to the device in the response.

Output

The output contains the following populated JSON schema:
{
"id": "",
"did": "",
"sid": "",
"time": "",
"endtime": "",
"devicelabel": "",
"typename": "",
"typelabel": ""
}

operation: Get Similar Devices

Input parameters

Parameter Description
Device ID(DID) Specify the Device ID (unique identifier) of a specific device on the network, based on which you want to retrieve similar devices from Darktrace
Count Specify the maximum number of devices to return. This only limits the number of devices within the current timeframe.
Full Device Details Select this option to return the full device detail objects for all devices referenced by data in the API response.

Output

No output schema is available at this time.

operation: Get External Endpoint Details

Input parameters

Parameter Description
Get Endpoints by

Select the parameter using which you want to get external endpoints details. You can choose between IP Address or Hostname by IP or hostname

  • If you choose 'IP Address', then in the IP Address field, enter the IP address whose data you want to retrieve from Darktrace.
  • If you choose 'Hostname', then you must specify the following parameters:
    • Hostname: Enter the hostname whose data you want to retrieve from Darktrace.
    • Additional Information: Select this option to return additional information about the endpoint. This adds an 'ips object' and a 'locations object' with details of the IP addresses Darktrace has seen associated with the hostname and the physical locations of those IPs where it is derivable.
Score Select this option to return rarity data for the endpoints in the response.
Devices Select this option to return a list of devices that have recently connected to the endpoint in the response.

Output

The output contains the following populated JSON schema:

Output schema when you choose "" as "IP Address":
{
"ip": "",
"firsttime": "",
"country": "",
"asn": "",
"city": "",
"region": "",
"name": "",
"longitude": "",
"latitude": "",
"devices": [
{
"did": "",
"macaddress": "",
"vendor": "",
"ip": "",
"ips": [
{
"ip": "",
"timems": "",
"time": "",
"sid": ""
}
],
"sid": "",
"firstSeen": "",
"lastSeen": "",
"os": "",
"typename": "",
"typelabel": ""
}
]
}

Output schema when you choose "" as "IP Address":
{
"ip": "",
"firsttime": "",
"country": "",
"asn": "",
"city": "",
"region": "",
"name": "",
"longitude": "",
"latitude": ""
}

Output schema when you choose "" as "Hostname":
{
"hostname": "",
"firsttime": "",
"devices": [
{
"did": "",
"macaddress": "",
"vendor": "",
"ip": "",
"ips": [
{
"ip": "",
"timems": "",
"time": "",
"sid": ""
}
],
"sid": "",
"firstSeen": "",
"lastSeen": "",
"os": "",
"typename": "",
"typelabel": ""
}
]
}

Output schema when you choose "" as "Hostname":
{
"hostname": "",
"firsttime": ""
}

operation: Get Device Information

Input parameters

Parameter Description
Device ID(DID) Specify the identification number of a device modeled in the Darktrace system whose details you want to retrieve from Darktrace.
Data Type Select the type of data you want to retrieve for the specified device from Darktrace. You can choose between Connections (co), Data Size Out (sizeout ), or Data Size In (sizein).
External Domain Specify the domain name based on which you want to filter external domains for devices whose details you want to retrieve from Darktrace.
Full Device Details Select this option to return the full device detail objects for all devices referenced by data in an API response. The use of this parameter alters the JSON structure of the API response for certain calls.
Show All Graph Data Select this option to return an entry for all time intervals in the graph data, including zero counts.
Similar Devices Specify the number of similar devices whose details you want to retrieve from Darktrace. This parameter returns data for the primary device and the specified number of similar devices.
Port Specify the port number if you want to restrict the returned connection data to the port you have specified.
Interval Hours Specify the size in hours used to group the returned time series data.

Output

The output contains the following populated JSON schema:

Output schema when you choose "Show All Graph Data" as "true":
{
"deviceInfo": [
{
"did": "",
"similarityScore": "",
"graphData": [
{
"time": "",
"count": ""
}
],
"info": {
"totalUsed": "",
"totalServed": "",
"totalDevicesAndPorts": "",
"devicesAndPorts": [
{
"deviceAndPort": {
"direction": "",
"device": "",
"port": ""
},
"size": ""
}
],
"portsUsed": [
{
"port": "",
"size": "",
"firstTime": ""
}
],
"portsServed": [
{
"port": "",
"size": ""
}
],
"devicesUsed": [
{
"did": "",
"size": "",
"firstTime": ""
}
],
"devicesServed": [
{
"did": "",
"size": ""
}
]
}
}
]
}

Output schema when you choose "Show All Graph Data" as "false":
{
"deviceInfo": [
{
"did": "",
"similarityScore": "",
"graphData": [],
"info": {
"totalUsed": "",
"totalServed": "",
"totalDevicesAndPorts": "",
"devicesAndPorts": [
{
"deviceAndPort": {
"direction": "",
"device": "",
"port": ""
},
"size": ""
}
],
"portsUsed": [
{
"port": "",
"size": "",
"firstTime": ""
}
],
"portsServed": [
{
"port": "",
"size": ""
}
],
"devicesUsed": [
{
"did": "",
"size": "",
"firstTime": ""
}
],
"devicesServed": [
{
"did": "",
"size": ""
}
]
}
}
]
}

This is the default output schema:
{
"deviceInfo": [
{
"did": "",
"similarityScore": "",
"graphData": [
{
"time": "",
"count": ""
}
],
"info": {
"totalUsed": "",
"totalServed": "",
"totalDevicesAndPorts": "",
"devicesAndPorts": [
{
"deviceAndPort": {
"direction": "",
"device": "",
"port": ""
},
"size": ""
}
],
"portsUsed": [
{
"port": "",
"size": "",
"firstTime": ""
}
],
"portsServed": [
{
"port": "",
"size": ""
}
],
"devicesUsed": [
{
"did": "",
"size": "",
"firstTime": ""
}
],
"devicesServed": [
{
"did": "",
"size": ""
}
]
}
}
]
}

operation: Get Entity Details

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
Device ID(DID) Specify the identification number of a device modeled in the Darktrace system whose entity details you want to retrieve from Darktace.
Application Protocol Specify the application protocol using which you want to filter data returned by this operation.
Destination Device ID(DDID) Specify the identification number of a destination device modeled in the Darktrace system using which you want to filter data returned by this operation.
Deduplicate Select this option to display only one equivalent connection per hour.
Port Specify the port number if you want to filter the returned data by source or destination port.
Start Time Specify the start time from when you want to retrieve data from Darktrace.
End Time Specify the end time till when you want to retrieve data from Darktrace.
Event Type Specifies a type of event whose details you want to retrieve from Darktrace. You can specify the following values: connection, unusualconnection, newconnection, notice, devicehistory, or modelbreach.
External Hostname Specify an external hostname whose details you want to retrieve from Darktace.
Full Device Details Select this option to return the full device detail objects for all devices referenced by data in an API response. The use of this parameter alters the JSON structure of the API response for certain calls.
Offset The offset value retrieves a subset of records that starts from the offset value.
Count Specify the maximum number of items to return.
Note: The 'Count' parameter is ignored when the 'Start' time parameter is used.

Output

The output contains the following populated JSON schema:
{
"uid": "",
"ddid": "",
"port": "",
"sdid": "",
"time": "",
"graph": "",
"action": "",
"source": "",
"timems": "",
"protocol": "",
"direction": "",
"eventType": "",
"graphtitle": "",
"sourcePort": "",
"destination": "",
"sourceDevice": {
"id": "",
"ip": "",
"did": "",
"ips": [
{
"ip": "",
"sid": "",
"time": "",
"timems": ""
}
],
"sid": "",
"time": "",
"hostname": "",
"typename": "",
"typelabel": "",
"macaddress": ""
},
"destinationPort": "",
"destinationDevice": {
"id": "",
"ip": "",
"did": "",
"ips": [
{
"ip": "",
"sid": "",
"time": "",
"timems": ""
}
],
"sid": "",
"time": "",
"typename": "",
"typelabel": ""
},
"applicationprotocol": ""
}

operation: Get Model Breach Comments

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, i.e., comments across all model breaches, is returned.

Parameter Description
Policy Breach ID(PBID) Specify the Policy Breach ID to retrieve comments for the model breach with the specified ID from Darktrace.
Start Time Specify the start time from when you want to retrieve data from Darktrace.
End Time Specify the end time till when you want to retrieve data from Darktrace.
Count Specify the maximum number of comments to return. This only limits the number of comments within the current timeframe. By default, it is set to 100.
Note: The 'Count' parameter is ignored when the 'Start' time parameter is used.

Output

The output contains the following populated JSON schema:
{
"time": "",
"pbid": "",
"username": "",
"message": "",
"pid": "",
"name": ""
}

Included playbooks

The Sample - Darktrace - 1.2.0 playbook collection comes bundled with the Darktrace connector. These playbooks contain steps using which you can perform all supported actions. You can see bundled playbooks in the Automation > Playbooks section in FortiSOARTM after importing the Darktrace connector.

  • Acknowledge Breach
  • Add To Watch List
  • Get Incident Comments
  • Get Breach Details
  • Get Components
  • Get Device Information
  • Get Devices
  • Get Entity Details
  • Get External Endpoint Details
  • Get Incidents
  • Get Model Breach Comments
  • Get Model Breaches
  • Get Models
  • Get Similar Devices
  • Get Watch List
  • Remove From Watch List
  • Search Query
  • Unacknowledge Breach

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

Darktrace v1.2.0

About the connector

Darktrace, which is Enterprise Immune System’s flagship threat detection and defense capability, is based on unsupervised machine learning and probabilistic mathematics. Darktrace works by creating unique behavioral models for every user and device across the enterprises and analyzing the relationships between them.

This document provides information about the Darktrace connector, which facilitates automated interactions, with a Darktrace server using FortiSOAR™playbooks. Add the Darktrace connector as a step in FortiSOAR™playbooks and perform automated operations, such as adding or removing a domain, hostname, or IP address from Darktrace's internal watchlist.

Version information

Connector Version: 1.2.0

FortiSOAR™ Version Tested on: 7.2.0-914

Darktrace version tested on: 5.2.11 (a6d707)

Authored By: Fortinet

Certified: Yes

Release Notes for version 1.2.0

Following enhancements have been made to the Darktrace Connector in version 1.2.0:

Installing the connector

Use the Content Hub to install the connector. For the detailed procedure to install a connector, click here.

You can also use the following yum command as a root user to install connectors from an SSH session:
yum install cyops-connector-darktrace

Prerequisites to configuring the connector

Minimum Permissions Required

Configuring the connector

For the procedure to configure a connector, click here.

Configuration parameters

In FortiSOAR™, on the Content Hub (or Connector Store) page, click the Manage tab, and then click the Darktrace connector card. On the connector popup, click the Configurations tab to enter the required configuration details:

Parameter Description
Server URL The URL of the Darktrace server to which you will connect and perform the automated operations.
API Public Token The public token of the Darktrace server to which you will connect and perform the automated operations.
API Private Token The private key of the Darktrace server to which you will connect and perform the automated operations.
Time difference (minutes) from Darktrace Server Time Allows you to modify the current time passed (default=0) to the Darktrace API to allow for timezone differences, e.g., passing 29 will add 29 minutes to the time, and -29 will take off 29 minutes.
Note: The time difference of 30 minutes time is allowed.
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

Function Description Annotation and Category
Add To Watch List Adds external domains, hostnames, or IP addresses to Darktrace's internal watch list. You can add multiple domains, hostnames, or IP addresses at a time, using the CSV or list format. add_to_list
Containment
Remove From Watch List Removes an external domain, hostname, or IP address from Darktrace's internal watch list. remove_from_list
Remediation
Get Watch List Retrieves a list of indicators from a watch list. get_watchlist
Investigation
Get Incidents Retrieves a list of all incidents or specific incidents provided by AI Analyst events based on the input parameters you have specified. get_incidents
Investigation
Search Query Retrieves 'Advanced Search' data that can be queried and got in JSON format from the Darktrace appliance based on the input parameters you have specified. search_query
Investigation
Get Incident Comments Retrieves current comments on an AI Analyst event based on the UUID of the event you have specified. get_comments
Investigation
Acknowledge Breach Allows breaches to be acknowledged programmatically, based on the policy breach ID (PBID) you have specified. acknowledge_breach
Investigation
Unacknowledge Breach Allows breaches to be unacknowledged programmatically, based on the policy breach ID (PBID) you have specified. unacknowledge_breach
Investigation
Get Breach Details Retrieve the details of the model breach based on the policy breach ID (PBID) you have specified. get_breach_details
Investigation
Get Model Breaches Returns a time-sorted list of model breaches from Darktrace, based on the input parameters you have specified. get_model_breaches
Investigation
Get Models Retrieves a list of all models that currently exist on the Threat Visualizer, including custom models and de-activated models based on the models' UUID or Policy ID (PID) you have specified. get_models
Investigation
Get Components Retrieves a list of all component parts of defined models, identified by their component ID (CID). The CID is referenced in the data attribute for model breaches. get_components
Investigation
Get Devices Retrieves a list of all devices identified by Darktrace or details of a specific device for the specified time window. If you specify a Device ID (DID), then the endpoint returns the information displayed in the UI pop-up while hovering over a device. get_devices
Investigation
Get Similar Devices Retrieves a list of similar devices based on the Device ID (DID) of a specific device on the network. get_similar_devices
Investigation
Get External Endpoint Details Retrieves the location, IP address, and (optionally) device connection information from Darktrace for external IPs and hostnames you have specified. get_external_endpoint_details
Investigation
Get Device Information Retrieves the data used in the "Connections Data" view for a specific device that can be accessed from the Threat Visualizer omnisearch based on the Device ID and other input parameters you have specified. get_device_information
Investigation
Get Entity Details Returns a time-sorted list of connections and events for a device or entity (such as a SaaS credential) from Darktrace based on the input parameters you have specified. get_entity_details
Investigation
Get Model Breach Comments Returns all comments across all model breaches, or for a specific model breach from Darktrace based on the input parameters you have specified. get_mb_comments
Investigation

operation: Add To Watch List

Input parameters

Parameter Description
Domain/Hostname/IP Address (In CSV / In List) Domain(s), hostname(s), or IP address(es) that you want to add to Darktrace's internal watch list. You can add multiple domains, hostnames, or IP addresses at a time, using the CSV or list format.

Output

The JSON output returns a Success message if the Domain(s), hostname(s), or IP address(es), is added to the Darktrace's internal watch list, or an Error message containing the reason for failure.

The output contains the following populated JSON schema:
{
"response": "",
"added": ""
}

operation: Remove From Watch List

Input parameters

Parameter Description
Domain/Hostname/IP Address Domain, hostname, or IP address that you want to remove from Darktrace's internal watch list.

Output

The JSON output returns a Success message if the Domain, hostname, or IP address, is removed from the Darktrace's internal watch list, or an Error message containing the reason for failure.

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

operation: Get Watch List

Input parameters

None.

Output

The JSON output returns a list of indicators from a watch list.

No output schema is available at this time.

operation: Get Incidents

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, i.e., a list of all incidents provided by AI Analyst events, is returned.

Parameter Description
Include Acknowledged Select this option to include acknowledged events in the data retrieved from Darktrace.
Start Time Specify the start time from when you want to retrieve data from Darktrace, relative to midnight January 1st, 1970 UTC.
End Time Specify the end time till when you want to retrieve data from Darktrace, relative to midnight January 1st, 1970 UTC.
Locale Select the Locale, i.e., the language for returned strings from Darktrace. Currently supported locales are de_DE (German), en_GB (English locale string UK), en_US (English US), es_ES (Spanish ES), es_419 (Spanish LATAM), fr_FR (French),ja_JP (Japanese), ko_KR (Korean), and “pt_BR” (Portuguese BR).
UUID The unique identifier of an AI Analyst event based on which you want to retrieve incidents from Darktrace. You can specify comma-separated values.
Merge Events Select this option (True by default) to aggregate multiple child events (such as cross-network incidents) into a single event while retrieving data from Darktrace.

Output

The output contains the following populated JSON schema:
{
"summariser": "",
"acknowledged": "",
"pinned": "",
"createdAt": "",
"attackPhases": [],
"title": "",
"id": "",
"children": [],
"category": "",
"currentGroup": "",
"groupCategory": "",
"groupScore": "",
"groupPreviousGroups": [],
"activityId": "",
"groupingIds": [],
"groupByActivity": "",
"userTriggered": "",
"externalTriggered": "",
"aiaScore": "",
"summary": "",
"periods": [
{
"start": "",
"end": ""
}
],
"breachDevices": [
{
"identifier": "",
"hostname": "",
"ip": "",
"mac": "",
"subnet": "",
"did": "",
"sid": ""
}
],
"relatedBreaches": [
{
"modelName": "",
"pbid": "",
"threatScore": "",
"timestamp": ""
}
],
"details": [
[
{
"header": "",
"contents": [
{
"key": "",
"type": "",
"values": [
{
"start": "",
"end": ""
}
]
}
]
}
]
]
}

operation: Search Query

Input parameters

Parameter Description
Time Selection Select the option of time selection to retrieve data from the Darktrace server. You can choose between Absolute Time and Time Interval in Seconds.
If you choose 'Absolute Time', then you must specify the following parameters:
  • Start Time: Specify the start time from when you want to retrieve data from Darktrace.
  • End Time: Specify the end time till when you want to retrieve data from Darktrace.
If you choose 'Time Interval in Seconds', then you must specify the following parameter:
  • Interval: The time interval in seconds from the current time for which you want to retrieve data from Darktrace.
Search Query (Optional) Specify the 'Advanced Search' search query using which you want to search for data on the Darktrace server.
Note: Ensure that all double quotes are escaped. For example, @type:"ssl" AND @fields.dest_port:"443"
Offset (Optional) The offset value retrieves a subset of records that starts from the offset value. The offset works with the 'Size' parameter to determine how many records to retrieve starting from the offset.
Size (Optional) The number of records that should be returned in a single search.

Output

The output contains the following populated JSON schema:
{
"took": "",
"timed_out": "",
"_shards": {
"total": "",
"successful": "",
"skipped": "",
"failed": ""
},
"hits": {
"total": "",
"max_score": "",
"hits": [
{
"_index": "",
"_type": "",
"_id": "",
"_score": "",
"_source": {
"@fields": {
"orig_pkts": "",
"epochdate": "",
"orig_ttl": "",
"resp_bytes": "",
"conn_state_full": "",
"dest_port": "",
"conn_state": "",
"orig_bytes": "",
"resp_ip_bytes": "",
"history": "",
"source_port": "",
"proto": "",
"source_ip": "",
"resp_pkts": "",
"orig_ip_bytes": "",
"dest_ip": "",
"start_ts": "",
"missed_bytes_orig": "",
"uid": "",
"missed_bytes_resp": "",
"local_resp": "",
"local_orig": "",
"duration": ""
},
"@type": "",
"@timestamp": "",
"@message": "",
"@darktrace_probe": ""
},
"sort": []
}
]
},
"darktraceChildError": "",
"kibana": {
"index": [],
"per_page": "",
"time": {
"from": "",
"to": ""
},
"default_fields": []
}
}

operation: Get Incident Comments

Input parameters

Parameter Description
Incident ID Specify the unique identifier for the AI Analyst event whose current comments you want to retrieve from Darktrace.
Note: Only one value is supported at a time, i.e., you can specify a single UUID only for a single operation.

Output

The output contains the following populated JSON schema:
{
"comments": [
{
"username": "",
"time": "",
"incident_id": "",
"message": ""
}
]
}

operation: Acknowledge Breach

Input parameters

Parameter Description
Policy Breach ID(PBID) Specify the Policy Breach ID that you want to acknowledge in Darktrace.

Output

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

operation: Unacknowledge Breach

Input parameters

Parameter Description
Policy Breach ID(PBID) Specify the Policy Breach ID that you want to unacknowledge in Darktrace.

Output

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

operation: Get Breach Details

Input parameters

Parameter Description
Policy Breach ID(PBID) Specify the Policy Breach ID based on which you want to retrieve the details of the model breach from Darktrace.

Output

The output contains the following populated JSON schema:
{
"commentCount": "",
"pbid": "",
"time": "",
"creationTime": "",
"model": {
"then": {
"name": "",
"pid": "",
"phid": "",
"uuid": "",
"logic": {
"data": [
{
"cid": "",
"weight": ""
}
],
"targetScore": "",
"type": "",
"version": ""
},
"throttle": "",
"sharedEndpoints": "",
"actions": {
"alert": "",
"antigena": {},
"breach": "",
"model": "",
"setPriority": "",
"setTag": "",
"setType": ""
},
"tags": [],
"interval": "",
"delay": "",
"sequenced": "",
"active": "",
"modified": "",
"activeTimes": {
"devices": {},
"tags": {},
"type": "",
"version": ""
},
"autoUpdatable": "",
"autoUpdate": "",
"autoSuppress": "",
"description": "",
"behaviour": "",
"created": {
"by": ""
},
"edited": {
"by": ""
},
"version": "",
"priority": "",
"category": "",
"compliance": ""
},
"now": {
"name": "",
"pid": "",
"phid": "",
"uuid": "",
"logic": {
"data": [
{
"cid": "",
"weight": ""
}
],
"targetScore": "",
"type": "",
"version": ""
},
"throttle": "",
"sharedEndpoints": "",
"actions": {
"alert": "",
"antigena": {},
"breach": "",
"model": "",
"setPriority": "",
"setTag": "",
"setType": ""
},
"tags": [],
"interval": "",
"delay": "",
"sequenced": "",
"active": "",
"modified": "",
"activeTimes": {
"devices": {},
"tags": {},
"type": "",
"version": ""
},
"autoUpdatable": "",
"autoUpdate": "",
"autoSuppress": "",
"description": "",
"behaviour": "",
"created": {
"by": ""
},
"edited": {
"by": ""
},
"message": "",
"version": "",
"priority": "",
"category": "",
"compliance": ""
}
},
"triggeredComponents": [
{
"time": "",
"cbid": "",
"cid": "",
"chid": "",
"size": "",
"threshold": "",
"interval": "",
"logic": {
"data": {},
"version": ""
},
"metric": {
"mlid": "",
"name": "",
"label": ""
},
"triggeredFilters": [
{
"cfid": "",
"id": "",
"filterType": "",
"arguments": {
"value": ""
},
"comparatorType": "",
"trigger": {
"value": ""
}
}
]
}
],
"score": "",
"device": {
"did": "",
"macaddress": "",
"vendor": "",
"ip": "",
"sid": "",
"hostname": "",
"firstSeen": "",
"lastSeen": "",
"typename": "",
"typelabel": "",
"credentials": []
}
}

operation: Get Model Breaches

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, i.e., a list of all model breaches, is returned.

Parameter Description
Device ID(DID) Specify the identification number of a device modeled in the Darktrace system whose breach details you want to retrieve from Darktace.
Start Time Specify the start time from when you want to retrieve data from Darktrace, relative to midnight January 1st, 1970 UTC.
End Time Specify the end time till when you want to retrieve data from Darktrace, relative to midnight January 1st, 1970 UTC.
Include Acknowledged Select this option to include acknowledged breaches in the data retrieved from Darktrace.
Include Breach URL Select this option to return a URL for the model breach in the long form of the model breach data.
Policy Breach ID(PBID) Specify the Policy Breach ID if you want to return only the model breach with the specified PBID.
Policy ID(PID) Specify the Policy ID if you want to return only the model breach with the specified policy ID.
UUID Specify the UUID of the model if you want to return only the model breaches for the specified model. All models have a UUID and a PID. The UUID (universally unique identifier) is a 128-bit hexadecimal number.

Output

The output contains the following populated JSON schema:
{
"pbid": "",
"time": "",
"model": {
"now": {
"pid": "",
"name": "",
"phid": "",
"tags": [],
"uuid": "",
"delay": "",
"logic": {
"data": [
{
"cid": "",
"weight": ""
}
],
"type": "",
"version": "",
"targetScore": ""
},
"active": "",
"edited": {
"by": ""
},
"actions": {
"alert": "",
"model": "",
"breach": "",
"setTag": "",
"setType": "",
"antigena": {},
"setPriority": ""
},
"created": {
"by": ""
},
"defeats": [],
"message": "",
"version": "",
"category": "",
"interval": "",
"modified": "",
"priority": "",
"throttle": "",
"behaviour": "",
"sequenced": "",
"autoUpdate": "",
"compliance": "",
"activeTimes": {
"tags": {},
"type": "",
"devices": {},
"version": ""
},
"description": "",
"autoSuppress": "",
"autoUpdatable": "",
"sharedEndpoints": ""
},
"then": {
"pid": "",
"name": "",
"phid": "",
"tags": [],
"uuid": "",
"delay": "",
"logic": {
"data": [
{
"cid": "",
"weight": ""
}
],
"type": "",
"version": "",
"targetScore": ""
},
"active": "",
"edited": {
"by": ""
},
"actions": {
"alert": "",
"model": "",
"breach": "",
"setTag": "",
"setType": "",
"antigena": {},
"setPriority": ""
},
"created": {
"by": ""
},
"version": "",
"category": "",
"interval": "",
"modified": "",
"priority": "",
"throttle": "",
"behaviour": "",
"sequenced": "",
"autoUpdate": "",
"compliance": "",
"activeTimes": {
"tags": {},
"type": "",
"devices": {},
"version": ""
},
"description": "",
"autoSuppress": "",
"autoUpdatable": "",
"sharedEndpoints": ""
}
},
"score": "",
"device": {
"ip": "",
"did": "",
"ips": [
{
"ip": "",
"sid": "",
"time": "",
"timems": ""
}
],
"sid": "",
"vendor": "",
"hostname": "",
"lastSeen": "",
"typename": "",
"firstSeen": "",
"typelabel": "",
"macaddress": ""
},
"acknowledged": "",
"commentCount": "",
"creationTime": "",
"triggeredComponents": [
{
"cid": "",
"cbid": "",
"chid": "",
"size": "",
"time": "",
"logic": {},
"metric": {
"mlid": "",
"name": "",
"label": ""
},
"interval": "",
"threshold": "",
"triggeredFilters": [
{
"id": "",
"cfid": "",
"trigger": {
"value": ""
},
"arguments": {
"value": ""
},
"filterType": "",
"comparatorType": ""
}
]
}
]
}

operation: Get Models

Input parameters

Parameter Description
Get Models by

Select the parameter using which you want to retrieve the list of all models that currently exist on the Threat Visualizer. you can choose between UUID or PID

  • If you choose 'UUID', then in the UUID field specify the UUID (universally unique identifier) of the model. UUID is a 128-bit hexadecimal number.
  • If you choose 'Policy ID', then in the Policy ID field specify the Policy ID (PID) of the model.

Output

The output contains the following populated JSON schema:
{
"name": "",
"pid": "",
"phid": "",
"uuid": "",
"logic": {
"data": [
{
"cid": "",
"weight": ""
}
],
"targetScore": "",
"type": "",
"version": ""
},
"throttle": "",
"sharedEndpoints": "",
"actions": {
"alert": "",
"antigena": {},
"breach": "",
"model": "",
"setPriority": "",
"setTag": "",
"setType": ""
},
"tags": [],
"interval": "",
"delay": "",
"sequenced": "",
"active": "",
"modified": "",
"activeTimes": {
"devices": {},
"tags": {},
"type": "",
"version": ""
},
"autoUpdatable": "",
"autoUpdate": "",
"autoSuppress": "",
"description": "",
"behaviour": "",
"created": {
"by": ""
},
"edited": {
"by": ""
},
"history": [
{
"modified": "",
"active": "",
"message": "",
"by": "",
"phid": ""
}
],
"message": "",
"version": "",
"priority": "",
"category": "",
"compliance": ""
}

operation: Get Components

Input parameters

Parameter Description
Component ID(CID) The 'component id' (a unique identifier) of the model whose details you want to retrieve from Darktrace.

Output

The output contains the following populated JSON schema:
{
"cid": "",
"chid": "",
"mlid": "",
"threshold": "",
"interval": "",
"logic": {},
"filters": [
{
"id": "",
"cfid": "",
"cfhid": "",
"filtertype": "",
"comparator": "",
"arguments": {
"value": ""
}
}
],
"active": ""
}

operation: Get Devices

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, i.e., a list of all devices identified by Darktrace, is returned.

Parameter Description
Device ID(DID) Specify the identification number of a device modeled in the Darktrace system whose details you want to retrieve from Darktrace.
IP IP of the device model in the Darktrace system whose details you want to retrieve from Darktrace.
Seen Since Specify the relative offset for activity, i.e., devices with activity in the specified time period are returned from Darktrace. The format of the 'seensince' string is either a number representing the number of seconds before the current time or a number with a modifier such as second, minute, hour day, or week (Minimum=1 second).
MAC Specify the MAC address of the device whose details you want to retrieve from Darktrace.
Subnet ID(SID) Specify the identification number of a subnet modeled in the Darktrace system that contains the device whose details you want to retrieve from Darktrace.
Count Specify the maximum number of devices to return. This only limits the number of devices within the current timeframe.
Include Tags Select this option to include tags applied to the device in the response.

Output

The output contains the following populated JSON schema:
{
"id": "",
"did": "",
"sid": "",
"time": "",
"endtime": "",
"devicelabel": "",
"typename": "",
"typelabel": ""
}

operation: Get Similar Devices

Input parameters

Parameter Description
Device ID(DID) Specify the Device ID (unique identifier) of a specific device on the network, based on which you want to retrieve similar devices from Darktrace
Count Specify the maximum number of devices to return. This only limits the number of devices within the current timeframe.
Full Device Details Select this option to return the full device detail objects for all devices referenced by data in the API response.

Output

No output schema is available at this time.

operation: Get External Endpoint Details

Input parameters

Parameter Description
Get Endpoints by

Select the parameter using which you want to get external endpoints details. You can choose between IP Address or Hostname by IP or hostname

  • If you choose 'IP Address', then in the IP Address field, enter the IP address whose data you want to retrieve from Darktrace.
  • If you choose 'Hostname', then you must specify the following parameters:
    • Hostname: Enter the hostname whose data you want to retrieve from Darktrace.
    • Additional Information: Select this option to return additional information about the endpoint. This adds an 'ips object' and a 'locations object' with details of the IP addresses Darktrace has seen associated with the hostname and the physical locations of those IPs where it is derivable.
Score Select this option to return rarity data for the endpoints in the response.
Devices Select this option to return a list of devices that have recently connected to the endpoint in the response.

Output

The output contains the following populated JSON schema:

Output schema when you choose "" as "IP Address":
{
"ip": "",
"firsttime": "",
"country": "",
"asn": "",
"city": "",
"region": "",
"name": "",
"longitude": "",
"latitude": "",
"devices": [
{
"did": "",
"macaddress": "",
"vendor": "",
"ip": "",
"ips": [
{
"ip": "",
"timems": "",
"time": "",
"sid": ""
}
],
"sid": "",
"firstSeen": "",
"lastSeen": "",
"os": "",
"typename": "",
"typelabel": ""
}
]
}

Output schema when you choose "" as "IP Address":
{
"ip": "",
"firsttime": "",
"country": "",
"asn": "",
"city": "",
"region": "",
"name": "",
"longitude": "",
"latitude": ""
}

Output schema when you choose "" as "Hostname":
{
"hostname": "",
"firsttime": "",
"devices": [
{
"did": "",
"macaddress": "",
"vendor": "",
"ip": "",
"ips": [
{
"ip": "",
"timems": "",
"time": "",
"sid": ""
}
],
"sid": "",
"firstSeen": "",
"lastSeen": "",
"os": "",
"typename": "",
"typelabel": ""
}
]
}

Output schema when you choose "" as "Hostname":
{
"hostname": "",
"firsttime": ""
}

operation: Get Device Information

Input parameters

Parameter Description
Device ID(DID) Specify the identification number of a device modeled in the Darktrace system whose details you want to retrieve from Darktrace.
Data Type Select the type of data you want to retrieve for the specified device from Darktrace. You can choose between Connections (co), Data Size Out (sizeout ), or Data Size In (sizein).
External Domain Specify the domain name based on which you want to filter external domains for devices whose details you want to retrieve from Darktrace.
Full Device Details Select this option to return the full device detail objects for all devices referenced by data in an API response. The use of this parameter alters the JSON structure of the API response for certain calls.
Show All Graph Data Select this option to return an entry for all time intervals in the graph data, including zero counts.
Similar Devices Specify the number of similar devices whose details you want to retrieve from Darktrace. This parameter returns data for the primary device and the specified number of similar devices.
Port Specify the port number if you want to restrict the returned connection data to the port you have specified.
Interval Hours Specify the size in hours used to group the returned time series data.

Output

The output contains the following populated JSON schema:

Output schema when you choose "Show All Graph Data" as "true":
{
"deviceInfo": [
{
"did": "",
"similarityScore": "",
"graphData": [
{
"time": "",
"count": ""
}
],
"info": {
"totalUsed": "",
"totalServed": "",
"totalDevicesAndPorts": "",
"devicesAndPorts": [
{
"deviceAndPort": {
"direction": "",
"device": "",
"port": ""
},
"size": ""
}
],
"portsUsed": [
{
"port": "",
"size": "",
"firstTime": ""
}
],
"portsServed": [
{
"port": "",
"size": ""
}
],
"devicesUsed": [
{
"did": "",
"size": "",
"firstTime": ""
}
],
"devicesServed": [
{
"did": "",
"size": ""
}
]
}
}
]
}

Output schema when you choose "Show All Graph Data" as "false":
{
"deviceInfo": [
{
"did": "",
"similarityScore": "",
"graphData": [],
"info": {
"totalUsed": "",
"totalServed": "",
"totalDevicesAndPorts": "",
"devicesAndPorts": [
{
"deviceAndPort": {
"direction": "",
"device": "",
"port": ""
},
"size": ""
}
],
"portsUsed": [
{
"port": "",
"size": "",
"firstTime": ""
}
],
"portsServed": [
{
"port": "",
"size": ""
}
],
"devicesUsed": [
{
"did": "",
"size": "",
"firstTime": ""
}
],
"devicesServed": [
{
"did": "",
"size": ""
}
]
}
}
]
}

This is the default output schema:
{
"deviceInfo": [
{
"did": "",
"similarityScore": "",
"graphData": [
{
"time": "",
"count": ""
}
],
"info": {
"totalUsed": "",
"totalServed": "",
"totalDevicesAndPorts": "",
"devicesAndPorts": [
{
"deviceAndPort": {
"direction": "",
"device": "",
"port": ""
},
"size": ""
}
],
"portsUsed": [
{
"port": "",
"size": "",
"firstTime": ""
}
],
"portsServed": [
{
"port": "",
"size": ""
}
],
"devicesUsed": [
{
"did": "",
"size": "",
"firstTime": ""
}
],
"devicesServed": [
{
"did": "",
"size": ""
}
]
}
}
]
}

operation: Get Entity Details

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
Device ID(DID) Specify the identification number of a device modeled in the Darktrace system whose entity details you want to retrieve from Darktace.
Application Protocol Specify the application protocol using which you want to filter data returned by this operation.
Destination Device ID(DDID) Specify the identification number of a destination device modeled in the Darktrace system using which you want to filter data returned by this operation.
Deduplicate Select this option to display only one equivalent connection per hour.
Port Specify the port number if you want to filter the returned data by source or destination port.
Start Time Specify the start time from when you want to retrieve data from Darktrace.
End Time Specify the end time till when you want to retrieve data from Darktrace.
Event Type Specifies a type of event whose details you want to retrieve from Darktrace. You can specify the following values: connection, unusualconnection, newconnection, notice, devicehistory, or modelbreach.
External Hostname Specify an external hostname whose details you want to retrieve from Darktace.
Full Device Details Select this option to return the full device detail objects for all devices referenced by data in an API response. The use of this parameter alters the JSON structure of the API response for certain calls.
Offset The offset value retrieves a subset of records that starts from the offset value.
Count Specify the maximum number of items to return.
Note: The 'Count' parameter is ignored when the 'Start' time parameter is used.

Output

The output contains the following populated JSON schema:
{
"uid": "",
"ddid": "",
"port": "",
"sdid": "",
"time": "",
"graph": "",
"action": "",
"source": "",
"timems": "",
"protocol": "",
"direction": "",
"eventType": "",
"graphtitle": "",
"sourcePort": "",
"destination": "",
"sourceDevice": {
"id": "",
"ip": "",
"did": "",
"ips": [
{
"ip": "",
"sid": "",
"time": "",
"timems": ""
}
],
"sid": "",
"time": "",
"hostname": "",
"typename": "",
"typelabel": "",
"macaddress": ""
},
"destinationPort": "",
"destinationDevice": {
"id": "",
"ip": "",
"did": "",
"ips": [
{
"ip": "",
"sid": "",
"time": "",
"timems": ""
}
],
"sid": "",
"time": "",
"typename": "",
"typelabel": ""
},
"applicationprotocol": ""
}

operation: Get Model Breach Comments

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, i.e., comments across all model breaches, is returned.

Parameter Description
Policy Breach ID(PBID) Specify the Policy Breach ID to retrieve comments for the model breach with the specified ID from Darktrace.
Start Time Specify the start time from when you want to retrieve data from Darktrace.
End Time Specify the end time till when you want to retrieve data from Darktrace.
Count Specify the maximum number of comments to return. This only limits the number of comments within the current timeframe. By default, it is set to 100.
Note: The 'Count' parameter is ignored when the 'Start' time parameter is used.

Output

The output contains the following populated JSON schema:
{
"time": "",
"pbid": "",
"username": "",
"message": "",
"pid": "",
"name": ""
}

Included playbooks

The Sample - Darktrace - 1.2.0 playbook collection comes bundled with the Darktrace connector. These playbooks contain steps using which you can perform all supported actions. You can see bundled playbooks in the Automation > Playbooks section in FortiSOARTM after importing the Darktrace 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