Smart Learning to Find Dumb Contracts

04/21/2023
by   Tamer Abdelaziz, et al.
0

We introduce Deep Learning Vulnerability Analyzer (DLVA), a vulnerability detection tool for Ethereum smart contracts based on powerful deep learning techniques for sequential data adapted for bytecode. We train DLVA to judge bytecode even though the supervising oracle, Slither, can only judge source code. DLVA's training algorithm is general: we "extend" a source code analysis to bytecode without any manual feature engineering, predefined patterns, or expert rules. DLVA's training algorithm is also robust: it overcame a 1.25 error rate mislabeled contracts, and the student surpassing the teacher; found vulnerable contracts that Slither mislabeled. In addition to extending a source code analyzer to bytecode, DLVA is much faster than conventional tools for smart contract vulnerability detection based on formal methods: DLVA checks contracts for 29 vulnerabilities in 0.2 seconds, a speedup of 10-500x+ compared to traditional tools. DLVA has three key components. Smart Contract to Vector (SC2V) uses neural networks to map arbitrary smart contract bytecode to an high-dimensional floating-point vector. Sibling Detector (SD) classifies contracts when a target contract's vector is Euclidian-close to a labeled contract's vector in a training set; although only able to judge 55.7 set, it has an average accuracy of 97.4 0.1 contracts regardless of vector distance. DLVA has an overall accuracy of 96.6 with an associated false positive rate of only 3.7

READ FULL TEXT
research
07/24/2021

Combining Graph Neural Networks with Expert Knowledge for Smart Contract Vulnerability Detection

Smart contract vulnerability detection draws extensive attention in rece...
research
04/21/2023

Schooling to Exploit Foolish Contracts

We introduce SCooLS, our Smart Contract Learning (Semi-supervised) engin...
research
06/17/2021

Smart Contract Vulnerability Detection: From Pure Neural Network to Interpretable Graph Feature and Expert Pattern Fusion

Smart contracts hold digital coins worth billions of dollars, their secu...
research
05/05/2019

SIF: A Framework for Solidity Code Instrumentation and Analysis

Solidity is an object-oriented and high-level language for writing smart...
research
08/23/2018

Runtime verification in Erlang by using contracts

During its lifetime, a program suffers several changes that seek to impr...
research
06/21/2023

Do you still need a manual smart contract audit?

We investigate the feasibility of employing large language models (LLMs)...
research
02/16/2018

Finding The Greedy, Prodigal, and Suicidal Contracts at Scale

Smart contracts---stateful executable objects hosted on blockchains like...

Please sign up or login with your details

Forgot password? Click here to reset