CybereasonPreProcessingExample

Preprocessing script to run when fetching Cybereason malops. Will check if malop was already fetched, and will then update the existing incident, otherwise will create a new incident.

python · Cybereason

Source

import demistomock as demisto  # noqa: F401
from CommonServerPython import *  # noqa: F401


def get_guid_from_system_incident(incident: dict[str, Any]) -> str:
    malop_guid = ""
    for label in incident["labels"]:
        if label["type"] == "GUID":
            malop_guid = label["value"]
            break
    return malop_guid


incident = demisto.incidents()
for inc in incident:
    res = True
    malop_guid = get_guid_from_system_incident(inc)
    response = execute_command("getIncidents", {"query": f'name:"Cybereason Malop {malop_guid}"'})
    malop_incident = response.get("data", {})
    demisto.debug(f"malop incident - {malop_incident}")
    if malop_incident:
        # Malop was already fetched - updating the relevant incident
        res = False
        malop_incident = malop_incident[0]
        entries: list[dict[str, Any]] = []
        entries.append({"Contents": f'Duplicate incident from cybereason: {inc.get("name")}'})
        entries.append({"Type": EntryType.NOTE, "ContentsFormat": "json", "Contents": json.dumps(inc)})
        entries_str = json.dumps(entries)
        execute_command("addEntries", {"id": malop_incident["id"], "entries": entries_str})
        malop_incident_id = malop_incident.get("id", "")
        malop_incident_status = inc.get("status", "")
        demisto.debug(f"Updating incident status to : {malop_incident_status}")
        execute_command("setIncident", {"id": malop_incident_id, "status": malop_incident_status})

README

Checks if the malop was already fetched, and will update the existing incident accordingly. Otherwise, it will create a new incident. Run the pre-processing script when fetching Cybereason malops.

Script Data


Name Description
Script Type python
Tags preProcessing, Cybereason, example

Inputs


There are no inputs for this script.

Outputs


There are no outputs for this script.