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个标注智能合约的集合以及20000个来自真实世界合约的扩展规模独特案例。(4)我们对所选工具进行了比较,揭示了它们各自的优势和劣势,并指出了需要进一步改进的领域。通过本次评估,我们希望为开发者和研究人员在选取和使用智能合约分析工具方面提供有价值的指导,并为提升智能合约安全性与可靠性的持续努力做出贡献。