Skip to main content

XM Cyber CEM

This Integration is part of the XM Cyber Pack.#

Supported versions

Supported Cortex XSOAR versions: 6.10.0 and later.

The XM Cyber integration connects XM Cyber's Continuous Exposure Management (CEM) platform with XSOAR, enhancing your Security Information and Event Management (SIEM) and Security Orchestration, Automation, and Response processes with attack graph context and prioritization, while also feeding relevant entities back to CEM to be defined as breach points in CEM scenarios.

Configure XM Cyber CEM in Cortex#

  1. Navigate to Settings > Integrations > Servers & Services.
  2. Search for XM Cyber CEM.
  3. Click Add instance to create and configure a new integration instance.
ParameterDescriptionRequired
Server URLThe server URL of the XM Cyber instance.True
API KeyThe API Key using which the API calls would be made to the XM Cyber instance.True
Trust any certificate (not secure)False
Use system proxy settingsFalse
  1. Click Test to validate the URL, API Key, and connection.

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.

xmcyber-enrich-incident#


Enriches Hostname and User entities on the SOAR platform by using information available in the XM Cyber platform.

Base Command#

xmcyber-enrich-incident

Input#

Argument NameDescriptionRequired
entity_valuesSpecify the Hostname or User to enrich. Supports comma-separated values.Required

Context Output#

PathTypeDescription
XMCyber.Entity.idStringThe unique identifier of the entity.
XMCyber.Entity.collectedAtDateThe timestamp when the entity data was collected.
XMCyber.Entity.nameStringThe name of the entity.
XMCyber.Entity.os.nameStringThe operating system name of the agent entity.
XMCyber.Entity.osTypeStringThe operating system type (Windows, Linux, etc.).
XMCyber.Entity.typeStringThe type of the entity (agent, activeDirectoryUser, etc.).
XMCyber.Entity.xmLabels.idStringThe labels assigned to the entity by XM Cyber.
XMCyber.Entity.affectedUniqueEntitiesNumberThe number of unique entities affected by this entity.
XMCyber.Entity.chokePointScoreNumberThe choke point score of the entity.
XMCyber.Entity.displayNameStringThe display name of the Active Directory user entity.
XMCyber.Entity.domainNameStringThe domain name of the Active Directory user entity.
XMCyber.Entity.isEnabledBooleanIndicates if the Active Directory user account is enabled.
XMCyber.Entity.lastLogonDateThe last logon timestamp of the Active Directory user.
XMCyber.Entity.pwdLastSetDateThe timestamp when the password was last set for the Active Directory user.
XMCyber.Entity.riskScoreNumberThe risk score of the entity.
XMCyber.Entity.sidStringThe Security Identifier (SID) of the Active Directory user entity.
XMCyber.Entity.account_typeStringThe account type of the entity.
XMCyber.Entity.chokePointScoreLevelStringThe choke point score level of the entity.
XMCyber.Entity.importedLabelsStringThe imported labels assigned to the entity.
XMCyber.Entity.riskScoreLevelStringThe risk score level of the entity.

Command example#

!xmcyber-enrich-incident entity_values="hostname_1,user_1"

Context Example#

{
"XMCyber": {
"Entity": [
{
"id": "activeDirectoryUser-0000000000000000001",
"affectedUniqueEntities": 0,
"chokePointScore": 29,
"collectedAt": "2025-12-04T00:00:00.630Z",
"displayName": "test.com\\user_1",
"domainName": "test.com",
"isEnabled": true,
"lastLogon": "2025-12-03T10:30:00.000Z",
"name": "user_1",
"pwdLastSet": "2024-06-15T08:20:00.000Z",
"riskScore": 88,
"sid": "S-1-5-21-1234567890-1234567890-1234567890-1001",
"type": "activeDirectoryUser",
"chokePointScoreLevel": "MEDIUM",
"riskScoreLevel": "HIGH",
"xmLabels": [
{
"id": "AD Admins And DCs"
},
{
"id": "AD Tier0"
}
]
},
{
"id": "0000000000000000002",
"affectedUniqueEntities": 5,
"chokePointScore": 75,
"collectedAt": "2025-12-04T00:00:00.630Z",
"name": "hostname_1",
"os": {
"name": "Windows Server 2019 (DC)"
},
"osType": "Windows",
"riskScore": 92,
"type": "agent",
"chokePointScoreLevel": "HIGH",
"riskScoreLevel": "CRITICAL",
"xmLabels": [
{
"id": "Windows Server"
},
{
"id": "Domain Controller"
},
{
"id": "Public IP"
}
]
}
]
}
}

