ThreatX
The ThreatX integration allows automated enforcement and intel gathering actions.
Network Security · ThreatX
Details
| ID | ThreatX |
|---|---|
| Provider | A10 Networks |
| Category | Network Security |
| From Version | 5.0.0 |
| Docker Image | demisto/python3:3.12.13.10116658 |
| Supported Modules | Agentix XSIAM EDR Cortex Cloud Cloud Runtime Security |
README
Use the ThreatX integration to enrich intel and automate enforcement actions on the ThreatX Next Gen WAF.
Use Cases
- Add and remove CIDR ranges and IP addresses to various block lists or the allow list
- Gather Entity metadata for intel enrichment and DBot scoring
- Set Entity notes for SOC integration or further automation
Configure ThreatX on Cortex XSOAR
- Navigate to Settings > Integrations > Servers & Services.
- Search for ThreatX.
- Click Add instance to create and configure a new integration instance.
- Name: a textual name for the integration instance.
- Customer Name: Contact the ThreatX SOC for your Customer Name
- ThreatX Server URL (e.g., https://provision.threatx.io/ )
- API Key: Contact the ThreatX SOC for your API Key
- DBot Score Threshold: Set the threshold ThreatX Risk score (1 to 100) which will be translated to Malicious DBot scores. Default is 70.
- Use system proxy settings
- Trust any certificate (not secure)
- Click Test to validate the URLs, token, and connection.
Commands
You can execute these commands from the Cortex XSOAR CLI, as part of an automation, or in a playbook. After you successfully execute a command, a DBot message appears in the War Room with the command details.
- Temporarily block an IP address or CIDR: threatx-block-ip
- Unblock an IP address or CIDR: threatx-unblock-ip
- Block list an IP address or CIDR: threatx-blacklist-ip
- Remove an IP address or CIDR from the block list: threatx-unblacklist-ip
- Add an IP address or CIDR to allow list: threatx-whitelist-ip
- Remove an IP address or CIDR from the allow list: threatx-unwhitelist-ip
- Get entity information: threatx-get-entities
- Get entity notes: threatx-get-entity-notes
- Add a note to an entity: threatx-add-entity-note
1. Temporarily block an IP address or CIDR
Temporarily blocks an IP address or CIDR.
Base Command
threatx-block-ip
Input
| Argument Name | Description | Required |
|---|---|---|
| ip | IP address or CIDR, for example: "10.1.1.1" or "10.1.1.0/24". | Required |
| description | The description of the IP record in the block list. The default value is: "Added by ThreatX Cortex XSOAR Integration". | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| IP.Address | string | IP address or CIDR that was blocked. |
Command Example
!threatx-block-ip ip=12.12.12.12
Context Example
{
"IP": [
{
"Address": "12.12.12.12"
}
]
}
Human Readable Output
| Result |
|---|
| Blocklist entry for ip 12.12.12.12 added |
2. Unblock an IP address or CIDR
Unblocks a blocked IP address or CIDR.
Base Command
threatx-unblock-ip
Input
| Argument Name | Description | Required |
|---|---|---|
| ip | IP address or CIDR, for example: "10.1.1.1" or "10.1.1.0/24". | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| IP.Address | string | IP address or CIDR that was unblocked. |
Command Example
!threatx-unblock-ip ip=12.12.12.12
Context Example
{
"IP": [
{
"Address": "12.12.12.12"
}
]
}
Human Readable Output
| Result |
|---|
| Block list entry for ip 12.12.12.12 removed |
3. Block list an IP address or CIDR
Adds an IP address or CIDR to the block list.
Base Command
threatx-blacklist-ip
Input
| Argument Name | Description | Required |
|---|---|---|
| ip | IP address or CIDR in CSV format, for example: "10.1.1.1,10.1.1.0/24". | Required |
| description | The description of the IP record in the block list. The default value is: "Added by ThreatX Cortex XSOAR Integration". | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| IP.Address | string | IP address or CIDR that was added to the blacklist. |
Command Example
!threatx-blacklist-ip ip=12.12.12.12
Context Example
{
"IP": [
{
"Address": "12.12.12.12"
}
]
}
Human Readable Output
| Result |
|---|
| Block list entry for ip 12.12.12.12 added |
4. Remove an IP address or CIDR from the block list
Removes an IP address or CIDR from the block list.
Base Command
threatx-unblacklist-ip
Input
| Argument Name | Description | Required |
|---|---|---|
| ip | IP address or CIDR, for example: "10.1.1.1" or "10.1.1.0/24". | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| IP.Address | string | IP address or CIDR that was removed from the block list. |
Command Example
!threatx-unblacklist-ip ip=12.12.12.12
Context Example
{
"IP": [
{
"Address": "12.12.12.12"
}
]
}
Human Readable Output
| Result |
|---|
| Block list entry for ip 12.12.12.12 removed |
5. Add an IP address or CIDR to allow list
Adds an IP address or CIDR to the allow list.
Base Command
threatx-whitelist-ip
Input
| Argument Name | Description | Required |
|---|---|---|
| ip | IP address or CIDR, for example: "10.1.1.1" or "10.1.1.0/24". | Required |
| description | The description of the IP record in the allow list. The default value is: "Added by ThreatX Cortex XSOAR Integration". | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| IP.Address | string | IP address or CIDR was added to the allow list. |
Command Example
!threatx-whitelist-ip ip=12.12.12.12
Context Example
{
"IP": [
{
"Address": "12.12.12.12"
}
]
}
Human Readable Output
| Result |
|---|
| Whitelist entry for ip 12.12.12.12 added |
6. Remove an IP address or CIDR from the allow list
Removes an IP address or CIDR from the allow list.
Base Command
threatx-unwhitelist-ip
Input
| Argument Name | Description | Required |
|---|---|---|
| ip | IP address or CIDR, for example: "10.1.1.1" or "10.1.1.0/24". | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| IP.Address | string | IP address or CIDR that was removed from the allow list. |
Command Example
!threatx-unwhitelist-ip ip=12.12.12.12
Context Example
{
"IP": [
{
"Address": "12.12.12.12"
}
]
}
Human Readable Output
| Result |
|---|
| Allow list entry for ip 12.12.12.12 removed |
7. Get entity information
Returns high-level entity information by Entity ID, Entity Name, or Entity IP.
Base Command
threatx-get-entities
Input
| Argument Name | Description | Required |
|---|---|---|
| timeframe | Look-back timeframe for the query. Options are 1-Hour, 1-Day, 1-Week, 1-Month, or 3-Months. Note: long look-back timeframes for a large number of Entities can timeout. | Required |
| entity_name | CSV list of Entity names. | Optional |
| entity_id | CSV list of Entity ID hashes. | Optional |
| entity_ip | CSV list of Entity IP addresses. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Threatx.Entity.ID | string | ID hash of the Entity |
| Threatx.Entity.Name | string | Name of the Entity |
| Threatx.Entity.IP | string | IP address of the Entity |
| Threatx.Entity.Risk | integer | Risk score of the Entity |
Command Example
!threatx-get-entities timeframe=1-Day entity_name=CynicalGraaf,OveconfidentRas
Context Example
{
"Threatx": {
"Entity": [
{
"ID": "1061035762581303669",
"Name": "OveconfidentRas",
"Risk": 0,
"IP": [
201.93.212.87
]
},
{
"ID": "566056709675514809",
"Name": "CynicalGraaf",
"Risk": 0,
"IP": [
1.125.227.13
]
}
]
}
}
Human Readable Output
| ThreatX Risk Score | IP Addresses | Name | ID |
|---|---|---|---|
| 0 | 201.93.212.87 | OveconfidentRas | 1061035762581303669 |
| 55 | 1.125.227.13 | CynicalGraaf | 566056709675514809 |
8. Get entity notes
Returns the notes attached to an entity by Entity ID.
Base Command
threatx-get-entity-notes
Input
| Argument Name | Description | Required |
|---|---|---|
| entity_id | ID hash of the Entity. To retrieve this value, run the threatx-get-entities command. | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| Threatx.Entity.ID | string | ID hash of the Entity |
| Threatx.Entity.Note.content | string | Content of the Note |
| Threatx.Entity.Note.timestamp | string | Timestamp of the Note |
| Threatx.Entity.Note.username | string | Author of the Note |
Command Example
!threatx-get-entity-notes entity_id=566056709675514809
Context Example
{
"Threatx": {
"Entity": [
{
"ID": "566056709675514809",
"Note": [
{
"content": "Demisto test note.",
"entity_id": "566056709675514809",
"timestamp": "2019-05-31 18:41:09",
"username": "user@domain.com"
}
]
}
]
}
}
Human Readable Output
| Username | Timestamp | Entity Id | Content |
|---|---|---|---|
| user@domain.com | 2019-05-31 18:41:09 | 566056709675514809 | Demisto test note. |
| user@domain.com | 2019-05-30 23:36:23 | 566056709675514809 | this is a test note |
| user@domain.com | 2019-05-12 21:36:12 | 566056709675514809 | Another test note |
| user@domain.com | 2019-05-12 21:34:48 | 566056709675514809 | test-note-from-demisto |
9. Add a note to an entity
Adds a new note to an entity.
Base Command
threatx-add-entity-note
Input
| Argument Name | Description | Required |
|---|---|---|
| entity_id | ID hash of the Entity. To retrieve this value, run the threatx-get-entities command. | Required |
| message | Contents of the note. | Required |
Context Output
There is no context output for this command.
Command Example
!threatx-add-entity-note entity_id=566056709675514809 message="test note."
Human Readable Output
| Result |
|---|
| Note for Entity<id=566056709675514809> created |
Configuration parameters
url— ThreatX Server URL (e.g., https://provision.threatx.io) (required)customer_name— Customer Nameapi_key— API Keycredentials— Customer Namedbot_threshold— IP Threshold. Minimum risk score from ThreatX to consider the IP malicious. (required)proxy— Use system proxy settingsinsecure— Trust any certificate (not secure)
Commands (9)
-
threatx-add-entity-noteAdd a new note to the entity. For example: !threatx-add-entity-note entity_id=566056709695514809 message="test note"
-
threatx-blacklist-ipAdds an IP address or CIDR to the block list.
-
threatx-block-ipTemporarily blocks an IP address or CIDR. Default is 30 minutes.
-
threatx-get-entitiesGet high-level Entity information using the Entity ID, Entity Name, or Entity IP. For example: !threatx-get-entities timeframe=1-Day entity_name=CynicalGraaf,MJ12Bot entity_id= 566056709675514809 entity_ip=12.12.12.12,14.14.14.14. Note: long look-back timeframes for a large number of Entities can timeout.
-
threatx-get-entity-notesReturns the notes attached to an Entity, by Entity ID.
-
threatx-unblacklist-ipRemoves an IP or CIDR from the block list.
-
threatx-unblock-ipUnblocks a blocked IP address or CIDR.
-
threatx-unwhitelist-ipRemoves an IP address or CIDR from the allow list.
-
threatx-whitelist-ipAdds an IP address or CIDR to the allow list.
category: Network Security provider: A10 Networks commonfields: id: ThreatX version: -1 configuration: - defaultvalue: https://provision.threatx.io display: ThreatX Server URL (e.g., https://provision.threatx.io) name: url required: true type: 0 - display: Customer Name name: customer_name type: 0 hidden: true required: false - display: API Key name: api_key type: 4 hidden: true required: false - name: credentials type: 9 display: Customer Name displaypassword: API Key required: false - defaultvalue: '70' display: IP Threshold. Minimum risk score from ThreatX to consider the IP malicious. name: dbot_threshold required: true type: 0 - defaultvalue: 'false' display: Use system proxy settings name: proxy type: 8 required: false - defaultvalue: 'false' display: Trust any certificate (not secure) name: insecure type: 8 required: false description: The ThreatX integration allows automated enforcement and intel gathering actions. display: ThreatX name: ThreatX script: commands: - arguments: - description: 'IP address or CIDR, for example: "10.1.1.1" or "10.1.1.0/24".' name: ip required: true - defaultValue: 'Added by ThreatX Demisto Integration' description: 'The description of the IP record in the block list.' name: description description: Temporarily blocks an IP address or CIDR. Default is 30 minutes. execution: true name: threatx-block-ip outputs: - contextPath: IP.Address description: IP address or CIDR that was blocked. type: string - arguments: - description: 'IP address or CIDR, for example: "10.1.1.1" or "10.1.1.0/24".' name: ip required: true description: Unblocks a blocked IP address or CIDR. execution: true name: threatx-unblock-ip outputs: - contextPath: IP.Address description: IP address or CIDR that was unblocked. type: Unknown - arguments: - description: 'IP address or CIDR in CSV format, for example: "10.1.1.1,10.1.1.0/24".' isArray: true name: ip required: true - defaultValue: 'Added by ThreatX Demisto Integration' description: 'The description of the IP record in the block list.' name: description description: Adds an IP address or CIDR to the block list. execution: true name: threatx-blacklist-ip outputs: - contextPath: IP.Address description: IP address or CIDR that was added to the block list. type: string - arguments: - description: 'IP address or CIDR, for example: "10.1.1.1" or "10.1.1.0/24".' name: ip required: true description: Removes an IP or CIDR from the block list. execution: true name: threatx-unblacklist-ip outputs: - contextPath: IP.Address description: IP address or CIDR that was removed from the block list. type: string - arguments: - description: 'IP address or CIDR, for example: "10.1.1.1" or "10.1.1.0/24".' name: ip required: true - defaultValue: 'Added by ThreatX Demisto Integration' description: 'The description of the IP record in the allow list.' name: description description: Adds an IP address or CIDR to the allow list. execution: true name: threatx-whitelist-ip outputs: - contextPath: IP.Address description: IP address or CIDR was added to the allow list. type: string - arguments: - description: 'IP address or CIDR, for example: "10.1.1.1" or "10.1.1.0/24".' name: ip required: true description: Removes an IP address or CIDR from the allow list. execution: true name: threatx-unwhitelist-ip outputs: - contextPath: IP.Address description: IP address or CIDR that was removed from the allow list. type: string - arguments: - description: CSV list of Entity names. name: entity_name - description: CSV list of Entity ID hashes. name: entity_id - description: CSV list of Entity IP addresses. name: entity_ip - auto: PREDEFINED defaultValue: 1-Hour description: 'Look-back timeframe for the query. Options are 1-Hour, 1-Day, 1-Week, 1-Month, or 3-Months. Note: long look-back timeframes for a large number of Entities can timeout.' name: timeframe predefined: - 1-Hour - 1-Day - 1-Week - 1-Month - 3-Months required: true description: 'Get high-level Entity information using the Entity ID, Entity Name, or Entity IP. For example: !threatx-get-entities timeframe=1-Day entity_name=CynicalGraaf,MJ12Bot entity_id= 566056709675514809 entity_ip=12.12.12.12,14.14.14.14. Note: long look-back timeframes for a large number of Entities can timeout.' name: threatx-get-entities outputs: - contextPath: Threatx.Entity.ID description: ID hash of the entity. type: string - contextPath: Threatx.Entity.Name description: Name of the entity. type: string - contextPath: Threatx.Entity.IP description: IP address of the entity. type: string - contextPath: Threatx.Entity.Risk description: Risk score of the entity. type: Unknown - arguments: - description: 'ID hash of the Entity. Note: this value can be retrieved using the "!threatx-get-entities" command.' name: entity_id required: true description: Returns the notes attached to an Entity, by Entity ID. name: threatx-get-entity-notes outputs: - contextPath: Threatx.Entity.Note description: Notes attached to the entity. type: number - contextPath: Threatx.Entity.ID description: ID hash of the entity. type: Unknown - contextPath: Threatx.Entity.Note.content description: Content of the note. type: Unknown - contextPath: Threatx.Entity.Note.timestamp description: Timestamp of the note. type: Unknown - contextPath: Threatx.Entity.Note.username description: Author of the note. type: Unknown - arguments: - description: 'ID hash of the Entity. To retrieve this value, run the "!threatx-get-entities" command.' name: entity_id required: true - description: Contents of the note. name: message required: true description: 'Add a new note to the entity. For example: !threatx-add-entity-note entity_id=566056709695514809 message="test note"' execution: true name: threatx-add-entity-note runonce: false script: '-' type: python subtype: python3 dockerimage: demisto/python3:3.12.13.10116658 fromversion: 5.0.0 tests: - No tests (auto formatted)