Atomic Runbook: Search Domain DNS Queries in Chronicle
SkillSearchUse when searching UDM DNS query and resolution logs for a domain in
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 Domain DNS Queries in Chronicle skill
What this skill tells your AI
The instructions your AI receives, as published by dandye/adk_runbooks in skills/atomic/domain-search-dns-chronicle/SKILL.md and read by ahel’s review.
ID: RB-ATOM-DOMAIN-004
Version: 1.0
Last_Updated: 2025-05-30
Purpose: To perform a detailed search for DNS query events associated with a specific domain/FQDN in Chronicle SIEM using the search_security_events tool. This helps identify which internal hosts resolved or attempted to resolve the domain.
Parent_Runbook(s)/Protocol(s): rules-bank/indicator_handling_protocols.md#2-atomic-indicator-domain-name--fqdn, rb_domain_lookup_entity_chronicle.md
Trigger: When detailed DNS resolution logs for a domain are needed, often after an initial entity lookup or if suspicious domain activity is suspected.
Inputs Required
domain_name: string - The domain name or FQDN to search for in DNS queries.- Source Example: Alert field, output from other enrichment runbooks.
hours_back(optional): integer - How many hours of historical data to search. Defaults to 72 (3 days).max_events(optional): integer - Maximum event records to return. Defaults to 100.
Execution Steps
- Tool Selection:
- Primary_Tool_MCP_Server:
secops-mcp - Primary_Tool_Name:
search_security_events
- Primary_Tool_MCP_Server:
- Query Construction (for
textparameter of the tool):- Base query: "DNS lookups for '{domain_name}'"
- Append time window: "... in the last {hours_back} hours"
- Example
textvalue: "DNS lookups for 'malicious-example.com' in the last 48 hours"
- Parameter Mapping:
- Map constructed query to
text. - Map
hours_backtohours_back. - Map
max_eventstomax_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.eventslist. Extractprincipal.hostname,principal.ip(client resolving),network.dns.question.name, andnetwork.dns.answers.rdata(resolved IPs).
- Focus on
Outputs Expected
dns_query_events: list - List of UDM DNS event records.translated_udm_query: string - The actual UDM query executed.total_events_matched: integer.clients_resolving_domain: list - Unique list ofprincipal.hostnameorprincipal.ipthat queried the domain.resolved_ips_from_dns: list - Unique list of IPs found innetwork.dns.answers.rdata.output_status: string - ["Success", "NoEventsFound", "Failure"]output_message: string (if Failure).
Decision Logic / Next Steps (If Applicable)
- IF
output_statusis "Success":- Log key findings (e.g., number of clients, list of resolved IPs).
- For each unique IP in
resolved_ips_from_dns, consider initiating IP-specific atomic runbooks (e.g.,RB-ATOM-IP-001,RB-ATOM-IP-003). - For each client in
clients_resolving_domain, assess criticality usingasset_inventory_guidelines.md. - If many clients resolved a known malicious domain, escalate.
- Proceed to
rb_domain_search_network_traffic_chronicle.mdto look for actual connections to resolved IPs.
- IF
output_statusis "NoEventsFound":- Log "No DNS queries found for domain {domain_name} in Chronicle for the last {hours_back} hours."
- ELSE (
output_statusis "Failure"):- Log error:
output_message. - Escalate: "Failed to search DNS queries for domain {domain_name} in Chronicle."
- Log error:
AI Agent Execution Notes
- If
total_events_matchedis high, AI should summarize findings (e.g., top 5 client IPs, count of unique resolved IPs) rather than listing all events. - Correlate
resolved_ips_from_dnswith GTI reputation data if available.
Metrics Collection Points
- Log execution time.
- Log
output_status, number ofdns_query_eventsreturned. - (Reference
rules-bank/ai_performance_logging_requirements.md)
References
rules-bank/mcp_tool_best_practices.mdrules-bank/indicator_handling_protocols.mdrules-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
domain-search-dns-chronicle- Source
- github.com/dandye/adk_runbooks