Skip to main content

KELA BrandControl

This Integration is part of the KELA BrandControl Pack.#

Supported versions

Available on Cortex XSOAR (versions 6.10.0 and later) and Cortex XSIAM.

KELA Brand Control#

Brand Control detects brand impersonation across the open web, social media and app ecosystems: phishing websites, look-alike domains, fake social media profiles, fake shops and more.

This integration fetches brand impersonation incidents from KELA Brand Control into Cortex. This integration was integrated and tested with version 1.0 of the KELA Brand Control API.

Configure KELA BrandControl in Cortex#

  1. Navigate to Settings > Integrations > Servers & Services.
  2. Search for KELA BrandControl.
  3. Click Add instance to create and configure a new integration instance.
ParameterDescriptionRequired
Server URLBase URL of the KELA Brand Control API.True
API TokenAPI token generated in the KELA platform (system menu). It is sent as the apiToken query parameter and is never logged.True
Use system proxy settingsRoute requests to the KELA Brand Control API through the system proxy configured on the Cortex server or engine.False
Trust any certificate (not secure)Skip TLS certificate validation when connecting to the KELA Brand Control API.False
Workspace ID(s)Workspace ID to connect to. Several workspaces can be given separated by commas; each one is fetched with its own state. Only workspaces owned by, or shared with, your group are accessible.True
Fetch incidentsFalse
Incident typeThe Cortex incident type to assign to incidents created by this integration.False
Incidents Fetch IntervalHow often, in minutes, Cortex runs a fetch cycle for this instance.False
First fetch timeHow far back to fetch the first time (e.g. "3 days", "12 hours", "2026-10-01T00:00:00Z"). Applied to the incident date.False
Maximum number of incidents per fetch (per workspace)Between 1 and 200.False
Fetch only these severitiesOptional. Leave empty to fetch every severity. Filtered-out incidents are skipped but the fetch position still advances past them.False
  1. Click Test to validate the URL, token and workspace access.

Notes:

  • Authentication uses the apiToken query parameter. The token is never written to logs or to command outputs.
  • The API allows 1 request per second (HTTP 429 above that). The integration spaces requests and retries on 429.
  • Workspaces: you can only access workspaces owned by, or shared with, your group.

Fetch incidents#

The integration fetches Brand Control incidents by incident_date (new detections), excluding deleted and archived ones. For every workspace it keeps its own watermark (the latest incident date fetched) plus the IDs of the incidents sharing that exact timestamp, so an incident is never created twice. See the technical document for the design.

Commands#

You can execute these commands from the 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.

kela-brandcontrol-incident-list#


Retrieves the Brand Control incidents of a workspace, with filtering, sorting and pagination. Deleted and archived incidents are excluded by default.

Base Command#

kela-brandcontrol-incident-list

Input#

Argument NameDescriptionRequired
workspace_idWorkspace ID to query. Optional when exactly one workspace is configured on the instance.Optional
search_termFree text search term.Optional
typesA comma-separated list of incident types to return. Possible values are: phishing_website, look_alike_domain, phishing_email, fake_social_media_profile, fake_shop, malicious_application, brand_infringement.Optional
statusesA comma-separated list of incident statuses to return. Possible values are: new, in_review, resolved, requested_takedown, false_positive, irrelevant, whitelisted.Optional
severitiesA comma-separated list of severities to return. Possible values are: low, medium, high, critical.Optional
is_deletedWhen true, returns only deleted incidents. When false, returns only incidents that are not deleted. Possible values are: true, false. Default is false.Optional
is_archivedWhen true, returns only archived incidents. When false, returns only incidents that are not archived. Possible values are: true, false. Default is false.Optional
new_updates_onlyWhen true, returns only incidents with updates available since they were last visited in the UI. Possible values are: true, false. Default is false.Optional
time_range_fieldDate field the start/end dates apply to. Possible values are: incident_date, incident_update_date. Default is incident_date.Optional
start_dateReturn incidents on or after this date. Accepts ISO dates, relative dates (e.g. "3 days") or a 13 digit epoch in milliseconds.Optional
end_dateReturn incidents up to this date. Same formats as start_date.Optional
sort_byField to sort by. If omitted, the API sorts by lastUpdated descending. Possible values are: incidentDate, severity, status, lastUpdated.Optional
sort_orderSort order. Used together with sort_by. Possible values are: asc, desc.Optional
limitNumber of incidents to return (1-1000). Ignored when page or page_size is given. Default is 50.Optional
pagePage number, starting at 1. Used together with page_size.Optional
page_sizeNumber of incidents per page (1-1000). Used together with page.Optional

Context Output#

