用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/dandye/adk_runbooks --skill ioc-threat-hunt命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Use when evaluating threat detection opportunities (TDOs), generating synthetic UDM events, evaluating Chronicle rule coverage, and drafting YARA-L 2.0 rules.
Use when hunting for advanced persistent threat (APT) actor activity, tools, and infrastructure.
Use when hunting for lateral movement via PsExec, WMI, remote scheduled tasks, or WinRM.
正在显示 SKILL.md
| name | ioc-threat-hunt |
| description | Use when sweeping organizational logs and telemetry for specific indicators of compromise. |
| category | hunting |
| version | 1.0.0 |
| type | Skill |
| title | Skill: IOC Threat Hunt |
| generated | {"by":"process:google-labs-jules","at":"2025-12-21T03:04:42.000Z"} |
To proactively hunt for specific Indicators of Compromise (IOCs) across the environment. This hunt is typically based on threat intelligence feeds, IOCs identified from recent incidents, or specific hypotheses regarding potential threats. The goal is to identify any presence or activity related to these IOCs within the defined timeframe.
This runbook covers:
get_ioc_matches).This runbook explicitly excludes:
${IOC_LIST}: Comma-separated list of IOC values to hunt for (e.g., "1.2.3.4,evil.com,hash123"). This is mandatory.${IOC_TYPES}: Corresponding comma-separated list of IOC types for each IOC in ${IOC_LIST} (e.g., "IP Address,Domain,File Hash"). This is mandatory.${HUNT_TIMEFRAME_HOURS}: Lookback period in hours for SIEM searches (e.g., 72, 168). Defaults to 72 if not specified.${HUNT_CASE_ID}: SOAR case ID for tracking the hunt activities and findings. If not provided, a new case might be recommended or findings documented locally.${REASON_FOR_HUNT}: Brief description of why these IOCs are being hunted (e.g., "From TI report XYZ", "Related to incident ABC").${SIEM_SEARCH_RESULTS}: Collection of results from secops-mcp_search_security_events for each IOC.${ENRICHMENT_DATA}: Collection of enrichment details for IOCs with hits and associated entities.${HUNT_FINDINGS_SUMMARY}: A summary of the hunt, including IOCs searched, hits found, key enrichment details, and whether escalation occurred.${DOCUMENTATION_STATUS}: Status of documenting the hunt in the SOAR case (if ${HUNT_CASE_ID} was provided).${ESCALATION_STATUS}: Indicates if confirmed malicious activity was found and escalated.secops-mcp: search_security_events, lookup_entity, get_ioc_matchesgti-mcp: (Relevant enrichment tools like get_ip_address_report, get_domain_report, etc.)secops-soar: post_case_comment (for documenting hunt/findings)${IOC_LIST}, ${IOC_TYPES}, ${HUNT_TIMEFRAME_HOURS}, etc.secops-mcp_get_ioc_matches to see if any IOCs in the list have recent matches in the SIEM's integrated feeds.${IOC_LIST}:
secops-mcp_search_security_events based on the IOC value and type.${HUNT_TIMEFRAME_HOURS}.secops-mcp_lookup_entity for the IOC and any involved entities (hosts, users).gti-mcp tools to enrich the IOC itself.soar-mcp_post_case_comment in ${HUNT_CASE_ID} (if provided) or a dedicated hunt case.graph TD
START(["START"]) --> extract_ioc_hunt_payload_node["1. extract_ioc_hunt_payload_node<br/><i>(Extract Target IOCs Payload)</i>"]
extract_ioc_hunt_payload_node --> execute_ioc_siem_search_node["2. execute_ioc_siem_search_node<br/><i>(Iterative SIEM Search Across IOC List)</i>"]
execute_ioc_siem_search_node --> ioc_hunt_router{"3. ioc_hunt_router<br/><i>(Event.actions.route)</i>"}
ioc_hunt_router -- "IOC_MATCHES_FOUND" --> handle_ioc_matches_found_branch["4a. handle_ioc_matches_found_branch<br/><i>(Contain Assets & Block Matched IOCs)</i>"]
ioc_hunt_router -- "NO_IOC_MATCHES" --> handle_no_ioc_matches_branch["4b. handle_no_ioc_matches_branch<br/><i>(Document Clean Hunt Outcome)</i>"]
handle_ioc_matches_found_branch --> document_ioc_hunt_report_node["5. document_ioc_hunt_report_node<br/><i>(SOAR Comment & Report Summary)</i>"]
handle_no_ioc_matches_branch --> document_ioc_hunt_report_node
sequenceDiagram
participant Analyst/Hunter
participant AutomatedAgent as Automated Agent (MCP Client)
participant SIEM as secops-mcp
participant GTI as gti-mcp
participant SOAR as secops-soar
Analyst/Hunter->>AutomatedAgent: Start IOC Threat Hunt\nInput: IOC_LIST, IOC_TYPES, HUNT_TIMEFRAME_HOURS, ...
%% Step 2: Initial Check (Optional)
opt Check IOC Matches
AutomatedAgent->>SIEM: get_ioc_matches(hours_back=HUNT_TIMEFRAME_HOURS)
SIEM-->>AutomatedAgent: Recent IOC Matches
Note over AutomatedAgent: Correlate with IOC_LIST
end
%% Step 3: Iterative SIEM Search
loop For each IOC Ii in IOC_LIST
Note over AutomatedAgent: Construct UDM query Qi for Ii
AutomatedAgent->>SIEM: search_security_events(text=Qi, hours_back=HUNT_TIMEFRAME_HOURS)
SIEM-->>AutomatedAgent: Search Results for Ii
Note over AutomatedAgent: Analyze results for hits
end
%% Step 4: Enrich Findings
opt Hits Found for IOC Ij (Involved Entities E1, E2...)
AutomatedAgent->>SIEM: lookup_entity(entity_value=Ij)
SIEM-->>AutomatedAgent: SIEM Summary for Ij
AutomatedAgent->>GTI: get_..._report(ioc=Ij)
GTI-->>AutomatedAgent: GTI Enrichment for Ij
loop For each Involved Entity Ek (E1, E2...)
AutomatedAgent->>SIEM: lookup_entity(entity_value=Ek)
SIEM-->>AutomatedAgent: SIEM Summary for Ek
end
end
%% Step 5: Document Hunt
AutomatedAgent->>SOAR: post_case_comment(case_id=HUNT_CASE_ID, comment="IOC Hunt Summary: IOCs [...], Findings [...], Enrichment [...]")
SOAR-->>AutomatedAgent: Comment Confirmation
%% Step 6: Escalate or Conclude
alt Confirmed Activity Found
Note over AutomatedAgent: Escalate findings (Create/Update Incident Case)
AutomatedAgent->>Analyst/Hunter: attempt_completion(result="IOC Hunt complete. Findings escalated.")
else No Significant Findings
AutomatedAgent->>Analyst/Hunter: attempt_completion(result="IOC Hunt complete. No significant findings. Hunt documented.")
end
(Define how successful completion is determined, e.g., All IOCs searched, results analyzed, findings documented/escalated.)
The following rubric is used to evaluate the execution of this Threat Hunt/Analysis runbook by an LLM agent.
| Criteria | Points | Description |
|---|---|---|
| Scope & Query | 25 | Defined a clear scope and executed effective queries (UDM, search). |
| Data Analysis | 30 | Analyzed results to identify patterns, anomalies, or malicious behavior. |
| Findings | 15 | Accurately identified and filtered findings (True Positives vs. False Positives). |
| Documentation | 15 | Documented the hunt methodology and results clearly. |
| Operational Artifacts | 15 | Produced required artifacts: Sequence diagram, execution metadata (date/cost), and summary. |