Common Step: Correlate IOC with SIEM Alerts & SOAR Cases#
Objective#
Check for existing SIEM alerts and SOAR cases related to a specific Indicator of Compromise (IOC) or a list of IOCs.
Scope#
This sub-runbook executes searches using secops-mcp.get_security_alerts
and secops-soar.list_cases
based on provided IOCs. It returns summaries of any related alerts or cases found.
Inputs#
${IOC_LIST}
: A single IOC value or a list of IOC values (e.g., [“198.51.100.10”, “evil-domain.com”]).(Optional)
${TIME_FRAME_HOURS}
: Lookback period in hours for the SIEM alert search (default: 168 = 7 days).(Optional)
${SOAR_CASE_FILTER}
: Additional filter criteria for the SOAR case search (e.g., status=“OPEN”).
Outputs#
${RELATED_SIEM_ALERTS}
: A list or summary of SIEM alerts found related to the IOC(s).${RELATED_SOAR_CASES}
: A list or summary of SOAR cases found related to the IOC(s).${CORRELATION_STATUS}
: Confirmation or status of the correlation attempt(s).
Tools#
secops-mcp
:get_security_alerts
secops-soar
:list_cases
Workflow Steps & Diagram#
Receive Input: Obtain
${IOC_LIST}
, and optional${TIME_FRAME_HOURS}
,${SOAR_CASE_FILTER}
from the calling runbook. Initialize${RELATED_SIEM_ALERTS}
and${RELATED_SOAR_CASES}
as empty lists/structures.Correlate SIEM Alerts:
Construct a query for
secops-mcp.get_security_alerts
to search for alerts containing any IOC in${IOC_LIST}
within the${TIME_FRAME_HOURS}
. Note: The exact query format depends on the tool’s capabilities.Execute the search.
Store the summary of found alerts in
${RELATED_SIEM_ALERTS}
.
Correlate SOAR Cases:
Construct a filter for
secops-soar.list_cases
to search for cases containing any IOC in${IOC_LIST}
. Combine with${SOAR_CASE_FILTER}
if provided. Note: The exact filter format depends on the tool’s capabilities.Execute the search.
Store the summary of found cases in
${RELATED_SOAR_CASES}
.
Return Results: Set
${CORRELATION_STATUS}
based on the success/failure of the API calls. Return${RELATED_SIEM_ALERTS}
,${RELATED_SOAR_CASES}
, and${CORRELATION_STATUS}
to the calling runbook.
sequenceDiagram participant CallingRunbook participant CorrelateIOC as correlate_ioc_with_alerts_cases.md (This Runbook) participant SIEM as secops-mcp participant SOAR as secops-soar CallingRunbook->>CorrelateIOC: Execute Correlation\nInput: IOC_LIST, TIME_FRAME_HOURS (opt), SOAR_CASE_FILTER (opt) %% Step 2: Correlate SIEM Alerts Note over CorrelateIOC: Construct SIEM alert query for IOC_LIST CorrelateIOC->>SIEM: get_security_alerts(query=..., hours_back=TIME_FRAME_HOURS) SIEM-->>CorrelateIOC: Related SIEM Alerts Summary (RELATED_SIEM_ALERTS) %% Step 3: Correlate SOAR Cases Note over CorrelateIOC: Construct SOAR case filter for IOC_LIST + optional filter CorrelateIOC->>SOAR: list_cases(filter=...) SOAR-->>CorrelateIOC: Related SOAR Cases Summary (RELATED_SOAR_CASES) %% Step 4: Return Results Note over CorrelateIOC: Set CORRELATION_STATUS CorrelateIOC-->>CallingRunbook: Return Results:\nRELATED_SIEM_ALERTS,\nRELATED_SOAR_CASES,\nCORRELATION_STATUS
Completion Criteria#
The SIEM alert search and SOAR case search have been attempted. Summaries of related alerts (${RELATED_SIEM_ALERTS}
) and cases (${RELATED_SOAR_CASES}
), along with the status (${CORRELATION_STATUS}
), are available.