Atomic Runbook: Search URL Activity in Chronicle

SkillSearch

Use when searching Chronicle proxy and web access logs for HTTP/HTTPS

Available today. Use it from your connected AI after setup.

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 if search_strategy is "ResolvedIPs".

Execution Steps

  1. Tool Selection:
    • Primary_Tool_MCP_Server: secops-mcp
    • Primary_Tool_Name: search_security_events
  2. 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.
  3. Parameter Mapping:
    • Map constructed query to text.
    • Map hours_back, max_events.
  4. Execute Tool: Call search_security_events.
    • AI Agent Note: Refer to rules-bank/mcp_tool_best_practices.md.
  5. 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

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