agentic/code/frameworks/forensics-complete/skills/memory-forensics/SKILL.md
Volatility 3 memory forensics workflows covering acquisition with LiME and WinPmem, and structured analysis using Volatility 3 plugin reference
npx skillsauth add jmagly/aiwg memory-forensicsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Guides memory acquisition and analysis for both Linux and Windows targets. Acquisition uses LiME (Linux) or WinPmem (Windows). Analysis uses Volatility 3 with a structured plugin sequence covering process analysis, network connections, injected code detection, and rootkit indicators.
Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):
Memory forensics recovers volatile evidence unavailable on disk: running processes with no on-disk binary, injected shellcode, encryption keys, credential material, and network connections active at time of capture. This skill provides a repeatable acquisition and analysis workflow that produces structured findings from a raw memory image.
When triggered, this skill:
Determine acquisition path:
Linux memory acquisition with LiME:
uname -r# Compile LiME against the target kernel headers
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
# Write to file
insmod lime.ko "path=/mnt/evidence/memory.lime format=lime"
# Stream over network to examiner host
insmod lime.ko "path=tcp:4444 format=lime"
# On examiner: nc -l 4444 > memory.lime
rmmod limeWindows memory acquisition with WinPmem:
winpmem_multi_x64.exe to target (verify hash before use)winpmem_multi_x64.exe memory.raw
--split option to produce chunked outputVolatility 3 environment setup:
vol --versiondwarf2jsonProcess analysis plugins:
vol -f <image> windows.pslist / linux.pslist — full process listing with parent relationshipsvol -f <image> windows.pstree / linux.pstree — tree view for spotting orphaned processesvol -f <image> windows.psscan — scan raw memory for EPROCESS structures (finds hidden processes not in list)Code injection and malicious process detection:
vol -f <image> windows.malfind — find process memory regions with PAGE_EXECUTE_READWRITE and no backing filevol -f <image> windows.dlllist --pid <pid> — DLL list per process; compare against baselinevol -f <image> windows.handles --pid <pid> — open handles including files, registry keys, mutexesvol -f <image> linux.proc_maps — memory map for Linux processes; flag rwx anonymous mappingsNetwork connection analysis:
vol -f <image> windows.netstat — active and recently closed TCP/UDP connections with owning processvol -f <image> linux.sockstat — Linux socket statePersistence and rootkit indicators:
vol -f <image> windows.svcscan — Windows service list including those not in SCMvol -f <image> windows.driverirp — driver IRP hook detectionvol -f <image> windows.ssdt — SSDT hook detectionvol -f <image> linux.check_syscall — Linux syscall table hook detectionvol -f <image> linux.check_modules — kernel module list integrityCredential and artifact extraction:
vol -f <image> windows.hashdump — extract NTLM hashes from SAM/SYSTEMvol -f <image> windows.lsadump — LSA secretsvol -f <image> windows.cmdline — command-line arguments for all processesvol -f <image> windows.filescan — file handles in memory (recovers paths of deleted files)Write findings document:
.aiwg/forensics/findings/<hostname>-memory.mdmemory dump analysis /evidence/memory.lime
acquire memory from [email protected]
memory forensics windows /mnt/evidence/win-memory.raw
.aiwg/forensics/findings/<hostname>-memory.md.aiwg/forensics/evidence/<hostname>-memory.lime (or .raw).aiwg/forensics/evidence/<hostname>-memory.sha256.aiwg/forensics/evidence/<hostname>-volatility/memory_forensics:
volatility_path: vol
lime_format: lime
winpmem_path: winpmem_multi_x64.exe
hash_algorithm: sha256
linux_symbol_path: /opt/volatility3/symbols/linux/
malfind_dump_vads: true
plugins:
windows:
- windows.pslist
- windows.psscan
- windows.pstree
- windows.malfind
- windows.netstat
- windows.svcscan
- windows.cmdline
- windows.dlllist
linux:
- linux.pslist
- linux.pstree
- linux.proc_maps
- linux.sockstat
- linux.check_syscall
- linux.check_modules
data-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.