用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/dandye/adk_runbooks --skill investigate-gti-collection命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | investigate-gti-collection |
| description | Use when investigating a Google Threat Intelligence (GTI) Collection ID for threat context. |
| category | investigation |
| version | 1.0.0 |
| type | Skill |
| title | Skill: Investigate Google Threat Intelligence Collection ID (Enhanced) |
| generated | {"by":"process:google-labs-jules","at":"2026-08-20T02:00:00Z"} |
Objective: Investigate Google Threat Intelligence Collection ID provided by the user ${COLLECTION_ID}. Enrich findings with detailed entity reports and correlate with the local environment (SIEM/SOAR). Create a timestamped markdown report summarizing findings, correlations, and recommended actions.
Instructions:
Initial Collection Context:
get_collection_report tool from the Google Threat Intelligence MCP server (gti-mcp).id: ${COLLECTION_ID}.collection_type.Define Relationships to Investigate:
collection_type (from Step 1), determine a prioritized list of relevant relationships. (Default: ["associations", "attack_techniques", "domains", "files", "ip_addresses", "urls", "threat_actors", "malware_families", "software_toolkits", "campaigns", "vulnerabilities", "reports", "suspected_threat_actors"], but can be narrowed). Let's call this RELATIONSHIP_LIST.Iterative GTI Relationship Investigation:
gti_findings) to store results.relationship_name in RELATIONSHIP_LIST.get_entities_related_to_a_collection tool (gti-mcp).id: ${COLLECTION_ID}, relationship_name: current relationship name.gti_findings under the corresponding relationship_name.Detailed GTI Entity Enrichment:
enriched_entities) to store detailed reports.gti_findings (e.g., domains, files, ip_addresses).get_domain_report (gti-mcp) with the domain name. Store the result.get_file_report (gti-mcp) with the hash. Store the result.get_ip_address_report (gti-mcp) with the IP. Store the result.get_url_report).Local Environment Correlation (SIEM/SOAR):
local_findings) to store correlation results.gti_findings).lookup_entity (secops-mcp) with entity_value = IOC. Store summary.search_security_events (secops-mcp) with text query related to the IOC (e.g., "Events involving IP 1.2.3.4"). Store key event findings.list_cases (secops-soar) with appropriate filters).Data Synthesis and Formatting:
gti_findings and enriched_entities:
lookup_entity and search_security_events for each checked IOC. Highlight any matches or significant activity.Report Creation:
${timestamp}, e.g., yyyymmdd_hhmm).report_name_var (e.g., enhanced_report_${COLLECTION_ID}_${timestamp}.md).report_contents_var.write_report tool.report_name=${report_name_var}, report_contents=${report_contents_var}.graph TD
START(["START"]) --> extract_gti_collection_payload_node["1. extract_gti_collection_payload_node<br/><i>(Extract GTI Collection ID Payload)</i>"]
extract_gti_collection_payload_node --> fetch_gti_collection_report_node["2. fetch_gti_collection_report_node<br/><i>(Fetch GTI Collection Intel & SIEM Correlation)</i>"]
fetch_gti_collection_report_node --> gti_collection_investigation_router{"3. gti_collection_investigation_router<br/><i>(Event.actions.route)</i>"}
gti_collection_investigation_router -- "ACTIVE_CAMPAIGN_DETECTED" --> handle_active_campaign_branch["4a. handle_active_campaign_branch<br/><i>(Document Active Campaign Matches)</i>"]
gti_collection_investigation_router -- "NO_SIEM_MATCH" --> handle_no_siem_match_branch["4b. handle_no_siem_match_branch<br/><i>(Document No SIEM Matches)</i>"]
handle_active_campaign_branch --> document_gti_collection_report_node["5. document_gti_collection_report_node<br/><i>(SOAR Comment & Report Summary)</i>"]
handle_no_siem_match_branch --> document_gti_collection_report_node
sequenceDiagram
participant User
participant AutomatedAgent as Automated Agent (MCP Client)
participant GTI as gti-mcp
participant SIEM as secops-mcp
participant SOAR as secops-soar
User->>AutomatedAgent: Investigate GTI Collection ID `${COLLECTION_ID}` (Enhanced)
%% Step 1: Initial Collection Context
AutomatedAgent->>GTI: get_collection_report(id=`${COLLECTION_ID}`)
GTI-->>AutomatedAgent: Collection Details (Type: T)
%% Step 2 & 3: Define & Investigate Relationships
Note over AutomatedAgent: Determine RELATIONSHIP_LIST based on Type T
loop For each relationship_name in RELATIONSHIP_LIST
AutomatedAgent->>GTI: get_entities_related_to_a_collection(id=`${COLLECTION_ID}`, relationship_name=...)
GTI-->>AutomatedAgent: Related Entities (E1, E2...) for relationship
Note over AutomatedAgent: Store entities in gti_findings
end
%% Step 4: Detailed GTI Entity Enrichment
Note over AutomatedAgent: Initialize enriched_entities
loop For each key Entity Ei in gti_findings (Files, Domains, IPs)
alt Entity is File (Hash H)
AutomatedAgent->>GTI: get_file_report(hash=H)
GTI-->>AutomatedAgent: File Report for H
Note over AutomatedAgent: Store in enriched_entities
else Entity is Domain (D)
AutomatedAgent->>GTI: get_domain_report(domain=D)
GTI-->>AutomatedAgent: Domain Report for D
Note over AutomatedAgent: Store in enriched_entities
else Entity is IP Address (IP)
AutomatedAgent->>GTI: get_ip_address_report(ip_address=IP)
GTI-->>AutomatedAgent: IP Report for IP
Note over AutomatedAgent: Store in enriched_entities
end
end
%% Step 5: Local Environment Correlation
Note over AutomatedAgent: Initialize local_findings
loop For each key IOC Ii from gti_findings (Files, Domains, IPs)
AutomatedAgent->>SIEM: lookup_entity(entity_value=Ii)
SIEM-->>AutomatedAgent: SIEM Entity Summary for Ii
Note over AutomatedAgent: Store in local_findings
AutomatedAgent->>SIEM: search_security_events(text="Events involving Ii")
SIEM-->>AutomatedAgent: Relevant SIEM Events for Ii
Note over AutomatedAgent: Store in local_findings
end
%% Optional SOAR Check (Conceptual)
%% AutomatedAgent->>SOAR: list_cases(filter="Related to Campaign/Actor from GTI")
%% SOAR-->>AutomatedAgent: Potentially related SOAR cases
%% Step 6 & 7: Synthesize Report and Write File
Note over AutomatedAgent: Synthesize report content (report_contents_var) from gti_findings, enriched_entities, local_findings
Note over AutomatedAgent: Include Key Findings & Recommendations
Note over AutomatedAgent: Construct report_name_var (e.g., enhanced_report_${COLLECTION_ID}_${timestamp}.md)
AutomatedAgent->>AutomatedAgent: write_report(report_name=report_name_var, report_contents=report_contents_var)
Note over AutomatedAgent: Report file created
AutomatedAgent->>User: attempt_completion(result="Enhanced investigation complete. Report generated.")
## Rubrics
The following rubric is used to evaluate the execution of this **Threat Hunt/Analysis** runbook by an LLM agent.
### Grading Scale (0-100 Points)
| 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. |
### Evaluation Criteria Details
#### 1. Scope & Query (25 Points)
- **10 pts**: Correctly defined the time range and entities/indicators for the hunt.
- **15 pts**: Constructed and executed valid, efficient queries to retrieve relevant data.
#### 2. Data Analysis (30 Points)
- **15 pts**: Effectively analyzed the returned data for the hypothesized threat.
- **15 pts**: Correlated events or indicators to strengthen the analysis.
#### 3. Findings (15 Points)
- **15 pts**: Correctly classified the findings and provided evidence for the conclusion.
#### 4. Documentation (15 Points)
- **15 pts**: Recorded the hunt process, queries used, and findings in the system of record.
#### 5. Operational Artifacts (15 Points)
- **5 pts**: **Sequence Diagram**: Produced a Mermaid sequence diagram visualizing the steps taken.
- **5 pts**: **Execution Metadata**: Recorded the date, duration, and estimated token cost.
- **5 pts**: **Summary Report**: Generated a concise summary of the actions and outcomes.