triage-malware

$npx mdskill add dandye/ai-runbooks/triage-malware

Analyze malware hashes to detect threats and suggest containment.

  • Accelerates incident response by identifying affected hosts and threat actors.
  • Depends on GTI Enterprise, SOAR, and Chronicle for data access.
  • Recommends actions based on detection ratios, behavioral indicators, and MITRE TTPs.
  • Delivers structured reports on network IOCs, file changes, and registry modifications.
SKILL.md
.github/skills/triage-malwareView on GitHub ↗
---
name: triage-malware
description: "Triage a suspected malicious file hash. Use when investigating malware alerts or suspicious files. Analyzes GTI file report, behavioral indicators, identifies affected hosts, enriches network IOCs, and recommends containment actions."
required_roles:
  chronicle: roles/chronicle.viewer
  soar: roles/chronicle.editor
  gti: GTI Enterprise
personas: [tier2-analyst, tier3-analyst, incident-responder]
---

# Malware Triage Skill

Perform initial analysis and context gathering for a suspected malicious file hash identified during an investigation or alert.

## Inputs

- `FILE_HASH` - MD5, SHA1, or SHA256 hash of the suspected file
- `CASE_ID` - SOAR case ID for documentation
- `ALERT_GROUP_IDENTIFIERS` - Alert group identifiers from the case
- *(Optional)* `TIME_FRAME_HOURS` - Lookback period (default: 72)

## Workflow

### Step 1: Get Case Context

```
secops-soar.get_case_full_details(case_id=CASE_ID)
```

### Step 2: GTI File Report

```
gti-mcp.get_file_report(hash=FILE_HASH)
```

Record:
- Detection ratio (e.g., 45/70 engines)
- Malware family classification
- First/last seen dates
- Associated threat actors or campaigns

### Step 3: GTI Behavior Summary

```
gti-mcp.get_file_behavior_summary(hash=FILE_HASH)
```

Extract behavioral indicators:
- **Network**: Contacted IPs/domains → `NETWORK_IOCs_GTI`
- **File system**: Dropped files, modified files
- **Registry**: Modified keys
- **MITRE TTPs**: Observed techniques from sandbox

### Step 4: SIEM Execution Check

Search for file execution events:

```
secops-mcp.search_security_events(
    text='target.file.sha256 = "FILE_HASH" OR target.file.md5 = "FILE_HASH"',
    hours_back=TIME_FRAME_HOURS
)
```

Look for: `PROCESS_LAUNCH`, `FILE_CREATION`, `FILE_MODIFICATION`

Identify:
- `AFFECTED_HOSTS` - Machines where file was seen
- `AFFECTED_USERS` - Users who executed/accessed the file

### Step 5: SIEM Network Activity

Search for network connections from processes with this hash:

```
secops-mcp.search_security_events(
    text='principal.process.file.sha256 = "FILE_HASH"',
    hours_back=TIME_FRAME_HOURS
)
```

Extract: `NETWORK_IOCs_SIEM` (contacted IPs/domains)

### Step 6: Enrich Network IOCs

Combine `NETWORK_IOCs_GTI` + `NETWORK_IOCs_SIEM` → `ALL_NETWORK_IOCs`

For each network IOC, use `/enrich-ioc`:
- Check GTI reputation
- Check SIEM presence
- Check IOC match status

### Step 7: Check Related Cases

Use `/find-relevant-case` with:
```
SEARCH_TERMS = AFFECTED_HOSTS + AFFECTED_USERS + ALL_NETWORK_IOCs
```

### Step 8: Synthesize & Document

Use `/document-in-case` with assessment:

```
Malware Triage for Hash FILE_HASH:
- GTI Classification: [family, detection ratio]
- Behavior: [network, files, registry]
- Affected Hosts: [list]
- Network IOCs: [with enrichment]
- Related Cases: [list]

Assessment: [severity level]

Recommendation:
- [ ] Isolate affected hosts
- [ ] Block network IOCs
- [ ] Escalate to IR
- [ ] Monitor only
```

## Required Outputs

**After completing this skill, you MUST report these outputs:**

| Output | Description |
|--------|-------------|
| `MALWARE_CLASSIFICATION` | GTI verdict and malware family (e.g., "Emotet - Banking Trojan") |
| `BEHAVIORAL_IOCS` | Network IOCs from sandbox analysis (contacted IPs/domains) |
| `AFFECTED_HOSTS` | Hosts where this malware was executed or detected |
| `AFFECTED_USERS` | Users who executed or accessed the malware |
| `TRIAGE_VERDICT` | Overall verdict: `malicious`, `suspicious`, or `clean` |

## Severity Assessment Matrix

| Factor | Low | Medium | High | Critical |
|--------|-----|--------|------|----------|
| GTI Detection | < 5 engines | 5-20 engines | 20-50 engines | > 50 engines |
| Execution | Not executed | Downloaded only | Executed | Active C2 |
| Spread | Single host | 2-5 hosts | 5-20 hosts | > 20 hosts |
| Network IOCs | None observed | Benign | Suspicious | Known malicious |
| Data at Risk | None | Low value | PII/credentials | Critical systems |

## Recommended Actions by Severity

**Critical/High:**
1. Immediately isolate affected hosts
2. Block network IOCs at firewall
3. Escalate to Incident Response
4. Preserve forensic evidence

**Medium:**
1. Monitor affected hosts closely
2. Block known malicious IOCs
3. Schedule endpoint scan
4. Escalate to Tier 2

**Low:**
1. Document findings
2. Monitor for recurrence
3. Close with detailed notes
More from dandye/ai-runbooks