Human Readable Output#

Entity Information#

IDNameTypeCompromise Risk ScoreChoke Point ScoreLabelsAffected Unique EntitiesEnabledDisplay NameDomain NameLast Logon DateLast Password Set DateOS TypeOS NameSIDCollected At
activeDirectoryUser-0000000000000000001user_1activeDirectoryUserHIGH (88)MEDIUM (29)AD Admins And DCs, AD Tier00truetest.com\user_1test.com2025-12-03T10:30:00.000Z2025-11-15T08:20:00.000ZS-1-5-21-1234567890-1234567890-1234567890-10012025-12-04T00:00:00.630Z
0000000000000000002hostname_1agentCRITICAL (92)HIGH (75)Windows Server, Domain Controller, Public IP5WindowsWindows Server 2019 (DC)2025-12-04T00:00:00.630Z

xmcyber-push-breach-point#


Adds a breach point label to the specified entities based on defined criteria and pushes the label as an Imported Attribute to XM Cyber CEM's platform.

Base Command#

xmcyber-push-breach-point

Input#

Argument NameDescriptionRequired
entity_valuesSpecify the Hostname or User to label with the breach point. Supports comma-separated values.Required
attribute_nameThe name of the custom label you want to push to CEM as an imported attribute. Default is XSOAR_BP.Optional
parameterWhen setting up the condition for when to push the breach point data, this is the parameter of the condition. It is a list of predefined parameters for determining the criteria. Select 'All' to apply the breach point label to all entities. Possible values are: All, Entity ID, Affected Unique Entities, Compromise Risk Score, Choke Point Score, Labels, Domain Name, Is Enabled, Last Login Date, Last Password Set Date. Default is All.Optional
operatorWhen setting up the condition for when to push the breach point data, this is the operator of the condition. Possible values are: Less than, Greater than, Less than equal to, Greater than equal to, Equals, Not equal to, Contains, Not Contains. Default is Equals.Optional
valueWhen setting up the condition for when to push the breach point data, this is the value of the condition. Can be boolean, string, integer, float, or date values.

Supported date formats: 2 minutes, 2 hours, 2 days, 2 weeks, 2 months, 2 years, yyyy-mm-dd, yyyy-mm-ddTHH:MM:SSZ.

For example: 01 Dec 2025, 01 Dec 2025 04:45:33, 2025-12-10T14:05:44Z. Default is True.
Optional

Context Output#

PathTypeDescription
XMCyber.BreachPoint.attributeNameStringThe name of the attribute that was applied to the XM Cyber entities.
XMCyber.BreachPoint.matchedEntitiesStringThe entities that matched the criteria.
XMCyber.BreachPoint.notMatchedEntitiesStringThe entities that did not match the criteria.
XMCyber.BreachPoint.parameterStringThe entity parameter used to filter entities.
XMCyber.BreachPoint.operatorStringThe comparison operator used to match entity values.
XMCyber.BreachPoint.valueStringThe value used to match against entity properties.
XMCyber.BreachPoint.userSuppliedEntitiesStringThe entities that were provided by the user.

Command example#

!xmcyber-push-breach-point entity_values="user1,hostname1,user2" attribute_name="XSOAR_BP" parameter="Compromise Risk Score" operator="Greater than" value="30"

Context Example#

