摘要
在区块链平台上,对智能合约进行安全和经济标准合规性检查的需求非常高。目前,审计等人工方法是常用的手段。基于机器学习的自动化技术有望减轻人工工作量和成本。然而,与机器学习技术在其他领域取得巨大成功的应用不同,智能合约审计领域尚未出现系统性的机器学习技术。我们提出了 SC-Bench,第一个用于自动化智能合约审计研究的数据集。SC-Bench 包含 5,377 个在以太坊(一个广泛使用的区块链平台)上运行的真实世界智能合约,以及 15,975 个违反以太坊标准 ERC 的案例。其中,139 个是程序员真实犯下的错误,其余是我们系统性注入的错误,用来模拟不同 ERC 规则的违反情况。我们使用 GPT-4 对 SC-Bench 进行评估,分别以合约和 ERC 规则作为提示。此外,我们手动识别每个违反规则的代码位置(即预言机),并以包含此信息的形式向 GPT-4 提出真假判断问题。我们的结果表明,在没有预言机的情况下,GPT-4 只能检测到 0.9% 的违规行为,而在有预言机的情况下,它可以检测到 22.9% 的违规行为。这些结果表明,基于机器学习的智能合约审计技术仍有很大的改进空间。