| name | url-search-chronicle |
| description | Use when searching Chronicle proxy and web access logs for HTTP/HTTPS requests to a URL. |
| category | atomic |
| version | 1.0.0 |
| type | Skill |
| title | Skill: Atomic Runbook: Search URL Activity in Chronicle |
| generated | {"by":"process:google-labs-jules","at":"2026-08-20T02:00:00Z"} |
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 if search_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 input url 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. Extract principal.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 - Unique principal.hostname or principal.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" but resolved_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 of url_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