Atomic Runbook: Search URL Activity in Chronicle
SkillSearchUse when searching Chronicle proxy and web access logs for HTTP/HTTPS
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Atomic Runbook: Search URL Activity in Chronicle skill
What this skill tells your AI
The instructions your AI receives, as published by dandye/adk_runbooks in skills/atomic/url-search-chronicle/SKILL.md and read by ahel’s review.
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_strategyis "ResolvedIPs".
Execution Steps
- Tool Selection:
- Primary_Tool_MCP_Server:
secops-mcp - Primary_Tool_Name:
search_security_events
- Primary_Tool_MCP_Server:
- Query Construction (for
textparameter):- 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_strategyis not "ExactURL", the AI needs to parse the inputurlto extract domain/path.
- Based on
- Parameter Mapping:
- Map constructed query to
text. - Map
hours_back,max_events.
- Map constructed query to
- Execute Tool: Call
search_security_events.- AI Agent Note: Refer to
rules-bank/mcp_tool_best_practices.md.
- AI Agent Note: Refer to
- Data Transformation/Extraction:
- Focus on
events.events. Extractprincipal.ip,principal.hostname,target.ip,target.port,metadata.event_type.
- Focus on
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.hostnameorprincipal.ip.output_status: string - ["Success", "NoEventsFound", "Failure", "InputError_MissingResolvedIPs"]output_message: string (if Failure or InputError).
Decision Logic / Next Steps (If Applicable)
- IF
output_statusis "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_statusis "NoEventsFound":- Log "No Chronicle events found related to URL {url} with strategy {search_strategy} for the last {hours_back} hours."
- ELSE (
output_statusis "Failure" or "InputError_MissingResolvedIPs"):- Log error:
output_message. - Escalate: "Failed to search Chronicle for URL {url}."
- Log error:
AI Agent Execution Notes
- URL parsing (for domain/path extraction) needs to be robust.
- If
search_strategyis "ResolvedIPs" butresolved_ips_for_url_domainis 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_eventsreturned. - (Reference
rules-bank/ai_performance_logging_requirements.md)
References
rules-bank/mcp_tool_best_practices.mdrules-bank/indicator_handling_protocols.md(future URL section)rules-bank/analytical_query_patterns.mdrules-bank/ai_performance_logging_requirements.md
Signals
- GitHub stars
- 84
- Forks
- 14
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
url-search-chronicle- Source
- github.com/dandye/adk_runbooks