OpenSCV: An Open Hierarchical Taxonomy for Smart Contract Vulnerabilities
Fernando Richter Vidal, Naghmeh Ivaki, Nuno Laranjeiro
TL;DR
The paper addresses the problem of outdated and non-evolvable vulnerability taxonomies for smart contracts by introducing OpenSCV, an open hierarchical taxonomy designed to evolve with community contributions. It synthesizes 357 vulnerability definitions from 49 papers, maps them to existing schemes (SWC, DASP, CWE), and characterizes each defect with Orthogonal Defect Classification attributes and concrete code examples, culminating in a three-level taxonomy containing 76 leaves. OpenSCV is publicly accessible via a GitHub-hosted process and a supporting dataset of vulnerable contracts, enabling ongoing updates and community contributions. This work provides a unified, extensible resource to support vulnerability research, tool benchmarking, and improved prevention in smart contract development and analysis.
Abstract
Smart contracts are nowadays at the core of most blockchain systems, as they specify and allow an agreement between entities that wish to perform a transaction. As any computer program, smart contracts are subject to the presence of residual faults, including severe security vulnerabilities, which require that the vulnerable contract is terminated in the blockchain. In this context, research began to be developed to prevent the deployment of smart contract holding vulnerabilities, mostly in the form of vulnerability detection tools. Along with these efforts, several and heterogeneous vulnerability classification schemes arised (e.g., most notably DASP and SWC). At the time of writing, these are mostly outdated initiatives, despite the fact that smart contract vulnerabilities are continuously being discovered and the associated rich information being mostly disregarded. In this paper, we propose OpenSCV, a new and Open hierarchical taxonomy for Smart Contract Vulnerabilities, which is open to community contributions and matches the current state of the practice, while being prepared to handle future modifications and evolution. The taxonomy was built based on the analysis of research on vulnerability classification, community-maintained classification schemes, and research on smart contract vulnerability detection. We show how OpenSCV covers the announced detection ability of current vulnerability detection tools, and highlight its usefulness as a resource in smart contract vulnerability research.
