A Human-in-the-Loop Framework for Detecting Logical Vulnerabilities in Smart Contracts
本文提出了一种将自动化分析与针对性人工审查相结合的人机回环(Human-in-the-Loop)框架,用于检测智能合约中的逻辑漏洞,并在 SmartBugs Curated 数据集上证明了其在提高精确度和 F1 分数以及降低误报率方面的显著改进。
原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
在数字世界中,区块链是一个由许多计算机同步维护的共享账本,确保没有任何单个人可以篡改过去。这一系统的核心在于共识协议,这是一套规则,允许这些独立的计算机在不需要中央主管的情况下对什么是事实达成一致。在这层基础之上,开发者编写智能合约,这是一种自动执行的程序,一旦满足特定条件,就会自动执行协议,例如转账或管理资产。虽然这些技术预示着一个信任与自动化新时代的到来,但它们并非不会失败。正如物理锁可能被撬开,或者建筑物可能存在结构性缺陷一样,这些系统背后的代码也可能包含隐藏的错误。其中一些错误是代码中的明显失误,但最危险的是逻辑漏洞。这些不是拼写错误或语法错误,而是实际计划或业务逻辑中的缺陷——即代码完全按照指令运行,但指令本身是错误的。由于这些错误高度依赖于程序的特定用途,计算机很难自行发现它们。
由伊斯兰阿扎德大学大不里士分校的 Alireza Assadzadeh 领导的研究团队提出了一种通过将人类重新引入过程来解决这一特定问题的方法。研究人员认为,虽然自动化工具擅长扫描已知模式的代码,但在处理定义逻辑漏洞的微妙且依赖上下文的错误方面却显得力不从心。为了解决这个问题,他们设计了一个名为“人机回环”(Human-in-the-Loop)的框架,它充当了快速自动化扫描器与细心的专家之间的合作伙伴。该系统分阶段运行。首先,自动化工具扫描智能合约并标记潜在问题,为每个警告分配一个置信度分数,以表示工具对该问题的确定程度。该系统并不会向人类展示每一个警告(否则会造成信息过载),而是会对列表进行过滤。它只将具有高置信度分数的警告传递给人类专家进行最终审查。随后,专家会对这些特定案例进行评审,判断它们是真实的威胁还是虚假警报。这种方法旨在保持机器速度的同时,加入人类判断的细微差别。
为了测试这种方法是否真的有效,研究人员使用了一组已知包含各类安全缺陷的 143 个智能合约进行了实验。他们模拟了标准自动化扫描器的行为,然后应用了他们新的过滤和审查流程。结果显示准确率有了明显的提升。当仅依赖自动化工具时,系统虽然能正确识别真实问题,但也引发了许多虚假警报,导致精确度得分约为 0.71。在这种语境下,精确度衡量的是被标记的问题中有多少实际上是真实的问题。在引入人工审查步骤后,精确度跃升至约 0.84。这意味着虚假警报的数量减少了一半以上,具体减少了 52.2%,同时系统并未漏掉机器最初发现的任何一个真实漏洞。衡量系统整体有效性的指标(即 F1 分数)也从约 0.83 上升到了 0.91。
这项研究表明,这种混合方法为区块链安全领域的一个持久问题提供了切实可行的解决方案。通过让专家仅处理最有可能是问题的候选对象,该系统在减轻工作量的情况下显著增加了结果的可信度。研究人员指出,这对于逻辑漏洞尤为重要,因为这类漏洞通常需要理解预期的业务规则,而非仅仅检查代码结构。虽然研究结果是基于使用现有数据的受控模拟,而非在主要网络上的实时部署,但结果表明,整合人类专业知识可以显著提高检测这些复杂错误时的可靠性。这项工作指向了一个未来:保障去中心化应用的安全性不仅需要更好的软件,还需要自动化工具与人类洞察力之间有结构的协作。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。