Atomic Runbook: Get IP Address Reputation from GTI#
ID: RB-ATOM-IP-001
Version: 1.0
Last_Updated: 2025-05-30
Purpose: To retrieve a comprehensive IP address analysis report from Google Threat Intelligence (GTI) to assess its reputation.
Parent_Runbook(s)/Protocol(s): rules-bank/indicator_handling_protocols.md#1-atomic-indicator-ip-address
Trigger: When an IP address requires an external reputation check as part of an investigation or triage process.
Inputs Required#
ip_address: string - The IP address to query.Source Example: Alert field
source.ip,destination.ip,principal.ip,target.ip; Output from another runbook.
Execution Steps#
Tool Selection:
Primary_Tool_MCP_Server:
Google Threat Intelligence MCPPrimary_Tool_Name:
get_ip_address_report
Parameter Mapping:
Map
ip_address(Input) to MCP Tool parameterip_address.
Execute Tool: Call the
get_ip_address_reporttool with the mappedip_address.AI Agent Note: Refer to
rules-bank/mcp_tool_best_practices.mdfor specific guidance on GTI tools.
Data Transformation/Extraction:
The primary output is a JSON object. Key fields for initial assessment are typically found under
data.attributes.last_analysis_stats(especiallymalicious),data.attributes.categories,data.attributes.as_owner, anddata.attributes.country.
Outputs Expected#
gti_ip_report: JSON - The full JSON report from the GTIget_ip_address_reporttool.malicious_score: integer - The number of engines reporting the IP as malicious (extracted fromgti_ip_report.data.attributes.last_analysis_stats.malicious).harmless_score: integer - The number of engines reporting the IP as harmless (extracted fromgti_ip_report.data.attributes.last_analysis_stats.harmless).suspicious_score: integer - The number of engines reporting the IP as suspicious (extracted fromgti_ip_report.data.attributes.last_analysis_stats.suspicious).categories: list - List of categories assigned to the IP by GTI (e.g., “malware”, “phishing”).as_owner: string - The AS owner of the IP.country: string - The country associated with the IP.output_status: string - [“Success”, “Failure”]output_message: string (if Failure) - Details of the issue (e.g., “API error”, “Invalid IP format”).
Decision Logic / Next Steps (If Applicable)#
IF
output_statusis “Success”:IF
malicious_score> 5 OR “malware” INcategoriesOR “phishing” INcategoriesTHENFlag IP as “High_Risk_GTI”.
Consider proceeding to containment-related runbooks or escalate immediately.
ELSE IF
malicious_score> 0 ORsuspicious_score> 0 THENFlag IP as “Medium_Risk_GTI_Needs_Correlation”.
Proceed to further internal investigation runbooks (e.g.,
rb_ip_lookup_entity_chronicle.md).
ELSE (low malicious/suspicious score)
Flag IP as “Low_Risk_GTI”.
Proceed to further internal investigation runbooks.
ELSE (
output_statusis “Failure”):Log error:
output_message.Consider executing
rb_ip_get_secops_threat_intel.mdas an alternative.IF alternative also fails, escalate to human analyst: “Failed to retrieve external reputation for IP {ip_address}.”
AI Agent Execution Notes#
Ensure the input
ip_addressis a valid IPv4 or IPv6 address.If the GTI tool returns an error related to API quotas, log this and consider a retry strategy with backoff, or escalate if retries fail.
The AI should parse the
gti_ip_reportto extract the specific output parameters listed above.
Metrics Collection Points#
Log execution time for this runbook.
Log
output_status,malicious_score,harmless_score,suspicious_score.(Reference
rules-bank/ai_performance_logging_requirements.md)
References#
rules-bank/mcp_tool_best_practices.mdrules-bank/indicator_handling_protocols.mdrules-bank/ai_performance_logging_requirements.md“Blueprint for AI Agents in Cybersecurity” (for general AI agent interaction principles)
“Measuring ROI of AI agents in security operations” (for context on metric importance)