Cyber Risks · Trail of Bits Blog

Symbolically Executing Web Assembly in Manticore

Summary: Trail of Bits released Manticore 0.3.3, which it describes as the first actively-maintained symbolic execution engine to support WebAssembly binaries, able to explore all reachable states in a WASM program and derive the concrete inputs that produce a given state. The team demonstrated it on a C crackme cross-compiled to WASM, where Manticore solved for the correct input byte 0x58 ('X'); WASM support is in alpha, with no symbolic floating point semantics and only limited support for symbolic memory dereferences.

What's compelling: WASM runs in every major browser and is the basis for Mozilla's Bytecode Alliance proposal to build package management around small, formally verified WASM nanoprocesses - and until this release, no significant strides had been made toward symbolically executing it, leaving that verification goal without a working analysis engine.

Read the original at Trail of Bits Blog ↗