Vandal is a static program analysis framework for Ethereum smart contract bytecode, developed at The University of Sydney. It decompiles an Ethereum VM bytecode program to an equivalent intermediate representation that encodes the program’s control flow graph. This representation removes all stack operations, thereby exposing data dependencies that are otherwise obscured. This information is then fed, with a Datalog specification, into the Souffle analysis engine for the extraction of program properties.

A more comprehensive description of the Vandal Framework is available on the GitHub Wiki, along with a getting started guide.

Vandal is licensed under the BSD 3-Clause License.

Publications

Resources