ACFIX: Guiding LLMs with Mined Common RBAC Practices for Context-Aware Repair of Access Control Vulnerabilities in Smart Contracts

2024年03月11日
  • 简介
    智能合约容易受到各种安全问题的影响,其中访问控制漏洞是尤其关键的。虽然现有的研究提出了多种检测工具,但自动和适当地修复智能合约中的访问控制漏洞仍然是一个挑战。与现有修复工具通常支持的漏洞类型(如重入)不同,这些漏洞通常是通过基于模板的方法修复的,访问控制的主要障碍在于在非访问控制相关源代码的长列表中识别适当的角色或权限,以生成适当的补丁代码,这需要具有人类智能水平的任务。 利用最近大型语言模型(LLMs)的进展,我们采用最先进的GPT-4模型,并使用一种称为ACFIX的新方法进行增强。关键洞见是,我们可以从主要的代码功能类别中挖掘常见的访问控制实践,并使用它们来指导LLMs修复具有类似功能的代码。为此,ACFIX包括离线和在线两个阶段。首先,在离线阶段,ACFIX从344,251个链上合约中挖掘出常见的基于角色的访问控制(RBAC)实践的分类法,并将从前1000个挖掘出的角色-权限对中分类出49个。其次,在在线阶段,ACFIX跟踪合约中的访问控制相关元素,并使用这些上下文信息以及一条思维链管道来指导LLMs识别主题合约中最合适的角色-权限对,并随后生成适当的补丁。然后,该补丁将进行有效性和效果检查。为了评估ACFIX,我们构建了第一个包含118个真实世界访问控制漏洞的基准数据集,我们的评估结果显示,ACFIX成功修复了94.92%的漏洞。这相对于基线GPT-4而言是一个显著的改进,后者只能达到52.54%。
  • 作者讲解
  • 图表
  • 解决问题
    本论文旨在解决智能合约中的访问控制漏洞问题,提出了ACFIX方案,旨在通过结合大型语言模型和常见的基于角色的访问控制实践,自动和适当地修复AC漏洞。
  • 关键思路
    ACFIX方案结合了离线和在线两个阶段,离线阶段从344,251个区块链合约中挖掘出常见的角色许可对实践,然后在线阶段使用上下文信息和思维链管道指导LLMs识别最适合的角色许可对,并生成适当的修补程序。
  • 其它亮点
    论文提出的ACFIX方案在实验中成功修复了94.92%的AC漏洞,相比基准GPT-4的修复率52.54%有了显著提高。此外,论文还建立了第一个包含118个真实AC漏洞的基准数据集,并探讨了ACFIX的有效性和可扩展性。
  • 相关研究
    相关研究包括基于模板的漏洞修复工具和智能合约漏洞检测工具。例如,SmartCheck是一种静态分析工具,用于检测智能合约中的漏洞,而Securify是一种基于模板的漏洞修复工具。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问