Smart Contracts are programs running logic in the Blockchain network by executing operations through immutable transactions. The Blockchain network validates such transactions, storing them into sequential blocks of which integrity is ensured. Smart Contracts deal with value stakes, if a damaging transaction is validated, it may never be reverted, leading to unrecoverable losses. To prevent this, security aspects have been explored in several fields, with research providing catalogs of security defects, secure code recommendations, and possible solutions to fix vulnerabilities. In our study, we refer to vulnerability fixing in the ways found in the literature as guidelines. However, it is not clear to what extent developers adhere to these guidelines, nor whether there are other viable common solutions and what they are. The goal of our research is to fill knowledge gaps related to developers' observance of existing guidelines and to propose new and viable solutions to security vulnerabilities. To reach our goal, we will obtain from Solidity GitHub repositories the commits that fix vulnerabilities included in the DASP TOP 10 and we will conduct a manual analysis of fixing approaches employed by developers. Our analysis aims to determine the extent to which literature-based fixing strategies are followed. Additionally, we will identify and discuss emerging fixing techniques not currently documented in the literature. Through qualitative analysis, we will evaluate the suitability of these new fixing solutions and discriminate between valid approaches and potential mistakes.
翻译:智能合约是通过不可变交易在区块链网络中执行逻辑的程序,区块链验证这些交易并将其存储到完整性得到保证的顺序区块中。由于智能合约涉及价值权益,一旦破坏性交易被验证,可能永远无法撤销,导致不可挽回的损失。为防止此类事件,多个领域已围绕安全性展开研究,提供了安全缺陷目录、安全代码建议以及修复漏洞的可行方案。本研究将文献中发现的漏洞修复方式统称为"指南"。然而,目前尚不明确开发者在多大程度上遵循这些指南,也不清楚是否存在其他可行的通用解决方案及其具体内容。本研究旨在填补关于开发者遵循现有指南的认知空白,并提出新的可行安全漏洞修复方案。为实现目标,我们将从Solidity GitHub仓库中获取修复DASP TOP 10漏洞的提交记录,并对开发者采用的修复方法进行人工分析。分析旨在确定基于文献的修复策略被遵循的程度,同时识别并讨论当前文献中未记载的新兴修复技术。通过定性分析,我们将评估这些新修复方案的适用性,并区分有效方法与潜在错误。