Atomic Runbook: Search URL Activity in Chronicle#
ID: RB-ATOM-URL-003
Version: 1.0
Last_Updated: 2025-05-30
Purpose: To perform a detailed search for network traffic or other events associated with a specific URL in Chronicle SIEM using the search_security_events
tool.
Parent_Runbook(s)/Protocol(s): rules-bank/indicator_handling_protocols.md#url-indicator
(Assuming a future section for URLs), rb_url_get_gti_report.md
Trigger: When internal activity related to a URL needs to be investigated, often after external reputation checks.
Inputs Required#
url
: string - The full URL to search for.Source Example: Alert field, output from other enrichment runbooks.
hours_back
(optional): integer - How many hours of historical data. Defaults to 24.max_events
(optional): integer - Max event records. Defaults to 100.search_strategy
(optional): string - [“ExactURL”, “DomainAndPath”, “DomainOnly”, “ResolvedIPs”]. Default: “ExactURL”.“ExactURL”: Searches for the exact URL string.
“DomainAndPath”: Searches for the domain and path components.
“DomainOnly”: Extracts domain and searches for traffic to that domain.
“ResolvedIPs”: If IPs resolved from the URL’s domain are known, search traffic to those IPs.
resolved_ips_for_url_domain
(optional): list - List of IPs ifsearch_strategy
is “ResolvedIPs”.
Execution Steps#
Tool Selection:
Primary_Tool_MCP_Server:
secops-mcp
Primary_Tool_Name:
search_security_events
Query Construction (for
text
parameter):Based on
search_strategy
:ExactURL: “Events where target.url = ‘{url}’ OR about.url = ‘{url}’”
DomainAndPath: (Extract domain and path from
url
) “Events where target.url CONTAINS ‘{domain_from_url}{path_from_url}’”DomainOnly: (Extract domain from
url
) “Events where target.hostname = ‘{domain_from_url}’ OR target.url CONTAINS ‘{domain_from_url}/’”ResolvedIPs: (Requires
resolved_ips_for_url_domain
) “Network traffic where target.ip IN ({ip_list_string}) OR principal.ip IN ({ip_list_string})”
Append time window: “… in the last {hours_back} hours”
AI Agent Note: If
search_strategy
is not “ExactURL”, the AI needs to parse the inputurl
to extract domain/path.
Parameter Mapping:
Map constructed query to
text
.Map
hours_back
,max_events
.
Execute Tool: Call
search_security_events
.AI Agent Note: Refer to
rules-bank/mcp_tool_best_practices.md
.
Data Transformation/Extraction:
Focus on
events.events
. Extractprincipal.ip
,principal.hostname
,target.ip
,target.port
,metadata.event_type
.
Outputs Expected#
url_related_events
: list - List of UDM event records.translated_udm_query
: string.total_events_matched
: integer.source_hosts_accessing_url
: list - Uniqueprincipal.hostname
orprincipal.ip
.output_status
: string - [“Success”, “NoEventsFound”, “Failure”, “InputError_MissingResolvedIPs”]output_message
: string (if Failure or InputError).
Decision Logic / Next Steps (If Applicable)#
IF
output_status
is “Success”:Log key findings (e.g., hosts accessing the URL, event types).
Analyze events for suspicious patterns (e.g., downloads, POST requests to suspicious URLs).
If malicious activity confirmed, consider containment or escalation.
IF
output_status
is “NoEventsFound”:Log “No Chronicle events found related to URL {url} with strategy {search_strategy} for the last {hours_back} hours.”
ELSE (
output_status
is “Failure” or “InputError_MissingResolvedIPs”):Log error:
output_message
.Escalate: “Failed to search Chronicle for URL {url}.”
AI Agent Execution Notes#
URL parsing (for domain/path extraction) needs to be robust.
If
search_strategy
is “ResolvedIPs” butresolved_ips_for_url_domain
is not provided, the runbook should ideally default to another strategy or return an error.Consider the possibility of URL variations (HTTP vs HTTPS, www vs non-www) if “ExactURL” is too restrictive. The CONTAINS operator in other strategies can help.
Metrics Collection Points#
Log execution time.
Log
output_status
, number ofurl_related_events
returned.(Reference
rules-bank/ai_performance_logging_requirements.md
)
References#
rules-bank/mcp_tool_best_practices.md
rules-bank/indicator_handling_protocols.md
(future URL section)rules-bank/analytical_query_patterns.md
rules-bank/ai_performance_logging_requirements.md