forensics-triage
Quick triage investigation following RFC 3227 volatility order
What this skill does
# /forensics-triage Perform rapid triage of a potentially compromised system by capturing volatile data in order of volatility per RFC 3227. Identifies active threats, running malicious processes, suspicious network connections, and immediate red flags within minutes of invocation. ## Usage `/forensics-triage <target> [options]` ## Arguments | Argument | Required | Description | |----------|----------|-------------| | target | Yes | SSH connection string (`ssh://user@host:port`) | | --output | No | Output directory (default: `.aiwg/forensics/findings/<hostname>-<date>/`) | | --scope | No | Triage scope: `network`, `process`, `filesystem`, or `all` (default: `all`) | | --fast | No | Skip slower checks; capture critical volatile data only | | --no-hash | No | Skip file hashing for speed (not recommended for evidence) | ## Behavior When invoked, this command: 1. **Establish Baseline Connection** - Connect to target via SSH - Record exact timestamp (UTC) of triage start - Note investigator identity and tool version - Capture system clock drift vs. investigator clock 2. **Volatile Data Capture (RFC 3227 Order)** - CPU registers and running state (process list snapshot) - Network connections and ARP cache - Login sessions and active users - Contents of memory (process memory maps) - Temporary file system state (`/tmp`, `/dev/shm`) - Swap space indicators - Disk mount state 3. **Red Flag Detection** - Processes with deleted binaries (`/proc/*/exe` pointing to deleted files) - Processes listening on unexpected ports - Base64 or encoded strings in process command lines - World-writable files recently modified - Unexpected cron entries or scheduled tasks - Suspicious SUID/SGID binaries - Outbound connections to non-RFC-1918 addresses 4. **Network Snapshot** - All established and listening connections with PIDs - ARP table for lateral movement indicators - DNS cache contents - Routing table anomalies - Active traffic rates per interface 5. **Process Inventory** - Full process tree with parent-child relationships - Processes running from unusual locations (`/tmp`, `/dev/shm`, hidden dirs) - Processes with suspicious names or masquerading as system processes - CPU/memory outliers suggesting crypto mining or exfiltration - Open file handles for suspicious processes 6. **Quick Assessment and Scoring** - Assign threat score (0-100) based on red flags found - Classify finding severity (CRITICAL, HIGH, MEDIUM, LOW, INFO) - Determine recommended next steps - Flag whether live response escalation is needed 7. **Save Triage Artifacts** - Write `triage-summary.md` with findings and threat score - Save raw volatile data captures to `volatile/` - Record chain-of-custody entry with hashes - Update investigation state file ## Examples ### Example 1: Standard triage ```bash /forensics-triage ssh://[email protected] ``` ### Example 2: Network-focused triage ```bash /forensics-triage ssh://[email protected] --scope network ``` ### Example 3: Fast capture (critical data only) ```bash /forensics-triage ssh://[email protected] --fast ``` ### Example 4: Custom output directory ```bash /forensics-triage ssh://admin@host --output .aiwg/forensics/incident-2026-02-27/ ``` ## Output Artifacts are saved to `.aiwg/forensics/findings/<hostname>-<date>/`: ``` .aiwg/forensics/findings/web01-2026-02-27/ ├── triage-summary.md # Threat assessment and findings ├── volatile/ │ ├── process-list.txt # Running processes at capture time │ ├── network-connections.txt │ ├── arp-cache.txt │ ├── login-sessions.txt │ ├── open-files.txt │ └── memory-maps.txt ├── chain-of-custody.yaml # Evidence integrity log └── checksums.sha256 ``` ### Sample Output ``` Triaging Target: 192.168.1.50 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Triage started: 2026-02-27T14:32:01Z Clock drift: +0.3s Step 1: Capturing volatile data (RFC 3227 order) Process list: 187 processes captured Network connections: 42 connections captured ARP cache: 8 entries captured Login sessions: 3 active sessions Open files: 1,847 handles captured Step 2: Red flag detection [CRITICAL] Process 'kworker' running from /tmp/kworker (deleted binary) [HIGH] Outbound connection to 185.220.101.42:4444 (known C2 range) [HIGH] Base64 in process args: PID 3847 (/bin/bash -c 'echo <b64>...') [MEDIUM] Unusual SUID binary: /usr/local/bin/.hidden (modified 2h ago) [MEDIUM] Cron entry added 4h ago: * * * * * /tmp/.update Step 3: Network snapshot Established: 42 connections Suspicious outbound: 2 connections to non-RFC-1918 DNS anomaly: None detected Step 4: Process assessment Suspicious processes: 3 Crypto mining indicators: None Masquerading processes: 1 ('kworker' from /tmp) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Threat Score: 87/100 (CRITICAL) IMMEDIATE ACTION REQUIRED Active compromise indicators detected. Next Steps: /forensics-acquire ssh://[email protected] --logs --memory /forensics-investigate ssh://[email protected] --scope full ``` ## Investigation Profiles Profiles select a pre-configured subset of checks tuned for a specific investigation scenario. Pass a profile name via `--profile <name>`. Profiles can be combined with `--scope` for further narrowing. ```bash /forensics-triage ssh://admin@host --profile quick-triage /forensics-triage ssh://admin@host --profile targeted-ssh /forensics-triage ssh://admin@host --profile targeted-container ``` ### quick-triage **Time budget**: ~5 minutes. Use when you need immediate situational awareness before a fuller investigation, or when the triage window is constrained (active incident, system may be shut down soon). **Captures**: - Network connections only: `ss -tunap`, ARP cache, routing table - Process list only: `ps auxwwef`, processes from `/tmp`/`/dev/shm`/`/var/tmp` - Skips: disk checks, kernel modules, open file handles, auth logs **Red flag checks included**: - Processes with deleted executables - Active outbound connections on unexpected ports - Processes running from temporary directories - Interfaces in promiscuous mode **Skipped checks**: SUID binary inventory, LD_PRELOAD scan, cron modifications, failed login history **Output**: Condensed `triage-summary.md` with threat score and top-priority findings. No `volatile/` subdirectory — all data written to a single capture file. **When to use**: First 5 minutes of an active incident; pre-escalation snapshot before calling the incident commander; when `--fast` alone is insufficient but a full triage is not yet authorized. --- ### targeted-ssh **Time budget**: ~15 minutes. Use when the suspected intrusion vector is SSH — brute force, credential stuffing, stolen key, or unauthorized key addition. **Captures** (in addition to standard volatile capture): - Full authentication log correlation: `auth.log`, `secure`, `journalctl -u sshd` - Last 7 days of SSH authentication events, not just last 100 lines - Active SSH sessions: `who`, `w`, `last`, `lastb` - Authorized keys across all user accounts (`~/.ssh/authorized_keys`) - SSHD configuration snapshot (`/etc/ssh/sshd_config`) for unauthorized changes - Failed login pattern analysis: count by source IP, frequency, username targeting - Successful logins cross-referenced against failed attempts (brute-force success detection) - Login timing anomalies: logins outside business hours, geographically inconsistent IPs - SSH agent forwarding indicators in active sessions **Red flag checks included**: All standard red flags plus: - New authorized keys added within the investigation window - SSHD configuration changes (PermitRootLogin, PasswordAuthentication changes) - Successful root login preceded by failed attempts (Red Flag 6 with full context) - SSH sessions with unusually long durations or high data transfer **Output**: Standard artifact structure plus `ssh-analysis.md` contain
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.