Commit Detail
Commit 2c32de2
Add Fuzzilli REPRL integration for fuzzing support This commit adds comprehensive support for fuzzing workerd using Fuzzilli's REPRL (Read-Eval-Print-Reset-Loop) protocol. Key changes: - Implement REPRL protocol handler in workerd server with --stdin-reprl flag - Add fuzzilli() JavaScript API for crash testing and coverage tracking - Integrate libreprl C library for REPRL client communication - Add KJ-based test framework integration (test-reprl.c++) - Create example Fuzzilli configurations and mock services - Add immediate-crash.h utility for controlled crash testing - Fix V8 ASAN macro redefinition warnings by adding V8_USE_ADDRESS_SANITIZER - Update .bazelrc to use clang-19 directly instead of ccache wrapper The implementation allows Fuzzilli to: - Execute JavaScript code in isolated REPRL sessions - Collect sanitizer coverage feedback - Detect crashes and memory errors - Reset worker state between executions Example usage: bazel test --config=fuzzilli //src/workerd/tests:test-reprl ./workerd test fuzzilli/config.capnp --experimental --stdin-reprl
Files changed
31 files changed+17 added~14 modified
Showing a partial diff list due to runtime limits (time_budget).