Finding The Greedy, Prodigal, and Suicidal Contracts at Scale

By Ivica Nikolic, Aashish Kolluri, Ilya Sergey, Prateek Saxena, Aquinas Hobor. Asia-Pacific Computer Systems Architecture Conference, 2018

673 citations recorded by the source corpus.

Smart contracts---stateful executable objects hosted on blockchains like Ethereum---carry billions of dollars worth of coins and cannot be updated once deployed. We present a new systematic characterization of a class of trace vulnerabilities, which result from analyzing multiple invocations of a contract over its lifetime. We focus attention on three example properties of such trace vulnerabilities: finding contracts that either lock funds indefinitely, leak them carelessly to arbitrary users, or can be killed by anyone. We implemented Maian, the first tool for specifying and reasoning about trace properties, which employs interprocedural symbolic analysis and concrete validator for exhibiting real exploits. Our analysis of nearly one million contracts flags 34, 200 (2, 365 distinct) contracts vulnerable, in 10 seconds per contract. On a subset of 3, 759 contracts which we sampled for concrete validation and manual analysis, we reproduce real exploits at a true positive rate of 89%, yielding exploits for 3, 686 contracts. Our tool finds exploits for the infamous Parity bug that indirectly locked $200 million US worth in Ether, which previous analyses failed to capture.

Subfields: Artificial Intelligence, Information Systems, Signal Processing

View Paper: https://www.semanticscholar.org/paper/25d9e16a16582ce46607e6b646015a82d1188a74

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Artificial Intelligence

  1. Zhenguang Liu
  2. Yuan Zhuang
  3. Peng Qian
  4. Petar Tsankov
  5. Martin T. Vechev
  6. Marcus Pendleton
  7. Bernhard Scholz
  8. Laurent L. Njilla

In Information Systems

  1. Zhenguang Liu
  2. Yuan Zhuang
  3. Peng Qian
  4. Petar Tsankov
  5. Xiang Wang
  6. Marcus Pendleton
  7. Laurent L. Njilla
  8. Rui Abreu

In Signal Processing

  1. Yuan Zhuang
  2. Peng Qian
  3. Zhenguang Liu
  4. Rui Abreu
  5. Bo Jiang
  6. Martin T. Vechev
  7. Ye Liu
  8. Petar Tsankov

Citations in the corpus