Respond to a malware incident following PICERL methodology. Use when malware is detected on endpoints. Orchestrates triage, containment, eradication, and recovery. Works with triage-malware skill for analysis.
73
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Structured workflow for responding to suspected malware incidents using the PICERL model.
CASE_ID - SOAR case ID for the incidentALERT_GROUP_IDENTIFIERS - Alert group identifiers from SOARINITIAL_INDICATORS - Details from initial alerts:
After completing each phase, you MUST report these outputs:
| Output | Description |
|---|---|
AFFECTED_HOSTS | Hosts with confirmed malware |
MALWARE_SAMPLES | File hashes requiring triage/analysis |
MALWARE_IOCS | Network indicators (IPs, domains, URLs) |
AFFECTED_USERS | Users who executed/accessed malware |
| Output | Description |
|---|---|
ISOLATED_HOSTS | Hosts successfully isolated from network |
BLOCKED_IOCS | IOCs blocked at firewall/proxy |
| Output | Description |
|---|---|
CLEANED_HOSTS | Hosts with malware removed |
REMOVED_PERSISTENCE | Persistence mechanisms removed |
| Output | Description |
|---|---|
RESTORED_HOSTS | Hosts restored to operational state |
VALIDATION_STATUS | Post-recovery scan results |
Step 2.1: Initial Triage
Use /triage-alert with CASE_ID for initial assessment.
secops-soar.get_case_full_details(case_id=CASE_ID)Use /check-duplicates.
Step 2.2: Malware Triage
If file hash is primary indicator:
Use /triage-malware:
/triage-malware FILE_HASH=abc123 CASE_ID=1234This provides:
Step 2.3: IOC Enrichment
For other key IOCs (IPs, domains, URLs):
Use /enrich-ioc for each.
Step 2.4: Initial Scope Assessment
Compile:
AFFECTED_ENDPOINTS - Hosts with malwareAFFECTED_USERS - Users who executed/accessedMALICIOUS_IOCs - Network indicatorsUse /document-in-case with findings.
Step 3.1: Endpoint Isolation
For each endpoint in AFFECTED_ENDPOINTS:
Use /confirm-action:
"Isolate endpoint [HOSTNAME] from network?"
If confirmed, execute isolation via EDR.
Step 3.2: Network IOC Containment
For each IOC in MALICIOUS_IOCs:
Use /confirm-action:
"Block [IOC_TYPE] [VALUE] at firewall/proxy?"
If confirmed, implement blocks.
Step 3.3: User Account Containment
If compromised user involved:
Trigger /respond-compromised-account
Step 3.4: Verify Containment
Monitor for continued activity:
secops-mcp.search_security_events(
text="Activity from contained IOCs or endpoints",
hours_back=1
)Use /document-in-case with containment status.
Step 4.1: Identify Persistence
From /triage-malware results and GTI behavior summary, identify:
Step 4.2: Remove Malware & Persistence
(Requires EDR/endpoint tools)
Execute removal plan:
Step 4.3: Scan for Residual Infection
(Requires EDR/AV tools)
Perform thorough scans post-eradication.
Use /document-in-case with eradication results.
Step 5.1: Determine Recovery Strategy
Based on severity and admin rights involved:
| Factor | Rebuild | Clean |
|---|---|---|
| Admin rights compromised | ✅ | ❌ |
| Unknown malware | ✅ | ❌ |
| Known commodity malware | Consider | ✅ |
| High confidence eradication | Consider | ✅ |
Step 5.2: Execute Recovery
(Involves IT Ops/System Admins)
Step 5.3: Monitor Recovered Systems
Closely monitor for 24-72 hours post-recovery:
Step 5.4: Lift Containment
Gradually remove isolation once confidence is high.
Use /document-in-case with recovery status.
Use /generate-report with:
Conduct review:
| Phase | Key Question | Action |
|---|---|---|
| Identification | What is it? | /triage-malware |
| Identification | Where is it? | SIEM search |
| Containment | Stop the spread | Isolate endpoints |
| Containment | Block C2 | Block network IOCs |
| Eradication | Remove it | EDR remediation |
| Recovery | Restore ops | Rebuild or clean |
67a00be
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.