{
"XMCyber": {
"BreachPoint": {
"attributeName": "XSOAR_BP",
"matchedEntities": "hostname1,user1",
"notMatchedEntities": "user2",
"operator": "Greater than",
"parameter": "Compromise Risk Score",
"value": "30",
"userSuppliedEntities": "user1,hostname1,user2"
}
}
}

Human Readable Output#

Successfully pushed the attribute 'XSOAR_BP' for the following entities#

user1, hostname1

xmcyber-remove-breach-point#


Removes a breach point label from the specified entities in XM Cyber CEM's platform.

Base Command#

xmcyber-remove-breach-point

Input#

Argument NameDescriptionRequired
entity_valuesSpecify the Hostname or User to remove a breach point label. Supports comma-separated values.Required
attribute_nameThe name of the custom label you want to remove from CEM as an imported attribute. Default is XSOAR_BP.Optional

Context Output#

PathTypeDescription
XMCyber.RemoveBreachPoint.attributeNameStringThe name of the attribute that was removed from the XM Cyber entities.
XMCyber.RemoveBreachPoint.removedLabelEntitiesStringThe entities from which the label was successfully removed.
XMCyber.RemoveBreachPoint.userSuppliedEntitiesStringThe entities that were provided by the user.

Command example#

!xmcyber-remove-breach-point entity_values="user1,hostname1" attribute_name="XSOAR_BP"

Context Example#

{
"XMCyber": {
"RemoveBreachPoint": {
"attributeName": "XSOAR_BP",
"removedLabelEntities": "hostname1,user1",
"userSuppliedEntities": "user1,hostname1"
}
}
}

Human Readable Output#

Successfully removed the attribute 'XSOAR_BP' from the following entities#

user1, hostname1

xmcyber-calculate-risk-score#


Calculates the overall risk score for entities based on their Compromise Risk Score and Choke Point Score from XM Cyber enrichment data.

Base Command#

xmcyber-calculate-risk-score

Input#

Argument NameDescriptionRequired
entity_valuesSpecify the Hostname or User to calculate the risk score. Supports comma-separated values.Required
compromise_risk_scoreSpecify the weight of Compromise Risk Score to apply to the final score calculation. Provide the value between 0 and 1. Default is 0.5.Optional
choke_point_scoreSpecify the weight of Choke Point Score to apply to the final score calculation. Provide the value between 0 and 1. Default is 0.5.Optional

Context Output#

PathTypeDescription
XMCyber.CalculateRiskScore.entitiesStringThe entity values that were evaluated.
XMCyber.CalculateRiskScore.compromisedRiskScoreLevelStringThe risk level based on the highest Compromise Risk Score found.
XMCyber.CalculateRiskScore.compromisedRiskScoreNumberThe highest Compromise Risk Score found across all evaluated entities.
XMCyber.CalculateRiskScore.compromisedChokePointScoreLevelStringThe risk level based on the highest Choke Point Score found.
XMCyber.CalculateRiskScore.compromisedChokePointScoreNumberThe highest Choke Point Score found across all evaluated entities.
XMCyber.CalculateRiskScore.calculatedRiskScoreNumberThe final calculated risk score based on weighted combination of Compromise Risk Score and Choke Point Score.

Command example#

!xmcyber-calculate-risk-score entity_values="user1,hostname1"

Context Example#

{
"XMCyber": {
"CalculateRiskScore": {
"entities": "hostname_1, user_1, user_2",
"compromisedRiskScore": 95,
"compromisedRiskScoreLevel": "CRITICAL",
"compromisedChokePointScore": 85,
"compromisedChokePointScoreLevel": "CRITICAL",
"calculatedRiskScore": 100
}
}
}

Human Readable Output#

Risk Score Calculation Results#

Calculated Risk ScoreCompromised Risk Score LevelCompromised Risk ScoreCompromised Choke Point LevelCompromised Choke Point Score
100CRITICAL95CRITICAL85