SC-Bench: A Large-Scale Dataset for Smart Contract Auditing
There is a huge demand to ensure the compliance of smart contracts listed on blockchain platforms to safety and economic standards. Today, manual efforts in the form of auditing are commonly used to achieve this goal. ML-based automated techniques have the promise to alleviate human efforts and the...
Gespeichert in:
Hauptverfasser: | , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | There is a huge demand to ensure the compliance of smart contracts listed on
blockchain platforms to safety and economic standards. Today, manual efforts in
the form of auditing are commonly used to achieve this goal. ML-based automated
techniques have the promise to alleviate human efforts and the resulting
monetary costs. However, unlike other domains where ML techniques have had huge
successes, no systematic ML techniques have been proposed or applied to smart
contract auditing. We present SC-Bench, the first dataset for automated
smart-contract auditing research. SC-Bench consists of 5,377 real-world smart
contracts running on Ethereum, a widely used blockchain platform, and 15,975
violations of standards on Ehereum called ERCs. Out of these violations, 139
are real violations programmers made. The remaining are errors we
systematically injected to reflect the violations of different ERC rules. We
evaluate SC-Bench using GPT-4 by prompting it with both the contracts and ERC
rules. In addition, we manually identify each violated rule and the
corresponding code site (i.e., oracle) and prompt GPT-4 with the information
asking for a True-or-False question. Our results show that without the oracle,
GPT-4 can only detect 0.9% violations, and with the oracle, it detects 22.9%
violations. These results show the potential room for improvement in ML-based
techniques for smart-contract auditing. |
---|---|
DOI: | 10.48550/arxiv.2410.06176 |