v0.9.0
Initial public release
Added
ripfuzz run <target>: run a coverage-guided, mutational fuzzing campaign
against a Foundry handler contract usingFile.sol:Nameartifact ID syntax- Parallel fuzzing across configurable worker threads with a shared
coverage-guided corpus and metrics - Invariant checking: handler invariant functions are executed after each
generated call sequence - Persistent corpus support:
--corpus-dirloads and replays existing corpus
items at campaign start and saves newly discovered coverage-increasing
sequences - Automatic failure shrinking with configurable
--shrink-runs,
--shrink-timeout, and--shrink-threads - Fork mode against live networks via
--rpc-urland--rpc-block, with
retries, exponential backoff, rate limiting, request timeouts, and a local
fork state cache lcov.infocoverage reports per campaign, including function-level and
source-map-derived line coverage across all resolved build artifacts- Execution traces for deployment and setup, written to
trace.logunder
.ripfuzz/campaigns/<campaign-id>/ - Foundry cheatcodes for time and chain context (
warp,roll,prevrandao,
chain_id,coinbase,fee), accounts and balances (prank,deal,
addr,nonce,label), storage and bytecode (store,load,etch,
get_code), value encoding/decoding (parse,to_string,sign), and
opt-inffivia--ffi --external-projectto load additional Foundry project artifacts for
coverage and trace resolution, including fork-mode interactions with
separately compiled contracts- Configurable campaign limits:
--max-runs,--timeout,--max-calls,
--gas-limit, and--threads - Reproducible campaigns via
--seed; a random seed is generated and printed
when none is provided --fail-on-revertto treat any transaction revert as a failed assertion- Foundry project integration: automatic builds with storage layout, handler
deployment with configurable--deployerand--deploy-value, and library
linking - File logging to
fuzz.logper campaign with configurable--log-leveland
--disable-log - Library-first public API with
Fuzzer,Shrinker,Chain,Project,
SharedCorpus,CorpusReplayer, andCoverageReportertypes for
programmatic use