http://www.jsjkx.comDOI:10.11896/jsjkx.220300063到稿日期:2022-03-07返修日期:2022-08-23基金项目:国家自然科学基金(61472139);产学研项目:区块链关键技术研究(H300-41819)ThisworkwassupportedbytheNationalNaturalScienceFoundationofChina(61472139)andIndustryUniversityResearchProject:ResearchonKeyTechnologiesofBlockchain(H300-41819).通信作者:郑红(zhenghong@ecust.edu.cn)基于抽象语法树裁剪的智能合约漏洞检测研究刘泽润郑红邱俊杰华东理工大学信息科学与工程学院上海200237(zerunliu@qq.com)摘要随着区块链技术的发展,智能合约在不同领域都得到了广泛的应用,以太坊成为了最大的智能合约平台。同时,频发的智能合约漏洞造成了巨大的经济损失,智能合约漏洞检测成为了研究焦点,而以往的智能合约漏洞检测工具不能很好地利用合约源代码的语法信息。针对智能合约的可重入漏洞,首先,提出了一种基于深度学习的漏洞检测工具———SCDefender,以智能合约Solidity源代码的抽象语法树形式作为研究对象,使用基于树的卷积神经网络进行漏洞检测。其次,提出了抽象语法树裁剪算法以去除与漏洞检测任务无关的节点,保留抽象语法树中的关键信息。SCDefender漏洞检测的精确度、召回率和F1值分别为81.43%,92.12%和86.45%,具有较好的漏洞检测效果。消融实验表明,抽象语法树裁剪算法对SCDefender的漏洞检测任务具有重大贡献。关键词:区块链;智能合约;漏洞检测;抽象语法树;深度学习中图法分类号TP309SmartContractVulnerabilityDetectionBasedonAbstractSyntaxTreePruningLIUZerun,ZHENGHongandQIUJunjieSchoolofInformationScienceandEngineering,EastChinaUniversityofScienceandTechnology,Shanghai200237,ChinaAbstractWiththedevelopmentofblockchaintechnology,smartcontractshavebeenwidelyusedinvariousfields,andEthereumhasbecomethelargestsmartcontractplatform.Atthesametime,thefrequentsmartcontractvulnerabilitieshavecausedhugeeconomiclosses.Thevulnerabilitydetectionofsmartcontracthasbecomethefocusofresearch,whiletheprevioussmartcontractvulnerabilitydetectiontoolscannotmakegooduseofthesyntaxinformationofthecontractsourcecode.Aimingatthere-entran-cyvulnerabilityofsmartcontract,firstly,thispaperproposesSCDefender,avulnerabilitydetectiontoolbasedondeeplearning.TakingtheabstractsyntaxtreeformoftheSolidity...