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.
翻译:智能合约作为大多数区块链系统的核心,规定并允许实体之间进行交易。作为任何计算机程序,智能合约会受到残余故障的影响,包括严重的安全漏洞,这需要终止区块链中存在漏洞的合约。在这种情况下,开始开展研究,以防止部署持有漏洞的智能合约,主要以漏洞检测工具的形式存在。随着这些工作的展开,出现了几种不同的漏洞分类方案(例如DASP和SWC最为著名)。在撰写本文时,这些大多是过时的举措,尽管智能合约漏洞正在不断被发现,而相关的丰富信息却往往被忽视。在本文中,我们提出了OpenSCV,这是一种新的、开放的智能合约漏洞层次分类体系,可接受社区贡献,并符合当前实践状态,同时准备好处理未来的修改和进化。本分类法基于对漏洞分类研究、社区维护的分类方案和智能合约漏洞检测的研究进行分析。我们展示了OpenSCV如何覆盖当前漏洞检测工具的宣传检测能力,并强调它作为智能合约漏洞研究资源的有用性。