PathTypeDescription
KELA.BrandControl.Incident.incidentIdStringUnique identifier of the incident.
KELA.BrandControl.Incident.incidentDateNumberThe timestamp in Unix milliseconds when the incident was first detected (e.g., 1700000000000).
KELA.BrandControl.Incident.incidentUpdateDateNumberThe timestamp in Unix milliseconds of the last update to the incident (e.g., 1700000000000).
KELA.BrandControl.Incident.typeStringType of detection, as classified by KELA.
KELA.BrandControl.Incident.severityStringAggregated priority for treatment (low, medium, high, critical).
KELA.BrandControl.Incident.statusStringCurrent status of the incident.
KELA.BrandControl.Incident.titleStringShort descriptive title of the incident.
KELA.BrandControl.Incident.descriptionStringDetailed explanation of the incident.
KELA.BrandControl.Incident.isTakedownRequestedBooleanWhether a takedown has been requested for the incident.
KELA.BrandControl.Incident.takedowns.takedownIdStringTakedown request ID.
KELA.BrandControl.Incident.takedowns.takedownRequestDateNumberThe timestamp in Unix milliseconds of the takedown request (e.g., 1700000000000).
KELA.BrandControl.Incident.takedowns.requestedByStringKELA username that submitted the takedown request.
KELA.BrandControl.Incident.takedowns.statusStringCurrent status of the takedown request.
KELA.BrandControl.Incident.takedowns.statusUpdateDateNumberThe timestamp in Unix milliseconds of the last takedown status update (e.g., 1700000000000).
KELA.BrandControl.Incident.detectedEntityUnknownEntity at the core of the incident. The shape varies by incident type.
KELA.BrandControl.Incident.detectedEntity.urlsUnknownURLs linked to the detected entity.
KELA.BrandControl.Incident.analysisUnknownAssessment of the detected entity. The shape varies by incident type.
KELA.BrandControl.Incident.analysis.impersonatedAssetStringThe legitimate asset being impersonated.
KELA.BrandControl.Incident.analysis.similarityScoreNumberSimilarity score between the detected entity and the impersonated asset (0-1).
KELA.BrandControl.Incident.analysis.domainStatusStringStatus of the domain (e.g. active, inactive).
KELA.BrandControl.Incident.analysis.firstSeenNumberThe timestamp in Unix milliseconds when the entity was first detected (e.g., 1700000000000).
KELA.BrandControl.Incident.analysis.lastSeenNumberThe timestamp in Unix milliseconds when the entity was last detected (e.g., 1700000000000).
KELA.BrandControl.Incident.screenshots.urlStringTemporary signed download link of the screenshot.
KELA.BrandControl.Incident.screenshots.screenshotDateNumberThe timestamp in Unix milliseconds of the screenshot (e.g., 1700000000000).
KELA.BrandControl.Incident.screenshots.fileNameStringScreenshot file name.
KELA.BrandControl.Incident.reasonsUnknownAssets that triggered the detection.
KELA.BrandControl.Incident.indicators.hasScreenshotsBooleanWhether the incident has screenshots.
KELA.BrandControl.Incident.indicators.hasNotesBooleanWhether the incident has notes.
KELA.BrandControl.Incident.indicators.hasTagsBooleanWhether the incident has tags.
KELA.BrandControl.Incident.indicators.hasRelatedEntitiesBooleanWhether the incident has related entities.
KELA.BrandControl.Incident.isDeletedBooleanWhether the incident is deleted.
KELA.BrandControl.Incident.isArchivedBooleanWhether the incident is archived.
KELA.BrandControl.Incident.lastVisitedNumberThe timestamp in Unix milliseconds of the last time the incident was visited in the UI (e.g., 1700000000000).

Command example#

!kela-brandcontrol-incident-list workspace_id=<WORKSPACE_ID> types=look_alike_domain,phishing_website severities=high,critical start_date="7 days" sort_by=incidentDate sort_order=desc limit=10

Context Example#

{
"KELA": {
"BrandControl": {
"Incident": {
"incidentId": "<incident-id>",
"incidentDate": 1759500067000,
"incidentUpdateDate": 1759500067000,
"type": "look_alike_domain",
"severity": "high",
"status": "new",
"title": "<title>",
"description": "<description>",
"isTakedownRequested": false,
"detectedEntity": {
"urls": [
"http://examp1e.com"
]
},
"analysis": {
"impersonatedAsset": "example.com",
"similarityScore": 0.92,
"domainStatus": "active"
},
"isDeleted": false,
"isArchived": false
}
}
}
}

Human Readable Output#

KELA Brand Control incidents (showing 1 of 1 matching, 42 total in the workspace)#

Incident IDIncident DateTypeSeverityStatusTitleImpersonated AssetDetected URLs
<incident-id>2026-10-03T14:21:07.000Zlook_alike_domainhighnew<title>example.comhttp://examp1e.com

(Illustrative output: values are placeholders, not real data. It has not been run against the live API yet.)