Skip to main content
QUICK REVIEW

[Paper Review] Vandal: A Scalable Security Analysis Framework for Smart Contracts

Lexi Brent, Anton Jurisevic|arXiv (Cornell University)|Sep 11, 2018
Security and Verification in ComputingComputer Science11 references123 citations
TL;DR

Vandal translates Ethereum bytecode into logic relations and uses declarative Soufflé analyses to detect smart contract vulnerabilities, achieving high coverage and speed in a large-scale study.

ABSTRACT

The rise of modern blockchains has facilitated the emergence of smart contracts: autonomous programs that live and run on the blockchain. Smart contracts have seen a rapid climb to prominence, with applications predicted in law, business, commerce, and governance. Smart contracts are commonly written in a high-level language such as Ethereum's Solidity, and translated to compact low-level bytecode for deployment on the blockchain. Once deployed, the bytecode is autonomously executed, usually by a %Turing-complete virtual machine. As with all programs, smart contracts can be highly vulnerable to malicious attacks due to deficient programming methodologies, languages, and toolchains, including buggy compilers. At the same time, smart contracts are also high-value targets, often commanding large amounts of cryptocurrency. Hence, developers and auditors need security frameworks capable of analysing low-level bytecode to detect potential security vulnerabilities. In this paper, we present Vandal: a security analysis framework for Ethereum smart contracts. Vandal consists of an analysis pipeline that converts low-level Ethereum Virtual Machine (EVM) bytecode to semantic logic relations. Users of the framework can express security analyses in a declarative fashion: a security analysis is expressed in a logic specification written in the \souffle language. We conduct a large-scale empirical study for a set of common smart contract security vulnerabilities, and show the effectiveness and efficiency of Vandal. Vandal is both fast and robust, successfully analysing over 95\% of all 141k unique contracts with an average runtime of 4.15 seconds; outperforming the current state of the art tools---Oyente, EthIR, Mythril, and Rattle---under equivalent conditions.

Motivation & Objective

  • Motivate the need for robust security analysis of smart contracts due to high-value targets and complex toolchains.
  • Propose a framework that analyzes low-level EVM bytecode via a declarative, logic-driven approach.
  • Demonstrate how to express common vulnerability analyses as Soufflé logic specifications.
  • Show large-scale empirical evaluation across a substantial corpus of contracts to assess robustness and efficiency.

Proposed method

  • Introduce a two-part Vandal architecture: an analysis pipeline that converts EVM bytecode to logic relations, and a library of security analyses expressed in Soufflé.
  • Build an end-to-end pipeline: Scraper retrieves bytecode, Disassembler yields mnemonics, Decompiler produces a register-transfer language, and Extractor emits logic relations.
  • Use a decompilation technique that incrementally reconstructs control-flow via symbolic execution, data-flow analysis, and node-splitting to resolve jump targets.
  • Express vulnerability analyses as declarative logic specifications in Soufflé, enabling rapid prototyping and composition of analyses.
  • Leverage Datalog engines to synthesize efficient analyzers that operate on the generated logic relations.
  • Conduct a large-scale empirical study on 141k unique contracts to evaluate coverage, robustness, and performance.

Experimental results

Research questions

  • RQ1Can Vandal deconstruct EVM bytecode into precise control- and data-flow representations suitable for static analysis?
  • RQ2Are common smart-contract vulnerabilities detectable via declarative Soufflé specifications with competitive performance?
  • RQ3How does Vandal perform in terms of coverage and speed compared to existing tools (Oyente, EthIR, Mythril, Rattle) on a large contract set?
  • RQ4What is the feasibility and benefit of a logic-driven pipeline for scalable smart-contract security analysis?

Key findings

  • Vandal decompiles and analyzes over 95% of the 141k contracts in the study.
  • Average analysis runtime is 4.15 seconds per contract.
  • Vandal outperforms state-of-the-art tools Oyente, EthIR, Mythril, and Rattle under equivalent conditions.
  • Security analyses implemented include unchecked send, reentrancy, unsecured balance, destroyable contract, and origin vulnerabilities.
  • The framework provides a modular, declarative approach enabling rapid prototyping and composition of analyses.
  • The pipeline produces logic relations that Soufflé uses to execute the analyses efficiently.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.