crash-analysis

Analyzes crash dumps and fuzzer crashes to assess exploitability using WinDbg, GDB, and sanitizers.

Updated Jun 26, 2026
One-click install
npx skills add https://github.com/brukal001/brukal --skill crash-analysis-brukal001
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: crash-analysis
Source: https://github.com/brukal001/brukal/tree/main/skills/claude-red/exploit-dev/offensive-crash-analysis
Command: npx skills add https://github.com/brukal001/brukal --skill crash-analysis-brukal001

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? After fuzzing or patch diffing surfaces a crash, security researchers need a structured methodology to triage the crash, identify its root cause, and determine whether it is exploitable before investing time in exploit development. ## Core Features & Use Cases - Crash Triage Decision Tree: Selects the right debugger and workflow (WinDbg + TTD, GDB + Pwndbg, rr, CASR) based on platform, source availability, and crash type. - Sanitizer Interpretation: Guides reading of ASAN, UBSAN, and MSAN reports, including core dump capture when ASAN aborts via SIGABRT. - Exploitability Assessment: Covers register and stack trace analysis, mitigation checks, control-flow analysis, crash deduplication, minimization with afl-tmin, and PoC creation with pwntools. - Use Case: Given a fuzzer-generated segfault on a Linux binary, follow the reproduction fidelity checklist, capture a core dump, classify the crash with CASR, and assess whether attacker-controlled input reaches the vulnerable code path. ## Quick Start Analyze this crash dump from my fuzzing run and tell me the crash type, root cause, and whether it looks exploitable.

Frequently Asked Questions about crash-analysis

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I analyze a crash dump to find the root cause?▼

Load the dump in WinDbg on Windows or GDB with Pwndbg on Linux, then examine registers, the stack trace, and the faulting instruction. The skill provides a decision tree that picks the right tool based on platform and source availability.

WinDbg vs GDB for crash analysis, which should I use?▼

Use WinDbg with TTD for Windows binaries and GDB with Pwndbg for Linux binaries. For non-deterministic crashes, use rr on Linux or Time Travel Debugging on Windows to record and replay execution.

Why does ASAN abort with SIGABRT instead of producing a core dump?▼

ASAN halts via SIGABRT by default, which may skip core dump generation. Set ASAN_OPTIONS="abort_on_error=1:disable_coredump=0" and verify coredumpctl captures signal 6, or run under GDB to catch the abort.

How do I reproduce a flaky crash from a fuzzer reliably?▼

Match the discovery environment exactly: OS and libc versions, ASLR state, argv, environment variables, and input path (stdin vs file vs network). The reproduction fidelity checklist and a 10-run test script verify whether the crash rate is reliable.

How do I know if a crash is exploitable?▼

Assess exploitability by checking binary mitigations (PIE, canary, RELRO), analyzing whether attacker input controls registers or the instruction pointer, and confirming reachability from attacker-controlled input. CASR can automate classification for large crash corpora.

How do I deduplicate and minimize a large fuzzer crash corpus?▼

Use CASR clustering or stack hashing to group duplicate crashes, then minimize individual inputs with afl-tmin or manual reduction. This reduces thousands of crashes to a small set of unique, minimal reproducers.