论文标题

Smartbugs:一个分析坚固性智能合约的框架

SmartBugs: A Framework to Analyze Solidity Smart Contracts

论文作者

Ferreira, João F., Cruz, Pedro, Durieux, Thomas, Abreu, Rui

论文摘要

在过去的几年中,对以太坊智能合约的自动分析,测试和调试进行了大量研究。但是,比较和复制这项研究并不是一件容易的事。为了解决这个问题,我们提出了SmartBugs,这是一个可扩展且易于使用的执行框架,简化了以固体性编写的智能合约的执行,这是以太坊中使用的主要语言。 SmartBugs目前正在分发,并支持10个工具和两个坚固合同的数据集。第一个数据集可用于评估分析工具的精度,因为它包含带有208个标记漏洞的注释的易受伤害合同。第二个数据集包含通过Etherscan收集的47,518个独特的合同。我们讨论了SmartBugs如何在工具数量和执行时间内支持迄今为止最大的实验设置。此外,我们通过向SmartCheck提出新的扩展名来展示如何轻松整合和比较分析工具,从而大大提高了与DASP10类别相关的漏洞的检测不良随机性,时间操纵和访问控制(确定的漏洞从11%增加到24%)。

Over the last few years, there has been substantial research on automated analysis, testing, and debugging of Ethereum smart contracts. However, it is not trivial to compare and reproduce that research. To address this, we present SmartBugs, an extensible and easy-to-use execution framework that simplifies the execution of analysis tools on smart contracts written in Solidity, the primary language used in Ethereum. SmartBugs is currently distributed with support for 10 tools and two datasets of Solidity contracts. The first dataset can be used to evaluate the precision of analysis tools, as it contains 143 annotated vulnerable contracts with 208 tagged vulnerabilities. The second dataset contains 47,518 unique contracts collected through Etherscan. We discuss how SmartBugs supported the largest experimental setup to date both in the number of tools and in execution time. Moreover, we show how it enables easy integration and comparison of analysis tools by presenting a new extension to the tool SmartCheck that improves substantially the detection of vulnerabilities related to the DASP10 categories Bad Randomness, Time Manipulation, and Access Control (identified vulnerabilities increased from 11% to 24%).

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源