Hunt for a specific APT/threat actor in your environment. Use when you have a threat actor name or GTI collection ID and want to search for their TTPs and IOCs. Gathers intelligence from GTI, searches SIEM for IOCs and TTP-based indicators, and documents findings.
63
75%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/hunt-apt/SKILL.mdProactively hunt for TTPs and IOCs associated with a specific Advanced Persistent Threat (APT) group based on threat intelligence.
THREAT_ACTOR_ID - GTI Collection ID or name of the target APT groupHUNT_TIMEFRAME_HOURS - Lookback period (default: 168 = 7 days)TARGET_SCOPE_QUERY - UDM query to narrow scopeHUNT_HYPOTHESIS - Specific hypothesis guiding the huntHUNT_CASE_ID - SOAR case for trackingIf starting with a name:
gti-mcp.search_threat_actors(query="APT_NAME")Then gather comprehensive intelligence:
gti-mcp.get_collection_report(id=THREAT_ACTOR_ID)
gti-mcp.get_collection_mitre_tree(id=THREAT_ACTOR_ID)
gti-mcp.get_collection_timeline_events(id=THREAT_ACTOR_ID)Extract associated IOCs:
gti-mcp.get_entities_related_to_a_collection(id=THREAT_ACTOR_ID, relationship_name="files")
gti-mcp.get_entities_related_to_a_collection(id=THREAT_ACTOR_ID, relationship_name="domains")
gti-mcp.get_entities_related_to_a_collection(id=THREAT_ACTOR_ID, relationship_name="urls")Store as GTI_IOC_LIST.
secops-mcp.get_ioc_matches(hours_back=HUNT_TIMEFRAME_HOURS)Correlate results with GTI_IOC_LIST.
For each IOC type in GTI_IOC_LIST, construct and execute UDM queries:
secops-mcp.search_security_events(
text="UDM query for IOC",
hours_back=HUNT_TIMEFRAME_HOURS
)Document both positive and negative results → IOC_SEARCH_FINDINGS.
Based on MITRE techniques from Step 1:
gti-mcp.get_threat_intel(query="MITRE technique details") for detection ideasTARGET_SCOPE_QUERY if providedDocument results → TTP_SEARCH_FINDINGS.
If hits found (IOC_SEARCH_FINDINGS or TTP_SEARCH_FINDINGS):
For each found IOC or entity:
secops-mcp.lookup_entity(entity_value=FOUND_ITEM)
gti-mcp.get_..._report(identifier=FOUND_ITEM)Use /find-relevant-case with found IOCs and entities.
Use /document-in-case (if HUNT_CASE_ID provided).
Use /generate-report with REPORT_TYPE="apt_hunt":
Confirmed threat found: → Escalate to Incident Response → Create incident case
No threat found: → Document negative findings → Conclude hunt
After completing this skill, you MUST report these outputs:
| Output | Description |
|---|---|
ACTOR_IOCS | IOCs associated with threat actor from GTI |
ACTOR_TTPS | TTPs from threat actor profile (MITRE techniques) |
HUNT_RESULTS | SIEM search results for actor indicators |
DISCOVERED_INDICATORS | IOCs found in environment matching actor profile |
CONFIRMED_IOCS | IOCs confirmed malicious via GTI enrichment |
| Source | Tool |
|---|---|
| Actor Profile | get_collection_report |
| TTPs | get_collection_mitre_tree |
| Timeline | get_collection_timeline_events |
| Related IOCs | get_entities_related_to_a_collection |
| Technique Details | get_threat_intel |
086cbf6
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.