用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/dandye/adk_runbooks --skill find-relevant-soar-case命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 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 | find-relevant-soar-case |
| description | Use when searching SOAR for active or historical cases relevant to an alert or investigation. |
| category | common |
| version | 1.0.0 |
| type | Skill |
| title | Skill: Common Step: Find Relevant SOAR Case |
| generated | {"by":"human:dandye","at":"2025-11-10T22:21:35.000Z"} |
Identify existing SOAR cases that are potentially relevant to the current investigation based on specific indicators (e.g., IOCs, hostnames, usernames).
This sub-runbook executes searches within the SOAR platform's case list based on provided search terms. It returns a list of potentially relevant case IDs. It may involve retrieving basic details for filtering if many initial matches are found.
${SEARCH_TERMS}: A list of values to search for within cases (e.g., ["e323c6aee8b172b57203a7e478c1caca", "mikeross-pc"]).${SEARCH_FIELDS}: A list of fields to search within (e.g., ["entity", "displayName", "description"]). Defaults may vary based on SOAR capabilities.${CASE_STATUS_FILTER}: Filter for case status (e.g., "Opened", "Closed"). Defaults to "Opened".${TIME_FRAME_HOURS}: Lookback period for case creation/update time (if supported by the filter).${MAX_RESULTS}: Maximum number of cases to return.${RELEVANT_CASE_IDS}: A list of case IDs identified as potentially relevant.${RELEVANT_CASE_SUMMARIES}: (Optional) A list of brief summaries (ID, DisplayName, Priority) for the found cases.${FIND_CASE_STATUS}: Confirmation or status of the search attempt(s).secops-soar: list_casessecops-soar: get_case_full_details (Potentially used internally if initial list is large and needs filtering based on deeper entity checks)${SEARCH_TERMS} and optional filters from the calling runbook. Initialize ${RELEVANT_CASE_IDS} and ${RELEVANT_CASE_SUMMARIES} as empty.soar-mcp_list_cases tool based on ${SEARCH_TERMS}, ${SEARCH_FIELDS}, ${CASE_STATUS_FILTER}, and ${TIME_FRAME_HOURS}. Note: The exact filter construction is highly dependent on the specific SOAR API capabilities exposed by the list_cases tool. This might involve searching across multiple fields or making multiple calls if necessary.
soar-mcp_list_cases tool may have limited or no capability to directly filter cases based on the presence of specific entity values (like IPs, hostnames, users) within the case's alerts or events. Filters might only apply to top-level case fields (e.g., name, description, status).get_case_full_details.soar-mcp_list_cases with the constructed filter and ${MAX_RESULTS}.${RELEVANT_CASE_IDS} and summaries in ${RELEVANT_CASE_SUMMARIES}.get_case_full_details on a subset to perform more specific checks (e.g., verify if a specific entity is truly present within the alerts/events of the case) and refine the ${RELEVANT_CASE_IDS} list.${FIND_CASE_STATUS} based on the success/failure of the API calls. Return ${RELEVANT_CASE_IDS}, ${RELEVANT_CASE_SUMMARIES}, and ${FIND_CASE_STATUS} to the calling runbook.sequenceDiagram
participant CallingRunbook
participant FindCase as find_relevant_soar_case.md (This Runbook)
participant SOAR as secops-soar
CallingRunbook->>FindCase: Execute Find Relevant Case\nInput: SEARCH_TERMS, FILTERS (opt)...
%% Step 2: Construct Filter
Note over FindCase: Construct filter for list_cases based on SEARCH_TERMS and filters
%% Step 3: Execute Search
FindCase->>SOAR: list_cases(filter=..., limit=MAX_RESULTS)
SOAR-->>FindCase: List of potentially relevant cases
%% Step 4: Process Results
Note over FindCase: Extract IDs and Summaries into RELEVANT_CASE_IDS, RELEVANT_CASE_SUMMARIES
%% Step 5: Optional Refinement (Conceptual)
opt Initial results need refinement
loop For subset of found cases
FindCase->>SOAR: get_case_full_details(case_id=...)
SOAR-->>FindCase: Detailed Case Info
Note over FindCase: Filter RELEVANT_CASE_IDS based on details
end
end
%% Step 6: Return Results
Note over FindCase: Set FIND_CASE_STATUS
FindCase-->>CallingRunbook: Return Results:\nRELEVANT_CASE_IDS,\nRELEVANT_CASE_SUMMARIES,\nFIND_CASE_STATUS
The list_cases search has been attempted based on the provided terms. A list of potentially relevant case IDs (${RELEVANT_CASE_IDS}) and summaries (${RELEVANT_CASE_SUMMARIES}), along with the status (${FIND_CASE_STATUS}), are available.