该论文针对以太坊上最流行的智能合约编译器——Solidity编译器中的误编译漏洞(miscompilation bugs)进行了系统性的发现与分析。智能合约编译器的正确性对于保证区块链上不可篡改的开源代码的正确执行至关重要。作者开发了SolSmith,一种语义感知的差分模糊测试工具,在三年内持续检测Solidity编译器,发现了25个未被发现的误编译漏洞,其中一些已存在多年。SolSmith通过生成有效的测试程序,压力测试编译器的代码生成和优化组件,从而发现常规测试无法捕获的缺陷。论文的贡献包括:1)使编译器测试更加严格,减少因编译器错误导致的智能合约缺陷;2)对发现的误编译漏洞进行了定性和定量分析,按其性质、根本原因和最终用户影响进行分类,揭示了优化编译器的一些常见陷阱。该研究对于提升Solidity编译器的可靠性和安全性具有重要意义。
💡 推荐理由: 编译器缺陷会导致智能合约执行错误,由于区块链代码不可篡改,可能造成严重的经济损失。本研究系统性地发现并分类了Solidity编译器中的误编译漏洞,为编译器开发者和智能合约开发者提供了关键参考。
🎯 建议动作: 研究跟进