Blockchain smart contracts have emerged as a transformative force in the digital realm, spawning a diverse range of compelling applications. Since solidity smart contracts across various domains manage trillions of dollars in virtual coins, they become a prime target for attacks. One of the primary challenges is keeping abreast of the latest techniques and tools for developing secure smart contracts and examining those already deployed. In this paper, we seek to address these challenges from four aspects: (1) We begin by examining ten automatic tools, specifically focusing on their methodologies and their ability to identify vulnerabilities in solidity smart contracts. (2) We propose a novel criterion for evaluating these tools, based on the ISO/IEC 25010 standard. (3) To facilitate the evaluation of the selected tools, we construct a benchmark that encompasses two distinct datasets: a collection of 389 labelled smart contracts and a scaled set of 20,000 unique cases from real-world contracts. (4) We provide a comparison of the selected tools, offering insights into their strengths and weaknesses and highlighting areas where further improvements are needed. Through this evaluation, we hope to provide developers and researchers with valuable guidance on selecting and using smart contract analysis tools and contribute to the ongoing efforts to improve the security and reliability of smart contracts.
翻译:区块链智能合约已成为数字领域的一股变革性力量,催生了多种引人注目的应用。由于跨领域的Solidity智能合约管理着数万亿美元的虚拟货币,它们已成为攻击的主要目标。主要挑战之一在于及时掌握开发安全智能合约及检测已部署合约的最新技术与工具。本文从四个方面应对这些挑战:(1)首先考察十种自动化工具,重点关注其方法论及识别Solidity智能合约漏洞的能力;(2)基于ISO/IEC 25010标准提出评估这些工具的新准则;(3)为促进选定工具的评估,构建包含两个独立数据集的基准:包含389个带标签智能合约的集合,以及来自真实合约的20,000个独特案例的规模化集合;(4)对选定工具进行比较分析,揭示其优势与不足,并指出需要进一步改进的领域。通过本次评估,我们期望为开发者和研究人员提供选择与使用智能合约分析工具的有价值指导,并为持续提升智能合约安全性与可靠性的努力作出贡献。