Skip to content
Security
Skill

/hunt-apt

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.

BOOST
From plugin
ai-runbooks
12830 skills
Install
$ npx -y skills add dandye/ai-runbooks --skill hunt-apt --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/hunt-apt

Context preview

The summary Claude sees to decide when to auto-load this skill.

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.

SKILL.md

hunt-apt.SKILL.md
type: Skill
name: hunt-apt
description: "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."
required_roles:
  chronicle: roles/chronicle.editor
  gti: GTI Enterprise+
personas: [threat-hunter, tier3-analyst]
generated:
  by: human:dandye
  at: 2026-02-04T06:10:49-05:00

APT Threat Hunt Skill

Proactively hunt for TTPs and IOCs associated with a specific Advanced Persistent Threat (APT) group based on threat intelligence.

Inputs

  • `THREAT_ACTOR_ID` - GTI Collection ID or name of the target APT group
  • `HUNT_TIMEFRAME_HOURS` - Lookback period (default: 168 = 7 days)
  • *(Optional)* `TARGET_SCOPE_QUERY` - UDM query to narrow scope
  • *(Optional)* `HUNT_HYPOTHESIS` - Specific hypothesis guiding the hunt
  • *(Optional)* `HUNT_CASE_ID` - SOAR case for tracking

Workflow

Step 1: Identify Actor & Gather Intelligence

If 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`.

Step 2: Check SIEM IOC Matches

secops-mcp.get_ioc_matches(hours_back=HUNT_TIMEFRAME_HOURS)

Correlate results with `GTI_IOC_LIST`.

Step 3: IOC-Based SIEM Search

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`.

Step 4: TTP-Based SIEM Search

Based on MITRE techniques from Step 1:

  • Use `gti-mcp.get_threat_intel(query="MITRE technique details")` for detection ideas
  • Formulate TTP-specific UDM queries
  • Execute searches over the timeframe
  • Combine with `TARGET_SCOPE_QUERY` if provided

Document results → `TTP_SEARCH_FINDINGS`.

Step 5: Enrich 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)

Step 6: Check Related Cases

Use `/find-relevant-case` with found IOCs and entities.

Step 7: Document & Report

Use `/document-in-case` (if HUNT_CASE_ID provided).

Use `/generate-report` with `REPORT_TYPE="apt_hunt"`:

  • Hunt objective and hypothesis
  • Threat actor summary
  • TTPs investigated
  • IOCs searched
  • SIEM queries used
  • Findings (positive AND negative)
  • Recommendations

Step 8: Escalate or Conclude

**Confirmed threat found:** → Escalate to Incident Response → Create incident case

**No threat found:** → Document negative findings → Conclude hunt

Required Outputs

**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 |

Key Intelligence Sources

| 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` |

Critical Requirements

  • Document ALL queries used (for reproducibility)
  • Report negative findings (no hits is valuable intel)
  • Don't report false positives as confirmed threats
Read more
Ships withai-runbooks

This repository provides security operations runbooks and role-based guides for AI-assisted cybersecurity workflows.

Get the whole plugin

Other skills on ai-runbooks.