SCAnoGenerator: Automatic Anomaly Injection for Ethereum Smart Contracts
Abstract
Although many tools have been developed to detect anomalies in smart contracts, the evaluation of these analysis tools has been hindered by the lack of adequate anomalisticreal-world contracts(i.e., smart contracts with addresses on Ethereum to achieve certain purposes). This problem prevents conducting reliable performance assessments on the analysis tools. An effective way to solve this problem is to inject anomalies intoreal-world contractsand automatically label the locations and types of the injected anomalies.SolidiFI, as the first and only tool in this area, was developed to automatically inject anomalies into Ethereum smart contracts. However,SolidiFIis subject to the limitations from its methodologies (e.g., its injection accuracy and authenticity are low). To address these limitations, we propose an approach calledSCAnoGenerator.SCAnoGeneratorsupports Solidity 0.5.x, 0.6.x, 0.7.x and enables automatic anomaly injection for Ethereum smart contracts via analyzing the contractsâ control and data flows. Based on this approach, we develop an open-source tool, which can inject 20 types of anomalies into smart contracts. The extensive experiments show thatSCAnoGeneratoroutperformsSolidiFIon the number of injected anomaly types, injection accuracy, and injection authenticity. The experimental results also reveal that existing analysis tools can only partially detect the anomalies injected bySCAnoGenerator.
Community
0 commentsNo discussion yet
Be the first to share a question or observation.