Solana JIT: Lessons from Fuzzing a Smart Contract Compiler
Thomas Roth (stacksmashing) shares insights from fuzzing the Solana eBPF Just-In-Time (JIT) smart contract compiler, uncovering critical consensus-breaking bugs.
Summary
The Attack Surface of Blockchain JIT Compilers
High-performance blockchain platforms rely on Just-In-Time (JIT) compilers to execute eBPF smart contracts rapidly; however, compiler bugs can lead to consensus divergence or node crashes.
Understanding Solana's rbpf Architecture
Thomas Roth analyzes Solana's eBPF virtual machine and JIT compiler implementation (rbpf), dissecting how bytecode translates to native x86 machine instructions.
Building Specialized Differential JIT Fuzzers
Roth details developing differential fuzzing harnesses that execute randomized eBPF instructions simultaneously across the JIT engine and software interpreter to flag discrepancies.
Securing Core Blockchain Infrastructure
The author reviews discovered compiler bugs, discusses responsible vulnerability disclosure with the Solana team, and outlines fuzzing best practices for smart contract virtual machines.
Related talks
Main Stage·48 min
Bernhard Mueller
Analyzes the adversarial ecosystem of Ethereum smart contract exploits and counter-exploits, including honeypot contracts designed to trap attackers.
OWASP Foundation·40 min
Damian Rusinek
Damian Rusinek details Web Apps vs Blockchain DApps (Smart Contracts): Tools, Vulns And Standards.
Blockchain Village·57 min
Ryan Rubin
Assesses the maturity, security postures, flash loan risks, and protocol vulnerabilities in decentralized finance (DeFi).


