Skip to content

Static program analysis framework for Ethereum smart contract bytecode.

License

Notifications You must be signed in to change notification settings

gsalzer/vandal

This branch is 2 commits ahead of usyd-blockchain/vandal:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

677d708 · Aug 5, 2021
Nov 27, 2018
Nov 27, 2018
Dec 10, 2017
Nov 28, 2018
Aug 5, 2021
Apr 3, 2018
Nov 27, 2018
Dec 9, 2017
Dec 9, 2017
Feb 22, 2018
Feb 21, 2018
Dec 8, 2017
Dec 8, 2017
Feb 21, 2018
Nov 28, 2018
Oct 20, 2016

Repository files navigation

Build Status

Vandal

Vandal is a static program analysis framework for Ethereum smart contract bytecode, developed at The University of Sydney. It decompiles an EVM 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 Wiki, along with a getting started guide.

Vandal is licensed under the BSD 3-Clause License.

Publications

  • Vandal: A Scalable Security Analysis Framework for Smart Contracts, Lexi Brent, Anton Jurisevic, Michael Kong, Eric Liu, Francois Gauthier, Vincent Gramoli, Ralph Holz, Bernhard Scholz, Technical Report, School of Computer Science, The University of Sydney, Sydney, Australia, September 2018. [pdf] [BibTeX]

  • MadMax: Surviving Out-of-Gas Conditions in Ethereum Smart Contracts, Neville Grech, Michael Kong, Anton Jurisevic, Lexi Brent, Bernhard Scholz, Yannis Smaragdakis, SPLASH 2018 OOPSLA, Boston, November 2018. [pdf] [BibTeX]

  • A Scalable Method to Analyze Gas Costs, Loops and Related Security Vulnerabilities on the Ethereum Virtual Machine, Michael Kong, Honours Thesis, November 2017, School of Computer Science, The University of Sydney. [pdf] [BibTeX]

Resources

About

Static program analysis framework for Ethereum smart contract bytecode.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.9%
  • Shell 2.4%
  • JavaScript 1.1%
  • Other 1.6%