Install any skill in seconds. Free to start, no credit card required.
Get Started Free →IR playbook execution, evidence collection, forensic timeline analysis, memory forensics, and post-incident reporting following NIST SP 800-61 and SANS PICERL methodology
.claude/skills/masriyan-incident-response-digital-forensics/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 180% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 202% | 0% |
| case-22 | ✓→✓ | = Same ✓ | 257% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 154% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 257% | 0% |
Enable Claude to assist with structured incident response operations following NIST SP 800-61 and the SANS PICERL framework. Claude generates IR playbooks, guides evidence collection with chain of custody, constructs forensic timelines, interprets memory forensics output, and produces post-incident reports.
This skill activates when the user asks about:
bashpip install pyyaml jinja2 pandas python-dateutil
Recommended DFIR tools:
Volatility 3 — Memory forensics frameworkAutopsy / Sleuth Kit — Disk forensicsplaso / log2timeline — Supertimeline generationKAPE — Evidence collection (Windows)Velociraptor — Enterprise-scale endpoint forensicsFTK Imager — Forensic imaging (Windows)dd / dcfldd / dc3dd — Disk imaging (Linux)Every IR engagement follows the PICERL lifecycle:
| Phase | Key Actions | Skill Outputs | |-------|------------|---------------| | Preparation | Verify tools, comms, access | Readiness checklist | | Identification | Confirm incident, scope, severity | Incident classification | | Containment | Isolate systems, stop spread | Containment actions list | | Eradication | Remove threat, close access | Eradication checklist | | Recovery | Restore systems, verify integrity | Recovery runbook | | Lessons Learned | Post-incident review | IR report + improvements |
When the user asks to create a playbook for a specific incident type:
Claude generates detailed, role-assigned playbooks in this structure:
Ransomware Response Playbook (Example):
markdown# IR Playbook: Ransomware Attack Version: 2.0 | Owner: SOC Manager | Review: Quarterly ## Trigger Conditions - Multiple encrypted files discovered (ransom extension detected) - Ransom note found on file shares or desktop - EDR alert for mass file modification activity - User reports files inaccessible with unfamiliar extensions ## Severity Classification - CRITICAL: Domain controller / backup infrastructure affected - HIGH: Production servers / business-critical data affected - MEDIUM: Isolated workstation, contained environment --- ## Phase 1: Identification (Target: 15 minutes) **IR Lead:** - [ ] Confirm incident is ransomware (verify encrypted files + ransom note) - [ ] Determine initial infection vector (phishing? RDP? Supply chain?) - [ ] Identify Patient Zero — first encrypted system - [ ] Assess scope: How many systems? Which business units? - [ ] Declare incident severity and notify stakeholders - [ ] Open incident ticket and begin documentation **Forensics:** - [ ] DO NOT REBOOT infected systems (preserve volatile evidence) - [ ] Capture memory dump: `winpmem_mini_x64_rc2.exe output.raw` - [ ] Collect running processes: `tasklist /v > processes.txt` - [ ] Collect network connections: `netstat -ano > netstat.txt` ## Phase 2: Containment (Target: 30 minutes) **Network Team:** - [ ] Isolate affected systems (pull network cable or quarantine in VLAN) - [ ] Block identified C2 IPs/domains at perimeter firewall - [ ] Disable RDP externally if RDP was the initial vector - [ ] Preserve network capture if encryption is still occurring **Active Directory:** - [ ] Identify all accounts used by the ransomware (service accounts, domain accounts) - [ ] Reset passwords for all potentially compromised accounts - [ ] Revoke active sessions for affected accounts - [ ] Check for newly created privileged accounts ## Phase 3: Eradication - [ ] Identify all persistence mechanisms (registry, services, scheduled tasks) - [ ] Remove all malicious artifacts - [ ] Verify no backdoors remain (check with Autoruns, process scanning) - [ ] Patch the exploited vulnerability if one was used ## Phase 4: Recovery - [ ] Restore from clean backup (verified pre-infection) - [ ] Validate backup integrity before restoration - [ ] Rebuild from gold image if backup compromised - [ ] Verify data integrity after restoration - [ ] Phased return to production ## Phase 5: Lessons Learned (Within 2 weeks) - [ ] Full incident timeline documented - [ ] Root cause identified and remediated - [ ] Detection gaps addressed - [ ] CSOC playbook updated - [ ] Management report delivered
Other supported playbook types:
When the user asks to collect forensic evidence:
Order of Volatility (most volatile → least volatile):
1. CPU registers and cache
2. Routing tables, ARP cache, process table
3. Memory (RAM) — ALWAYS capture first
4. Temporary file systems, swap space
5. Running processes and open files
6. Network connections and open ports
7. Disk images
8. Log files (local + remote SIEM)
9. Physical mediaEvidence Collection Commands:
bash# Windows — Live acquisition winpmem_mini_x64_rc2.exe memory.raw # Memory dump tasklist /svc > processes.txt # Running processes netstat -ano > connections.txt # Network connections wmic process get caption,processid,parentprocessid,commandline > process_full.txt reg export HKLM reg_hklm.reg # Registry dir /s /a "C:\Users\*\AppData\Roaming\*" > appdata.txt # Linux — Live acquisition sudo avml /tmp/memory.lime # Memory dump (avml) ps auxf > processes.txt # Process tree netstat -tulnap > connections.txt # Network connections cat /proc/*/cmdline | strings > process_cmdlines.txt ls -la /tmp/ /var/tmp/ /dev/shm/ > temp_dirs.txt crontab -l -u root > crontabs.txt find / -mtime -7 -type f > recently_modified.txt # Modified in last 7 days
Chain of Custody Template:
markdown## Evidence Chain of Custody Form | Field | Value | |-------|-------| | Evidence ID | IR-2025-001-E01 | | Incident ID | IR-2025-001 | | Description | Memory dump from HOSTNAME (192.168.1.100) | | Collected by | [Analyst Name] | | Collection time | 2025-05-28 14:30 UTC | | Collection method | winpmem_mini_x64_rc2.exe | | MD5 hash | [hash of evidence file] | | SHA256 hash | [hash of evidence file] | | Storage location | \nas\ir\IR-2025-001\evidence\ | | Chain of custody | Analyst → Evidence Locker → Lab | **Access Log:** | Date/Time | Person | Purpose | Signature | |-----------|--------|---------|-----------| | 2025-05-28 14:30 | [Analyst] | Initial collection | [Sig] |
When the user asks to build an incident timeline:
bash python scripts/timeline_builder.py --logs ./collected_logs/ --output timeline.csv python scripts/timeline_builder.py --logs ./logs/ --format html --start "2025-05-20" --end "2025-05-28"
markdown## Incident Timeline — [Incident ID] [T-72h] 2025-05-25 09:15 UTC — DELIVERY Phishing email received: "Invoice_May2025.pdf.exe" from spoofed sender Mail log: SMTP delivery to user@victim.com from 185.x.x.x [T-48h] 2025-05-26 14:22 UTC — EXECUTION User executed attachment: Event 4688 (process creation) Parent: outlook.exe → Child: powershell.exe -enc [base64] [T-48h] 2025-05-26 14:22 UTC — C2 ESTABLISHED Outbound connection: 203.x.x.x:443 (beacon_interval: 60s) DNS query: malicious-c2.evil.com → 203.x.x.x [T-24h] 2025-05-27 02:00 UTC — LATERAL MOVEMENT PsExec from WORKSTATION01 to SERVER02 (admin$) Event 4624 (login type 3) on SERVER02 from WORKSTATION01 [T-2h] 2025-05-27 12:30 UTC — DATA EXFILTRATION Large POST request (450MB) to dropbox-like service [T-0h] 2025-05-28 14:00 UTC — DETECTION SOC analyst detected anomalous outbound transfer
When the user shares Volatility output or asks about memory forensics:
Essential Volatility 3 Commands:
bash# Process listing python vol.py -f memory.raw windows.pslist python vol.py -f memory.raw windows.pstree # Show parent-child python vol.py -f memory.raw windows.psscan # Find hidden processes # Network connections python vol.py -f memory.raw windows.netscan python vol.py -f memory.raw windows.netstat # DLL and module analysis python vol.py -f memory.raw windows.dlllist --pid [PID] python vol.py -f memory.raw windows.modscan # All loaded modules # Malware detection python vol.py -f memory.raw windows.malfind # Injected code python vol.py -f memory.raw windows.hollowfind # Process hollowing # Registry from memory python vol.py -f memory.raw windows.registry.hivelist python vol.py -f memory.raw windows.registry.printkey --key "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" # File artifacts python vol.py -f memory.raw windows.filescan python vol.py -f memory.raw windows.dumpfiles --physaddr [addr]
Suspicious Memory Indicators:
explorer.exe or svchost.exe with unusual parentwindows.malfindWhen the user asks for an IR report for management or compliance:
markdown# Post-Incident Report — [Incident ID] **Classification:** CONFIDENTIAL **Incident Type:** [Ransomware / Data Breach / etc.] **Severity:** [Critical / High / Medium] **Incident Window:** [Start] to [End] UTC **Systems Affected:** [Count and names] **Data Impact:** [Data at risk / confirmed exfiltrated] **Report Date:** [Date] **Report Author:** [IR Lead] --- ## 1. Executive Summary [3-4 sentences: what happened, how it happened, impact, and current status] ## 2. Incident Timeline [Key events table with timestamps] ## 3. Root Cause Analysis **Initial Vector:** [Phishing / Unpatched service / Credential theft / etc.] **Root Cause:** [Specific technical cause] **Contributing Factors:** - [Factor 1: e.g., no MFA on VPN] - [Factor 2: e.g., delayed patch deployment] ## 4. Impact Assessment - **Systems Compromised:** [List] - **Data Accessed/Exfiltrated:** [Description + quantity] - **Business Impact:** [Downtime hours, revenue impact, regulatory] - **Customer/Partner Impact:** [If applicable] ## 5. Containment & Remediation Actions [Chronological list of actions taken] ## 6. Compliance Notification Requirements - **GDPR:** [Required if EU personal data — 72-hour notification to DPA] - **HIPAA:** [Required if PHI — notify HHS within 60 days] - **PCI-DSS:** [Required if cardholder data — notify card brands immediately] - **State breach laws:** [Applicable laws and timelines] ## 7. Recommendations | Priority | Recommendation | Owner | Due Date | |----------|---------------|-------|---------| | Critical | Deploy MFA for all remote access | IT | 2025-06-01 | | High | Accelerate patch cycle for internet-facing systems | IT | 2025-06-15 | | Medium | Implement email attachment sandboxing | Security | 2025-07-01 | ## 8. Lessons Learned [What worked, what didn't, process improvements]
timeline_builder.pybashpython scripts/timeline_builder.py --logs ./collected_logs/ --output timeline.csv python scripts/timeline_builder.py --logs ./logs/ --format html --start "2025-05-20" --end "2025-05-28"
| Condition | Adjacent Skill | |-----------|---------------| | Alert received from SOC → activate IR | ← Skill 11 (CSOC Automation) | | Malware samples collected → analyze | → Skill 05 (Malware Analysis) | | IOCs extracted → hunt in environment | → Skill 06 (Threat Hunting) | | Log deep-dive needed | → Skill 12 (Log Analysis) |
Cloud- and identity-era IR:
Process rule (unchanged priority): follow NIST SP 800-61 / SANS PICERL; preserve chain of custody; in cloud/OT contexts weigh evidence preservation against service/safety continuity (→ Skill 18 for OT).
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-22 | pass→pass | 15,483 | 22,810 | +47% | 1 | 1 | 0% | 1,885 | 6,733 | +257% | 0 | 0 | — |
case-01 | fail→pass | 55,665 | 49,087 | -12% | 1 | 1 | 0% | 3,830 | 10,732 | +180% | 0 | 0 | — |
case-02 | pass→pass | 18,028 | 19,164 | +6% | 1 | 1 | 0% | 2,578 | 6,537 | +154% | 0 | 0 | — |
case-03 | fail→fail | 4,909 | 7,674 | +56% | 1 | 1 | 0% | 699 | 4,884 | +599% | 0 | 0 | — |
case-04 | pass→pass | 11,372 | 9,834 | -14% | 1 | 1 | 0% | 1,558 | 5,565 | +257% | 0 | 0 | — |
case-05 | pass→pass | 5,783 | 5,925 | +2% | 1 | 1 | 0% | 835 | 5,019 | +501% | 0 | 0 | — |
case-06 | pass→pass | 30,599 | 7,021 | -77% | 1 | 1 | 0% | 962 | 5,187 | +439% | 0 | 0 | — |
case-07 | pass→pass | 17,161 | 20,742 | +21% | 1 | 1 | 0% | 2,786 | 7,561 | +171% | 0 | 0 | — |
case-08 | pass→pass | 21,995 | 15,233 | -31% | 1 | 1 | 0% | 1,913 | 5,964 | +212% | 0 | 0 | — |
case-09 | pass→pass | 23,738 | 22,230 | -6% | 1 | 1 | 0% | 3,059 | 6,979 | +128% | 0 | 0 | — |
case-10 | fail→pass | 17,724 | 24,126 | +36% | 1 | 1 | 0% | 2,495 | 7,525 | +202% | 0 | 0 | — |
case-11 | fail→fail | 15,413 | 10,138 | -34% | 1 | 1 | 0% | 2,083 | 5,648 | +171% | 0 | 0 | — |
case-12 | pass→pass | 19,720 | 12,027 | -39% | 1 | 1 | 0% | 714 | 4,888 | +585% | 0 | 0 | — |
case-13 | pass→pass | 17,306 | 19,385 | +12% | 1 | 1 | 0% | 2,402 | 7,308 | +204% | 0 | 0 | — |
case-14 | pass→pass | 18,422 | 26,070 | +42% | 1 | 1 | 0% | 2,917 | 7,636 | +162% | 0 | 0 | — |
case-15 | pass→pass | 24,819 | 22,049 | -11% | 1 | 1 | 0% | 3,353 | 7,523 | +124% | 0 | 0 | — |
case-16 | pass→pass | 19,764 | 24,070 | +22% | 1 | 1 | 0% | 3,144 | 7,662 | +144% | 0 | 0 | — |
case-17 | pass→pass | 13,247 | 9,891 | -25% | 1 | 1 | 0% | 2,383 | 5,419 | +127% | 0 | 0 | — |
case-18 | pass→pass | 5,926 | 9,675 | +63% | 1 | 1 | 0% | 936 | 5,304 | +467% | 0 | 0 | — |
case-19 | pass→pass | 19,866 | 20,700 | +4% | 1 | 1 | 0% | 2,753 | 7,049 | +156% | 0 | 0 | — |
case-20 | pass→pass | 24,787 | 23,100 | -7% | 1 | 1 | 0% | 3,568 | 8,011 | +125% | 0 | 0 | — |
case-21 | pass→pass | 22,731 | 20,397 | -10% | 1 | 1 | 0% | 4,210 | 7,892 | +87% | 0 | 0 | — |
case-23 | fail→fail | 13,126 | 11,605 | -12% | 1 | 1 | 0% | 1,883 | 5,510 | +193% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.