Instrument and Find Out: Parasitic Tracers for High-Level Languages
Jeff Dileo demonstrates developing parasitic runtime tracers for interpreted languages lacking native introspection, enabling low-overhead dynamic analysis and fuzzing.
Summary
The Introspection Void in High-Level Programming Languages
While modern platforms like the JVM and V8 provide robust profiling and tracing hooks, many specialized or legacy interpreted runtimes lack dynamic introspection APIs.
Building Parasitic Dynamic Tracers
Jeff Dileo demonstrates injecting lightweight instrumentation logic directly into language runtime interpreters without recompiling target binaries or source code.
Extracting Execution Telemetry and Function Traces
Parasitic tracers hook internal bytecode dispatch loops, capturing function arguments, return values, and memory allocations in real time with minimal performance overhead.
Applications in Vulnerability Research and Fuzzing
Dileo illustrates how security researchers can use custom tracers to guide dynamic application fuzzing, discover hidden API routes, and analyze obfuscated scripts.
Related talks
Main Stage·39 min
K2
K2 introduces BlockFighter2, an execution-tracing framework utilizing binary hooking to inspect and manipulate control flow within compiled code at runtime.
Main Stage·52 min
Chris Eagle · Sk3wlDbg
Chris Eagle and Sk3wlDbg demonstrate integrating architecture-independent CPU emulation into IDA Pro to unpack obfuscated malware and trace execution.
The Linux Foundation·41 min
Gustavo Romero · Kevin Townsend
Analyzes leveraging Compiler Code Instrumentation for Zephyr Tracing & and evaluates key implications for security practitioners.


