Table of Contents
Fetching ...

Impact of Code Transformation on Detection of Smart Contract Vulnerabilities

Cuong Tran Manh, Hieu Dinh Vo

TL;DR

Improved results show that many newly created vulnerabilities can bypass tools and the false reporting rate goes up to 100% and the false reporting rate goes up to 100% and increases dataset size minimum by 2.5X.

Abstract

While smart contracts are foundational elements of blockchain applications, their inherent susceptibility to security vulnerabilities poses a significant challenge. Existing training datasets employed for vulnerability detection tools may be limited, potentially compromising their efficacy. This paper presents a method for improving the quantity and quality of smart contract vulnerability datasets and evaluates current detection methods. The approach centers around semantic-preserving code transformation, a technique that modifies the source code structure without altering its semantic meaning. The transformed code snippets are inserted into all potential locations within benign smart contract code, creating new vulnerable contract versions. This method aims to generate a wider variety of vulnerable codes, including those that can bypass detection by current analysis tools. The paper experiments evaluate the method's effectiveness using tools like Slither, Mythril, and CrossFuzz, focusing on metrics like the number of generated vulnerable samples and the false negative rate in detecting these vulnerabilities. The improved results show that many newly created vulnerabilities can bypass tools and the false reporting rate goes up to 100% and increases dataset size minimum by 2.5X.

Impact of Code Transformation on Detection of Smart Contract Vulnerabilities

TL;DR

Improved results show that many newly created vulnerabilities can bypass tools and the false reporting rate goes up to 100% and the false reporting rate goes up to 100% and increases dataset size minimum by 2.5X.

Abstract

While smart contracts are foundational elements of blockchain applications, their inherent susceptibility to security vulnerabilities poses a significant challenge. Existing training datasets employed for vulnerability detection tools may be limited, potentially compromising their efficacy. This paper presents a method for improving the quantity and quality of smart contract vulnerability datasets and evaluates current detection methods. The approach centers around semantic-preserving code transformation, a technique that modifies the source code structure without altering its semantic meaning. The transformed code snippets are inserted into all potential locations within benign smart contract code, creating new vulnerable contract versions. This method aims to generate a wider variety of vulnerable codes, including those that can bypass detection by current analysis tools. The paper experiments evaluate the method's effectiveness using tools like Slither, Mythril, and CrossFuzz, focusing on metrics like the number of generated vulnerable samples and the false negative rate in detecting these vulnerabilities. The improved results show that many newly created vulnerabilities can bypass tools and the false reporting rate goes up to 100% and increases dataset size minimum by 2.5X.

Paper Structure

This paper contains 12 sections, 5 equations, 6 figures, 3 tables.

Figures (6)

  • Figure 1: Simple original solidity source code
  • Figure 2: Modified version of Fig. \ref{['fig:example1']}
  • Figure 3: CFG of two programs: Fig. \ref{['fig:example1']} and Fig. \ref{['fig:example1_mo']}
  • Figure 4: The proposed method workflow
  • Figure 5: Simple source code use tx.origin
  • ...and 1 more figures