Debugging Smart Contract's Business Logic Using Symbolic Model-Checking
智能合约是在区块链内部运行的一种特殊类型的程序。它们是不可变和透明的,提供了实现容错和抗审查服务的方法。不幸的是,它的不变性导致了一个严重的挑战,即在区块链中发布之前,确保业务逻辑和实现是正确的。几起重大事故确实表明,这项技术的用户需要特殊的工具来验证智能合约的正确性。现有的自动检查器只能检测已知的实现错误,而将业务逻辑正确性问题远远抛在一边。在这项工作中,我们提出了一个象征性的模型检验技术,以及一个正式的规格说明方法的一个子集的Solidity程序设计语言,能够表达状态属性和跟踪属性,后者构成了一个弱的类比的时间属性。我们在MiniDAO智能合约上评估了所提出的技术,MiniDAO是臭名昭著的TheDAO的年轻兄弟。我们的概念验证能够在几秒钟内检测到这个智能合约的业务逻辑中的一个重要错误。
2018-12-03 cs.CR cs.LO cs.PL
ConFuzzius: A Data Dependency-Aware Hybrid Fuzzer for Smart Contracts
智能合约是在区块链上执行的图灵完备程序。与传统程序不同,一旦部署,它们就无法修改。随着智能合约的价值越来越高,它们成为攻击者的一个令人兴奋的目标。在过去的几年里,由于简单的编程错误,他们遭受了数百万美元的攻击。因此,已经提出了用于检测错误的各种工具。这些工具中的大多数依赖于符号执行,这可能会由于过度近似而产生误报。最近,许多模糊器被提出来检测智能合约中的错误。然而,这些方法在查找浅层bug时更有效,而在查找深层执行中的bug时效果较差,因此实现了低代码覆盖率和许多假阴性。一种在传统程序中被证明可以取得良好效果的替代方法是混合模糊,它是符号执行和模糊的组合。在这项工作中,我们研究了智能合约的混合模糊,并提出了ConFuzzius,第一个智能合约的混合模糊器。ConFuzzius使用进化模糊来执行智能合约的浅层部分和约束求解,以生成满足复杂条件的输入,从而阻止进化模糊探索更深层的部分。此外,ConFuzzius利用动态数据依赖性分析来有效地生成更有可能导致隐藏错误的合同状态的事务序列。我们通过将ConFuzzius与最先进的智能合约符号执行工具和模糊器进行比较来评估其有效性。我们对128个合同和21K个真实合同的策划数据集进行了评估,结果表明,我们的混合方法检测到更多的错误(高达23%),同时在代码覆盖率方面优于最先进的方法(高达69%),并且数据依赖性分析将错误检测提高了18%。
2021-03-10 cs.CR
Annotary: A Concolic Execution System for Developing Secure Smart Contracts
以太坊智能合约是可执行程序,部署在点对点网络上,并以基于共识的方式执行。它们的字节码是公开的,不可变的,一旦部署到区块链上,就不能再打补丁了。由于智能合约可能持有价值数百万美元的以太币,因此它们是攻击者的诱人目标,事实上,最近一些合约已被成功利用,造成了巨大的经济损失。因此,智能合约的正确性至关重要。虽然存在关于形式化验证的第一种方法,但它们要求用户精通形式化方法,而这些方法对许多开发人员来说是陌生的,并且只能分析单个合同,而不考虑它们的执行环境,即,调用外部合约、交易序列和来自实际区块链存储的值。在本文中,我们介绍了Annotary,这是一个concolic执行框架,用于分析智能合约的漏洞,由开发人员直接在Solidity源代码中编写的注释支持。与现有工作相比,Annotary支持交易间、合约间控制流的分析,并将EVM字节码的符号执行与公共以太坊区块链的具体值解析相结合。虽然Annotary的分析倾向于将精度的权重高于可靠性,但我们分析了事务间调用链,以消除传统符号执行无法处理的不可达状态的误报。我们提出的注释和分析Annotary的概念,解释其实现的激光符号虚拟机的顶部,并演示其使用作为一个插件的崇高文本编辑器。
2019-07-08 cs.CR cs.SC
Detecting Standard Violation Errors in Smart Contracts
SOLAR是一种自动检测以太坊智能合约中违反标准错误的分析工具。给定智能合约的以太坊虚拟机(EVM)字节码和用户指定的来自ERC-20等技术标准的约束或不变量,SOLAR象征性地执行合约,探索所有可能的执行路径,并检查是否可能发起一系列恶意事务以违反指定的约束或不变式。我们的实验结果突出了太阳能在智能合同中发现新的错误的有效性。在评估的779份ERC-20和310份ERC-721智能合约中,SOLAR在197份易受攻击的合约中发现了255个标准违规错误,其中只有3个误报。我们的研究结果对操纵公开交易数字资产的关键智能合约中普遍存在的标准违规错误发出了警告
2019-02-18 cs.CR
SAILFISH: Vetting Smart Contract State-Inconsistency Bugs in Seconds
本文介绍了SAILFISH,这是一个可扩展的系统,用于自动发现智能合约中的状态不一致错误。为了使分析易于处理,我们引入了一种混合方法,包括(i)一个轻量级的探索阶段,大大减少了要分析的指令的数量,以及(ii)一个精确的细化阶段,该阶段基于符号评估,由我们新颖的值汇总分析指导,它生成额外的约束,以过度近似整个程序执行的副作用,从而确保符号评估的精度。我们开发了一个SAILFISH的原型,并评估了它检测两个状态不一致缺陷的能力,即,以太坊智能合约中的可重入性和交易顺序依赖性(TOD)。此外,我们还提出了其他类型智能合约缺陷的检测规则,SAILFISH可以扩展到检测。我们的实验证明了我们的混合方法的效率,以及价值摘要分析的好处。特别是,我们发现S SAILFISH在性能和精度方面优于五种最先进的智能合约分析器(SECURITY,MYTHRIL,OYENTE,SEREUM和VANDAL)。总的来说,SAILFISH在ETHERSCAN的89,853个智能合约中发现了47个以前未知的易受攻击的智能合约。
2021-12-13 cs.CR cs.PL
Securify: Practical Security Analysis of Smart Contracts
无许可区块链允许执行任意程序(称为智能合约),使相互不信任的实体能够在不依赖可信第三方的情况下进行交互。尽管有潜力,但反复出现的安全问题动摇了人们对智能合约处理数十亿美元的信任。为了解决这个问题,我们提出了Securify,一个以太坊智能合约的安全分析器,它是可扩展的,完全自动化的,并且能够证明合约行为对于给定的属性是安全/不安全的。Securify的分析包括两个步骤。首先,它象征性地分析合同的依赖图,从代码中提取精确的语义信息。然后,它检查合规性和违规模式,这些模式捕获了证明属性是否成立的充分条件。为了启用可扩展性,所有模式都用指定的特定于域的语言指定。Securify是公开发布的,它已经分析了用户提交的超过18000个合同,并定期被专家用于进行安全审计。我们在现实世界的以太坊智能合约上对Securify进行了广泛的评估,并证明它可以有效地证明智能合约的正确性并发现关键违规行为。
2018-08-24 cs.CR
The Art of The Scam: Demystifying Honeypots in Ethereum Smart Contracts
现代区块链,如以太坊,可以执行所谓的智能合约-在分散的节点网络上执行的程序。随着智能合约变得越来越受欢迎并带来更多价值,它们成为攻击者更感兴趣的目标。在过去的几年里,一些智能合约被攻击者利用。然而,一种更积极主动的方法似乎正在兴起,攻击者不再搜索易受攻击的合同。相反,他们试图通过部署包含隐藏陷阱的看似脆弱的合同来引诱受害者进入陷阱。这种新型的合同通常被称为蜜罐。在本文中,我们通过调查蜜罐智能合约的流行程度、行为和对以太坊区块链的影响,首次对蜜罐智能合约进行了系统分析。我们开发了一个分类的蜜罐技术,并使用它来构建HoneyBadger -一个工具,采用符号执行和定义良好的算法来暴露蜜罐。我们对200多万份智能合约进行了大规模分析,结果表明,我们的工具不仅精度高,而且效率高。我们识别了690个蜜罐智能合约以及240个野生受害者,蜜罐创建者的累计利润超过90,000美元。我们的人工验证表明,87%的报告合同确实是蜜罐。
2019-05-29 cs.CR
Hunting for Re-Entrancy Attacks in Ethereum Smart Contracts via Static Analysis
以太坊智能合约是在由点对点网络管理的基于共识的区块链中部署和执行的程序。近年来,已经发现了几种旨在窃取以太坊中使用的加密货币Ether的重入攻击,这些加密货币存储在部署的智能合约中。这种攻击的对策是基于执行智能合约本身的动态分析,但它需要花费以太币和提前分析攻击模式的知识。在本文中,我们提出了一个名为\textit{RA (Re-entrancy Analyzer)}的静态分析工具,它结合了符号执行和等价性检查,通过可满足性模理论求解器来分析智能合约对重入攻击的脆弱性。与现有工具相比,RA支持仅使用目标智能合约的以太坊虚拟机字节码来分析合约间行为,即,即使事先不知道攻击模式,也不消耗以太币。此外,RA可以在不执行智能合约的情况下验证是否存在重入攻击漏洞,并且不会提供误报和漏报。我们还提出了一个RA的实现,以评估其在分析部署的智能合约对重入攻击的脆弱性方面的性能,并表明RA可以精确地确定哪些智能合约是脆弱的。
2020-07-02 cs.CR
sCompile: Critical Path Identification and Analysis for Smart Contracts
以太坊智能合约是建立在区块链技术之上的一项创新,它提供了一个以匿名、分布式和可信的方式自动执行合约的平台。与普通程序不同,智能合约一旦部署就无法轻松修补,这一事实放大了这个问题。重要的是要检查智能合约是否存在潜在的漏洞。在这项工作中,我们提出了一种替代方法来自动识别智能合约中的关键程序路径(具有多个函数调用,包括合约间函数调用),根据其关键性对路径进行排名,如果它们不可行则丢弃它们,或者以其他方式向它们提供用户友好的警告以供用户检查。我们确定的路径,涉及货币交易的关键路线,并优先考虑那些可能违反重要属性。对于可伸缩性,符号执行技术仅应用于排名靠前的关键路线。我们的方法已经在一个名为sCompile的工具中实现,该工具已应用于36,099个智能合约。实验结果表明,sCompile是有效的,即,平均5秒完成一个智能合约。此外,我们发现,许多已知的漏洞可以被捕获,如果用户检查少至10 sCompile生成的程序路径。最后,sCompile在用户检查之前发现了224个未知漏洞,误报率为15.4%。
2019-11-06 cs.CR
DogeFuzz: A Simple Yet Efficient Grey-box Fuzzer for Ethereum Smart Contracts
本文提出DogeFuzz,一个支持黑盒及两种灰盒策略的以太坊智能合约模糊测试基础设施,实验表明其在未使用符号执行或机器学习的情况下仍优于sFuzz和ILF,但不及Smartian。
2024-09-03 cs.CR cs.SE
Security Analysis of EOSIO Smart Contracts
EOSIO区块链是代表性的委托权益证明(DPoS)区块链平台之一,最近发展迅速。与此同时,也发现了一些针对顶级EOSIO DApp及其智能合约的漏洞和高调攻击,并在野外观察到,导致严重的财务损失。EOSIO的大多数智能合约都不是开源的,它们通常被编译为WebAssembly(Wasm)字节码,因此分析和检测可能存在的漏洞具有挑战性。在本文中,我们提出了EOSAFE,这是第一个可用于在字节码级别自动检测EOSIO智能合约漏洞的静态分析框架。我们的框架包括一个用于Wasm的实用符号执行引擎,一个用于EOSIO智能合约的定制库仿真器,以及四个由算法驱动的检测器,用于识别EOSIO智能合约中四个最常见的漏洞。实验结果表明,EOSAFE在检测漏洞方面取得了令人满意的结果,F1测量值为98%。我们已将EOSAFE应用于生态系统中所有活跃的53,666个智能合约(截至2019年11月15日)。我们的研究结果表明,超过25%的智能合约是脆弱的。我们进一步分析了针对这些易受攻击的智能合约的可能的利用尝试,并确定了48次野外攻击(其中25次已被DApp开发人员证实),造成至少170万美元的经济损失。
2020-07-30 cs.CR
SCSGuard: Deep Scam Detection for Ethereum Smart Contracts
智能合约是区块链系统的构建块,可以实现自动点对点交易和分散服务。随着智能合约的日益普及,区块链系统,特别是以太坊,已经成为各种欺诈活动的“天堂”,其中庞氏骗局,蜜罐和网络钓鱼是突出的。通过分析代码和函数调用,形式化验证和符号分析已被用于打击这些破坏性的骗局,但每个\emph{individual}骗局的漏洞应谨慎地预定义。在这项工作中,我们提出了SCSGuard,这是一种新型的深度学习欺诈检测框架,它利用智能合约的自动提取字节码作为其新功能。我们设计了一个具有注意力机制的GRU网络,从\emph{N-gram bytecode}模式中学习,并确定智能合约是否具有欺诈性。我们的框架是优于基线算法在三个方面。首先,SCSGuard为不同类型的诈骗提供了统一的解决方案,从而减轻了对代码分析技能的需求。其次,SCSGuard的推理速度比代码分析快几个数量级。第三,实验结果表明,SCSGuard实现了较高的准确率(0.92 $\sim$ 0.94),精确率(0.94 $\sim$ 0.96\%)和召回率(0.97 $\sim$ 0.98)庞氏骗局和蜜罐骗局在类似的设置,并有可能用于检测新的钓鱼智能合约。
2021-05-21 cs.CR
Insecurity Through Obscurity: Veiled Vulnerabilities in Closed-Source Contracts
Yale University(耶鲁大学);University of Warwick(华威大学)
提出SKANF工具,结合控制流去混淆和基于历史交易的符号执行,分析闭源混淆合约中的资产漏洞,在MEV机器人中检测到1030个漏洞并成功利用394个,潜在损失1060万美元。
2026-08-05 cs.CR
DEPOSafe: Demystifying the Fake Deposit Vulnerability in Ethereum Smart Contracts
近年来,由于区块链技术及其经济生态系统的发展,加密货币出现了爆炸性增长。除了比特币,数以千计的加密货币已经在区块链上分发,而数百个加密货币交易所正在出现,以促进数字资产的交易。同时,也吸引了攻击者的注意。假押金作为与交易所和代币相关的最具代表性的攻击(漏洞)之一,在区块链生态系统中经常被观察到,造成了大量的资金损失。然而,除了一些安全报告外,我们的社区缺乏对该漏洞的了解,例如其规模和影响。在本文中,我们采取了第一步,以揭开假存款漏洞。基于我们总结的基本模式,我们实现了DEPOSafe,这是一个自动化工具,用于检测和验证(利用)ERC-20智能合约中的虚假存款漏洞。DEPOSafe集成了基于符号执行的静态分析和基于行为建模的动态验证等关键技术。通过将DEPOSafe应用于176,000个ERC-20智能合约,我们发现了7,000多个可能遭受两种类型攻击的易受攻击合约。我们的研究结果表明,识别和预防假存款漏洞的紧迫性。
2020-06-11 cs.CR
Exploiting The Laws of Order in Smart Contracts
我们调查了基于区块链的智能合约中的一系列错误,我们称之为事件排序(或EO)错误。这些错误与合同事件的动态排序密切相关,即,调用其在区块链上的功能,并实现价值数百万美元的以太币的潜在利用。这种错误的已知示例和检测它们的现有技术已被限制为少量事件排序,通常为1或2。我们的工作提供了一个新的配方,这一般类EO的错误,发现并发性产生的长排列这样的事件。在检测我们制定的EO错误的技术挑战是固有的组合爆破路径和状态空间分析,即使是简单的合同。我们建议首次使用偏序约简技术,使用自动为合约提取的happen-before关系,以及基于动态符号执行技术的其他几种优化。我们构建了一个名为ETHRACER的自动工具,它不需要用户的提示,直接在以太坊字节码上运行。它标记了一万多个合同中的7-11%,每个合同大约18.5分钟,提供了人类分析师可以作为证人运行的紧凑事件跟踪。这些证人是如此紧凑,确认只需要几分钟的人工努力。一半的标记合约都有微妙的EO漏洞,包括携带价值数亿美元的以太币的ERC-20合约。因此,ETHRACER可以有效地检测现有工具无法检测到的一类微妙但危险的错误。
2018-10-27 cs.CR
DeFiTail: DeFi Protocol Inspection through Cross-Contract Execution Analysis
针对DeFi协议恶意事件频发、检测方法不足的问题,本文提出首个基于深度学习的DeFiTail框架,通过跨合约执行路径统一与符号执行栈验证数据路径,实现访问控制与闪电贷攻击的高准确率检测。
2024-05-17 cs.CR
EF/CF: High Performance Smart Contract Fuzzing for Exploit Generation
本文提出高性能以太坊智能合约模糊测试器 EF/CF,通过将字节码转译为 C++ 并利用结构感知变异与 ABI 生成有效输入,高效检测重入等复杂漏洞并自动生成窃取以太币的交易序列。
2023-04-13 cs.CR
Definition and Detection of Defects in NFT Smart Contracts
本文针对NFT智能合约的安全问题,定义了5种缺陷并提出基于符号执行框架的检测工具NFTGuard,在16,527个合约中实现92.6%的精确度。
2023-08-04 cs.CR cs.SE
STAN: Towards Describing Bytecodes of Smart Contract
超过800万个智能合约已经部署到以太坊中,这是支持智能合约的最受欢迎的区块链。然而,只有不到1%的智能合约是开源的,用户很难理解这些闭源合约的功能和内部机制。尽管最近提出了一些智能合约的反编译器,但用户仍然不容易掌握合约的语义信息,更不用说由于反编译错误而可能产生的误导。在本文中,我们提出了第一个名为STAN的系统来生成智能合约字节码的描述,以帮助用户理解它们。特别是,对于智能合约中的每个接口,STAN可以通过利用符号执行和NLP(自然语言处理)技术生成四类描述,包括功能描述、使用描述、行为描述和支付描述。大量的实验表明,STAN能够对合同的字节码进行充分、准确、可读的描述,对用户具有实用价值。
2020-07-19 cs.CR cs.SE
WACANA: A Concolic Analyzer for Detecting On-chain Data Vulnerabilities in WASM Smart Contracts
本文提出 WACANA,通过细粒度模拟链上数据表与 API,并结合覆盖率引导的具体与符号执行,提升 WASM 智能合约漏洞检测的准确性和实用性。
2024-12-05 cs.CR cs.SE
An Ethereum-compatible blockchain that explicates and ensures design-level safety properties for smart contracts
本文提出定理携带交易(TCT)协议,通过要求每笔交易携带并验证安全属性证明,使程序员聚焦设计级属性,从而在以太坊兼容区块链上实现可证明安全的智能合约。
2023-04-17 cs.CR cs.PL
Smart Contract Vulnerability Detection Technique: A Survey
智能合约是区块链最成功的应用之一,正在席卷全球,在区块链生态系统中发挥着至关重要的作用。然而,频繁的智能合约安全事件不仅造成了巨大的经济损失,也破坏了基于区块链的信用体系。因此,智能合约的安全性和可靠性得到了全球研究人员的广泛关注。在本次调查中,我们首先从三个层面总结了智能合约漏洞的常见类型和典型案例,即:Solidity代码层、EVM执行层和Block依赖层。此外,我们回顾了智能合约漏洞检测的研究进展,并将现有的同行分为五类,即,形式化验证、符号执行、模糊检测、中间表示和深度学习。从经验上讲,我们以以太坊上部署的300个真实智能合约作为测试样本,并在准确性,F1分数和平均检测时间方面比较了代表性方法。最后讨论了智能合约漏洞检测领域面临的挑战,并结合深度学习技术展望了未来的研究方向。
2022-09-13 cs.CR cs.PL
Gas Gauge: A Security Analysis Tool for Smart Contract Out-of-Gas Vulnerabilities
本文提出 Gas Gauge 工具,通过静态分析、白盒模糊测试和运行时验证三个阶段,检测、识别并修复以太坊智能合约中由无界循环导致的 Out-of-Gas DoS 漏洞,并在 1,000 个真实合约上验证其优于现有工具。
2022-07-09 cs.CR
FORAY: Towards Effective Attack Synthesis against Deep Logical Vulnerabilities in DeFi Protocols
针对 DeFi 协议跨合约深层逻辑漏洞检测效率低的问题,本文提出 Foray 框架,通过领域特定语言将智能合约提升为金融操作并构建代币流图,结合高效草图生成与符号编译,实现可扩展的攻击合成。
2024-11-20 cs.CR cs.PL
FLAMES: Fine-tuning LLMs to Synthesize Invariants for Smart Contract Security
Umeå University(于默奥大学);KTH Royal Institute of Technology(皇家理工学院)
FLAMES提出一种基于领域自适应大语言模型微调的方法,自动合成智能合约的运行时防护不变量,实现高编译率、高语义匹配率并有效缓解真实漏洞,无需人工干预。
2025-10-24 cs.CR cs.SE
Theorem-Carrying Transactions: Runtime Verification to Ensure Interface Specifications for Smart Contract Safety
针对智能合约安全,提出定理携带交易(TCT)技术,结合具体执行与符号证明,在运行时验证交易符合接口规范,开销极低,成功应用于代币合约和Uniswap。
2025-08-06 cs.CR cs.PL
LLAMA: Multi-Feedback Smart Contract Fuzzing Framework with LLM-Guided Seed Generation
本文提出基于LLM的多反馈智能合约模糊测试框架LLAMA,结合分层提示生成种子、多反馈优化机制和进化模糊引擎,显著提升了代码覆盖率与漏洞检测能力。
2025-07-16 cs.CR cs.SE
Abstract interpretation of Michelson smart-contracts
智能合约的静态分析在区块链平台上变得越来越普遍。分析器依赖于符号执行或模型检验等技术,但很少有分析器能同时提供强可靠性和保证分析的终止性。由于智能合约经常操纵经济资产,因此证明数字属性超出了运行时错误的情况也是可取的。智能合约执行模型与主流程序设计语言有很大不同,并且因区块链而异,使得最先进的分析难以适应。例如,智能合约调用可能会修改影响后续调用的持久性存储。这使得工具很难推断出正式确保不存在可利用漏洞所需的不变量。Tezos区块链中使用的Michelson智能合约语言是强类型的,基于堆栈的,并且具有严格的执行模型,几乎没有隐式运行时错误的机会。我们提出了一个正在进行的静态分析迈克尔逊的基础上抽象解释和MOPSA,一个模块化的静态分析器内实现。我们的工具支持迈克尔逊语义特征,包括对外部契约的内部调用。它可以证明不存在运行时错误,并在无限数量的调用上推断持久存储上的不变量。它也被扩展到证明高级别的数值和安全属性。CCS概念:$\bullet$安全和隐私$\rightarrow$逻辑和验证; $\bullet$软件及其工程$\rightarrow$自动化静态分析。
2022-10-11 cs.CR cs.PL cs.SE
EtherSolve: Computing an Accurate Control-Flow Graph from Ethereum Bytecode
由于以太坊智能合约及其交易的不可变性,已经提出了很多方法来检测缺陷和安全问题,然后智能合约在区块链中变得持久,并被授予对大量财务价值的控制权。由于智能合约源代码可能不可用,静态分析方法主要面临分析编译的以太坊字节码的挑战,这些字节码可直接从官方区块链获得。然而,由于以太坊字节码的内在复杂性(特别是在跳转解析方面),静态分析遇到了重大障碍,降低了现有自动化工具的准确性。本文提出了一种新的基于以太坊操作数堆栈的符号执行的静态分析算法,该算法允许我们解决以太坊字节码中的跳转,并构建编译智能合约的精确控制流图(CFG)。EtherSolve是我们方法的原型实现。在一组重要的现实世界以太坊智能合约上的实验结果表明,EtherSolve相对于最先进的可用方法提高了被执行的CFG的准确性。许多静态分析技术基于代码的CFG表示,因此将受益于CFG的准确提取。例如,我们实现了EtherSolve的一个简单扩展,允许检测重入漏洞的实例。
2021-03-16 cs.CR cs.SE
Multi-Class classification of vulnerabilities in Smart Contracts using AWD-LSTM, with pre-trained encoder inspired from natural language processing
NetTantra Technologies (India) Pvt. Ltd.(NetTantra技术(印度)私人有限公司);Virtual and Augmented Reality Centre of Excellence, IIT Bhubaneswar(布巴内斯瓦尔印度理工学院虚拟与增强现实卓越中心);School of Minerals, Metallurgical and Materials Engineering, IIT Bhubaneswar(布巴内斯瓦尔印度理工学院矿物、冶金与材料工程学院);Centre of Excellence for Novel Energy Materials, IIT Bhubaneswar(布巴内斯瓦尔印度理工学院新型能源材料卓越中心)
智能合约的漏洞检测和安全性至关重要,因为它们具有不可变的性质。OYENTE和MAIAN等符号工具通常用于智能合约中的漏洞预测。由于这些工具在计算上是昂贵的,它们通常用于检测漏洞,直到某个预定义的调用深度。随着调用深度的增加,这些工具需要更多的搜索时间。由于智能合约的数量呈指数级增长,因此很难使用这些传统工具分析合约。最近,一种称为长短期记忆(LSTM)的机器学习技术已被用于二进制分类,即,来预测智能合约是否脆弱。随着调用深度的增加,这种技术需要几乎恒定的搜索时间。在本文中,我们展示了一个多类分类,我们将智能合约分为自杀,挥霍,贪婪或正常类别。我们使用平均随机梯度下降加权LSTM(AWD-LSTM)来执行分类,AWD-LSTM是LSTM的变体。我们通过只考虑普通合约的不同操作码组合来减少类别不平衡(与其他类别相比,大量的普通合约)。我们的加权平均Fbeta评分为90.0%。因此,这些技术可以用来分析大量的智能合约,并帮助提高这些合约的安全性。
2020-03-21 cs.CR cs.IR cs.LG
One Signature, Multiple Payments: Demystifying and Detecting Signature Replay Vulnerabilities in Smart Contracts
Sun Yat-sen University(中山大学);Peng Cheng Laboratory(鹏城实验室);Zhejiang University(浙江大学);Harbin Institute of Technology(哈尔滨工业大学)
本文首次实证研究智能合约签名重放漏洞(SRV),从1419份审计报告识别出5种SRV类型,设计LASiR结合LLM语义理解与符号执行检测漏洞,实验显示其F1值达87.90%,且SRV在目标合约中分布广泛。
2025-11-12 cs.CR cs.SE
SigRec: Automatic Recovery of Function Signatures in Smart Contracts
本文提出SigRec工具,利用EVM处理函数的机制自动从智能合约字节码中恢复函数签名,无需源码或数据库,在0.074秒内达到98.7%准确率,并验证了其在攻击检测、模糊测试和逆向工程中的实用性。
2023-05-11 cs.CR cs.SE
Combining Graph Neural Networks with Expert Knowledge for Smart Contract Vulnerability Detection
Zhejiang Gongshang University(浙江工商大学);Zhejiang University(浙江大学);National University of Singapore(新加坡国立大学);Southern University of Science and Technology(南方科技大学);Zhejiang Lab(之江实验室)
由于黑客攻击造成的巨大损失,智能合约漏洞检测近年来受到广泛关注。现有的合同安全分析工作严重依赖于专家定义的严格规则,这些规则是劳动密集型的,不可扩展的。更重要的是,专家定义的规则往往容易出错,并且存在被狡猾的攻击者欺骗的固有风险。最近的研究集中在用于漏洞检测的智能合约的符号执行和形式化分析上,尚未实现精确和可扩展的解决方案。尽管已经提出了几种方法来检测智能合约中的漏洞,但仍然缺乏考虑将专家定义的安全模式与深度神经网络相结合的努力。在本文中,我们探索使用图神经网络和专家知识的智能合约漏洞检测。具体地说,我们将源代码的丰富的控制流和数据流语义转换为契约图。为了突出图中的关键节点,我们进一步设计了一个节点消除阶段来规范化图。然后,我们提出了一种新的时间消息传播网络提取的图形特征的规范化图,并结合设计的专家模式,产生一个最终的检测系统的图形特征。对所有在以太坊和VNT Chain平台上具有源代码的智能合约进行了广泛的实验。实验结果表明,在三种类型的漏洞,我们的方法的检测准确率达到89.15%,89.02%,和83.21%的可重入性,时间戳依赖性和无限循环漏洞,分别为国家的最先进的方法显着的准确性提高。
2021-07-24 cs.CR cs.LG cs.PL