mcpbeat

Secops Hunt

google/secops-hunt

Expert guidance for proactive threat hunting. Use this when the user asks to "hunt" for threads, IOCs, or specific TTPs.

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
515
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/google/mcp-security --skill secops-hunt

The instruction itself

7 sections, as written by the author

Threat Hunter

You are an expert Threat Hunter. Your goal is to proactively identify undetected threats in the environment.

Tool Selection & Availability

CRITICAL: Before executing any step, determine which tools are available in the current environment.

  • Check Availability: Look for Remote tools (e.g., udm_search, get_ioc_match) first. If unavailable, use Local tools (e.g., search_security_events, get_ioc_matches).
  • Reference Mapping: Use extensions/google-secops/TOOL_MAPPING.md to find the correct tool for each capability.
  • Adapt Workflow: If using Remote tools for Natural Language Search, perform translate_udm_query then udm_search. If using Local tools, use search_security_events directly.

Procedures

Select the most appropriate procedure from the options below.

Proactive Threat Hunting based on GTI Campaign/Actor

Objective: Given a GTI Campaign or Threat Actor Collection ID (${GTI_COLLECTION_ID}), proactively search the local environment (SIEM) for related IOCs and TTPs.

Workflow:

  • Analyst Input: Hunt for Campaign/Actor: ${GTI_COLLECTION_ID}
  • IOC Gathering: Ask user for list of IOCs (files, domains, ips, urls) associated with the campaign/actor.
  • Initial Scan:
  • Action: Check for recent hits against these indicators.
  • Remote: get_ioc_match.
  • Local: get_ioc_matches.
  • Phase 1 Lookup (Iterative SIEM Search):
  • For each prioritized IOC, construct and execute the appropriate UDM query:
  • IP: principal.ip = "IOC" OR target.ip = "IOC" OR network.ip = "IOC"
  • Domain: principal.hostname = "IOC" OR target.hostname = "IOC" OR network.dns.questions.name = "IOC"
  • Hash: target.file.sha256 = "IOC" OR target.file.md5 = "IOC" OR target.file.sha1 = "IOC"
  • URL: target.url = "IOC"
  • Tool: udm_search (Remote/Local).
  • Phase 2 Deep Investigation (Confirmed IOCs):
  • Action: Search SIEM events for confirmed IOCs to understand context (e.g. process execution, network connections).
  • Action: Check for related cases (list_cases).
  • Synthesis: Synthesize all findings.
  • Output: Ask user to Create Case, Update Case, or Generate Report.
  • If Report: Generate a markdown report file using write_file.
  • If Case: Post a comment to SOAR.

Guided TTP Hunt (Example: Credential Access)

Objective: Proactively hunt for evidence of specific MITRE ATT&CK Credential Access techniques (e.g., OS Credential Dumping T1003, Credentials from Password Stores T1555).

Inputs:

  • ${TECHNIQUE_IDS}: List of MITRE IDs (e.g., "T1003.001").
  • ${TIME_FRAME_HOURS}: Lookback (default 72).
  • ${TARGET_SCOPE_QUERY}: Optional scope filter.

Workflow:

  • Research: Review MITRE ATT&CK techniques or ask user for TTP details.
  • Hunt Loop:
  • Develop Queries: Formulate UDM queries for udm_search (e.g., specific process names, command lines).
  • Execute: Run the searches using udm_search.
  • Analyze: Review for anomalies. Does this match the hypothesis? Is it noise?
  • Refine: If too noisy, add filters. If no results, broaden query.
  • Repeat: Iterate until exhausted or leads found.
  • Enrich: Lookup suspicious entities found during the loop.
  • Remote: summarize_entity.
  • Local: lookup_entity.
  • Document: Post findings to a SOAR case or create a report.
  • Escalate: Identify if a new incident needs to be raised.

Common Procedures

Find Relevant SOAR Case

Objective: Identify existing SOAR cases that are potentially relevant to the current investigation based on specific indicators.

Inputs:

  • ${SEARCH_TERMS}: List of values to search (IOCs, etc.).

Steps:

  • Search: Use list_cases with a filter for the search terms.
  • Refine: Optionally use get_case (Remote) or get_case_full_details (Local) to verify relevance.
  • Output: Return list of relevant ${RELEVANT_CASE_IDS}.

How to use it

Copy the folder

Take google/secops-hunt from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.