Common Step: Pivot on IOC using GTI Relationships
SkillSecurityUse when pivoting on GTI campaign identifiers, threat actors, and related
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 Common Step: Pivot on IOC using GTI Relationships skill
What this skill tells your AI
The instructions your AI receives, as published by dandye/adk_runbooks in skills/common/pivot-on-ioc-gti/SKILL.md and read by ahel’s review.
Objective
Explore relationships connected to a specific Indicator of Compromise (IOC) within Google Threat Intelligence (GTI) to discover related entities (other IOCs, threats, etc.).
Scope
This sub-runbook executes the appropriate gti-mcp_get_entities_related_to_a_... tool based on the input IOC type and desired relationship(s). It returns the discovered related entities.
Inputs
${IOC_VALUE}: The specific IOC value (e.g., "198.51.100.10", "evil-domain.com", "abcdef123456...", "http://bad.url/path").${IOC_TYPE}: The type of IOC ("IP Address", "Domain", "File Hash", "URL", "Collection"). Note: Added "Collection" type.${RELATIONSHIP_NAMES}: A list of relationship names to query (e.g., ["resolutions", "communicating_files"], ["malware_families", "attack_techniques"]). The available relationships depend on the${IOC_TYPE}.
Outputs
${RELATED_ENTITIES}: A structured dictionary or list containing the entities found for each queried relationship.${PIVOT_STATUS}: Confirmation or status of the pivoting attempt(s).
Tools
gti-mcp:get_entities_related_to_an_ip_address,get_entities_related_to_a_domain,get_entities_related_to_a_file,get_entities_related_to_an_url,get_entities_related_to_a_collection
Workflow Steps & Diagram
- Receive Input: Obtain
${IOC_VALUE},${IOC_TYPE}, and${RELATIONSHIP_NAMES}from the calling runbook. Initialize${RELATED_ENTITIES}as an empty structure. - Determine GTI Tool: Based on
${IOC_TYPE}, select the correctgti-mcptool (e.g.,get_entities_related_to_an_ip_addressfor "IP Address"). - Iterate Relationships: Loop through each
relationshipin${RELATIONSHIP_NAMES}.- Call the selected GTI tool with the appropriate identifier (
ip_address,domain,hash,url,id) set to${IOC_VALUE}andrelationship_name=relationship. - Store the results under the
relationshipkey within${RELATED_ENTITIES}.
- Call the selected GTI tool with the appropriate identifier (
- Return Results: Set
${PIVOT_STATUS}based on the success/failure of the API calls. Return${RELATED_ENTITIES}and${PIVOT_STATUS}to the calling runbook.
sequenceDiagram
participant CallingRunbook
participant PivotOnIOC as pivot_on_ioc_gti.md (This Runbook)
participant GTI as gti-mcp
CallingRunbook->>PivotOnIOC: Execute GTI Pivot\nInput: IOC_VALUE, IOC_TYPE, RELATIONSHIP_NAMES
%% Step 2: Determine Tool
Note over PivotOnIOC: Select GTI tool based on IOC_TYPE
%% Step 3: Iterate Relationships
loop For each relationship R in RELATIONSHIP_NAMES
PivotOnIOC->>GTI: [Selected Tool](identifier=IOC_VALUE, relationship_name=R)
GTI-->>PivotOnIOC: Related Entities List for R
Note over PivotOnIOC: Store results in RELATED_ENTITIES[R]
end
%% Step 4: Return Results
Note over PivotOnIOC: Set PIVOT_STATUS
PivotOnIOC-->>CallingRunbook: Return Results:\nRELATED_ENTITIES,\nPIVOT_STATUS
Completion Criteria
The relevant GTI relationship queries have been attempted for the specified IOC. The discovered related entities (${RELATED_ENTITIES}) and status (${PIVOT_STATUS}) are available.
Signals
- GitHub stars
- 84
- Forks
- 14
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
pivot-on-ioc-gti- Source
- github.com/dandye/adk_runbooks