Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ispras/casr/llms.txt
Use this file to discover all available pages before exploring further.
casr-python analyzes Python crash output — including unhandled exceptions and tracebacks — and produces structured .casrep reports. It integrates directly with Atheris, Google’s coverage-guided Python fuzzer built on libFuzzer, making it a natural fit for Python fuzzing pipelines.
When the target program produces sanitizer output (AddressSanitizer, MemorySanitizer, or libFuzzer markers) alongside a Python exception, casr-python automatically delegates to casr-san for ASAN-level analysis. Otherwise it extracts the Python Traceback from stderr, parses each File "…", line N, in fn frame, resolves the crash line, and records the source snippet.
Synopsis
-- separator is required. Everything after it is the command CASR will execute and capture output from.
Options
Path to save the
.casrep report file. If a directory is provided, the report filename is generated automatically from the crash context.Print the CASR report as JSON to stdout instead of writing it to a file. Mutually exclusive with
--output; exactly one of the two is required.Path to a file that will be fed to the target program’s standard input. Useful when the fuzz target reads a corpus entry from stdin.
Maximum number of seconds to wait for the target process to finish. A value of
0 disables the timeout entirely.Path to a file containing regular expressions (one per section) for function names and file paths that should be excluded from stack trace analysis. See the ignore-file format below.
A path prefix that will be removed from every file path in the stack trace and crash line. Keeps reports portable when shared across machines. Also settable via the
CASR_STRIP_PATH environment variable.One or more shared library paths to inject via
LD_PRELOAD into the target process only. Both space ( ) and colon (:) are accepted as delimiters. CASR’s own process is not affected. Also settable via CASR_PRELOAD.Ignore-file format
FUNCTIONS and FILES may appear in either order; either section may be omitted. Frames whose function name or source file matches any listed regex are skipped during analysis.
Example
Run a plain Python script that raises an unhandled exception:jq or other tools):
Fuzzer integration
casr-python handles single-crash analysis. For bulk triage of Atheris crash directories, use casr-libfuzzer — it auto-detects Python targets and invokes casr-python for each input file.
When Atheris runs with AddressSanitizer enabled, crash output contains both a Python traceback and ASAN diagnostics.
casr-python detects this automatically and forwards to casr-san so the full ASAN severity analysis is applied.