Not so immutable: Upgradeability of Smart Contracts on Ethereum
在合理的情况下,部署到以太坊等区块链系统的智能合约应该是不可变和防篡改的。这既是一个功能(促进完整性和透明度),也是一个错误(阻止安全补丁和功能更新)。现代智能合约使用软件技巧来实现可验证性,提出了如何实现可验证性以及谁有权进行更改的研究问题。本文总结并评价了六种可解释性模式。我们开发了一个测量框架,用于确定以太坊上有多少使用某些突出升级模式的可验证合约。我们发现了140万个代理合同,其中8,225个是唯一可验证的代理合同。我们还测量了它们如何对其可验证性实施访问控制:大约50%由单个外部所有地址(EOA)控制,大约14%由多签名钱包控制,其中有限数量的人可以改变整个合同的逻辑。
2022-06-01 cs.CR
Application Level Authentication for Ethereum Private Blockchain Atomic Crosschain Transactions
Atomic Crosschain Transaction技术允许在私有以太坊区块链上进行可组合编程。它允许合约间和区块链间的函数调用既同步又原子:如果一部分失败,则整个函数调用的调用图将回滚。传统的以太坊合约函数可以通过专门的应用程序逻辑来限制哪些账户可以调用它们。这很重要,因为它允许应用程序开发人员指定哪些调用方可以执行更新合约状态的函数。在本文中,我们介绍了限制一个区块链上的哪些合约可以调用部署在另一个区块链上的合约中的函数所需的策略。我们证明,验证原始区块链ID(crosschain函数调用启动的区块链),From Blockchain ID和From Account提供了确定性的合约,即函数调用来自特定区块链上的特定合约。
2019-11-19 cs.CR
Reentrancy Vulnerability Identification in Ethereum Smart Contracts
以太坊智能合约使用区块链在没有中央代理的网络上的对等体之间传输价值。这些程序部署在区块链共识协议之上运行的去中心化应用程序上,使人们能够在透明和无冲突的环境中达成协议。这些智能合约中的安全漏洞对应用程序构成了潜在威胁,并给用户造成了巨大的经济损失。在本文中,我们提出了一个结合静态和动态分析来检测以太坊智能合约中的可重入漏洞的框架。该框架基于测试中智能合约的ABI规范生成攻击者合约,并分析合约交互以精确报告可重入漏洞。我们对Etherscan的5个修改后的智能合约进行了初步评估,我们的框架能够检测到所有修改后的合约中的重入漏洞。我们的框架静态分析智能合约以识别潜在的脆弱功能,然后使用动态分析来精确确认可重入漏洞,从而提高性能并减少误报。
2021-05-06 cs.CR
Wallet Contracts on Ethereum -- Identification, Types, Usage, and Profiles
在区块链领域,钱包是管理加密货币和代币访问的任何东西。链下钱包以不同的形式出现,从纸钱包到硬件钱包再到专用钱包应用程序,而链上钱包则以智能合约的形式实现。钱包合约应该通过透明和提供每日限额,批准,多重签名和恢复机制等功能来增加信任和安全性。一般来说,智能合约最突出的平台,特别是令牌生态系统,因此也是钱包合约的平台是以太坊。我们的工作旨在更好地了解以太坊上的钱包合约,因为它们是最频繁部署的智能合约之一。通过分析源代码、字节码和执行跟踪,我们得出使用场景和模式。我们通过查看部署的字节码和链上交互模式,讨论以半自动方式识别钱包合约的方法。我们提取钱包的设计图并编译一个地面实况。此外,我们区分了使用中的钱包的特征,并将其分为六种类型。我们提供有关创建和使用钱包的数字和时间观点。对于这40张确定的蓝图,我们编制了详细的轮廓。我们分析了2020年12月22日开采的以太坊主链的数据,最多可达11,500,000个区块。
2021-04-04 cs.CR
EtherClue: Digital investigation of attacks on Ethereum smart contracts
以太坊智能合约中的编程错误可能会导致被盗加密货币造成灾难性的财务损失。虽然漏洞检测器可以阻止部署易受攻击的合约,但这并不意味着不会部署此类合约。一旦易受攻击的合同在区块链上实例化并成为攻击的目标,识别利用交易就变得不可或缺,以评估它是否实际被利用,并确定涉及哪些恶意或被破坏的账户。在这项工作中,我们研究了以太坊攻击的事后调查问题,使用专门为区块链设计的妥协指标(IoC)。IoC定义需要在以太坊区块链的上下文中捕获成功利用的副作用。因此,我们定义了一个智能合约执行模型,包括多个抽象级别,这些抽象级别反映了区块链上代码执行的多个视图。随后,我们通过EtherClue(一种用于调查以太坊安全事件的原型工具)比较了不同级别定义的IoC的有效性和实用性。我们的研究结果表明,在交易块上定义的粗粒度IoC可以用更少的计算来检测利用交易;然而,它们是特定于合同的,并且会出现误报。另一方面,在虚拟机指令上定义的细粒度IoC可以以增加的计算为代价避免这些陷阱,但这仍然适用于实际使用。
2021-09-02 cs.CR
SmartScan: An approach to detect Denial of Service Vulnerability in Ethereum Smart Contracts
区块链技术(BT)以太坊智能合约允许可编程交易,这些交易涉及独立于中央授权机构的BT网络上的同行之间的货币资产转移。以太坊智能合约是部署为去中心化应用程序的程序,具有区块链共识协议的构建块。这项技术使消费者能够在透明和无冲突的环境中达成协议。然而,这些智能合约中的安全漏洞对应用程序及其消费者构成了潜在威胁,并在过去造成了巨大的经济损失。在本文中,我们提出了一个框架,结合静态和动态分析来检测由于以太坊智能合约中的意外恢复而导致的拒绝服务(DoS)漏洞。我们的框架SmartScan静态扫描测试中的智能合约(SCUT),以识别这些SCUT中可能存在漏洞的模式,然后使用动态分析来精确确认其对DoS-Unexpected Revert漏洞的利用,从而实现更高的性能和更精确的结果。我们在从Etherscan收集的500个智能合约上评估了SmartScan。与现有的最先进的技术相比,我们的方法在精确度和召回率方面有所提高。
2021-05-20 cs.CR
A Semantic Framework for the Security Analysis of Ethereum smart contracts
智能合约是在加密货币上运行的程序(例如,以太坊(Ethereum)区块链,其流行源于在分布式环境中执行金融交易(如支付和拍卖)的可能性,而不需要任何可信的第三方。鉴于其财务性质,这些程序中的漏洞或漏洞可能会导致灾难性的后果,最近的攻击就是明证。不幸的是,编程智能合约是一项微妙的任务,需要强大的专业知识:以太坊智能合约是用Solidity编写的,这是一种类似于JavaScript的专用语言,并以EVM字节码格式在区块链上发布。为了严格验证智能合约的安全性,最重要的是将其语义以及感兴趣的安全属性形式化,特别是在执行的字节码级别。在本文中,我们提出了EVM字节码的第一个完整的小步语义,我们在F* 证明助手中对其进行了形式化,获得了我们成功验证官方以太坊测试套件的可执行代码。此外,我们首次正式定义了智能合约的一些中央安全属性,例如调用完整性,原子性和独立于矿工控制参数。这种形式化依赖于hyper属性和safety属性的组合。在这项工作中,我们发现了以太坊智能合约现有语义和验证工具中的各种错误和不精确之处,从而再次证明了严格的语义基础对于安全验证技术设计的重要性。
2018-04-23 cs.CR
A Survey of Security Vulnerabilities in Ethereum Smart Contracts
基于区块链技术(BT)的以太坊智能合约使区块链网络上的同行之间的货币交易独立于中央授权机构。以太坊智能合约是部署为去中心化应用程序的程序,具有区块链共识协议的构建块。这使消费者能够在透明和无冲突的环境中达成协议。然而,这些智能合约中存在一些安全漏洞,对应用程序及其消费者构成潜在威胁,并在过去造成了巨大的经济损失。在这项研究中,我们回顾了现有的文献和广泛的BT应用程序进行分类。由于以太坊智能合约主要应用于电子商务应用程序,我们认为这些应用程序更容易受到攻击。在这些智能合约中,我们主要关注识别智能合约的程序员和用户必须避免的漏洞。本文旨在通过分析这些安全漏洞过去的利用案例场景,解释八个特定于BT应用级别的漏洞。我们还审查了一些可用的工具和应用程序,检测这些漏洞的方法和有效性。我们还调查了用于识别这些安全漏洞的检测工具的可用性,以及用于识别其中一些漏洞的检测工具的缺乏情况
2021-05-14 cs.CR
Security Analysis of Smart Contract Migration from Ethereum to Arbitrum
本文首次深入分析智能合约从 Ethereum 迁移至 Arbitrum 的安全风险,通过分析 36 类迁移案例总结出 4 类典型案例的跨链消息、区块属性等差异引发的风险,并提出规避方法与安全注意事项。
2024-07-29 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
A security framework for Ethereum smart contracts
针对智能合约漏洞分析工具异构、学习曲线陡峭的问题,提出以太坊安全分析框架ESAF,统一并简化漏洞分析,兼具持久监控与经典分析功能。
2024-02-05 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
A Survey on Vulnerabilities of Ethereum Smart Contracts
智能合约(SC)是区块链技术的延伸。以太坊区块链是第一个将SC纳入其中的区块链,从而开启了加密货币和电子交易的新时代。坚固性有助于对SC进行编程。尽管如此,在2014年Solidity出现后不久,基于Solidity的SC遭受了许多攻击,剥夺了SC账户持有人的宝贵资金。这些攻击的主要原因是存在的SC漏洞。本文讨论了SC漏洞,并根据领域知识的错误操作进行分类。这种分类提醒开发人员和软件工程师,为了SC的安全性,每个SC都需要使用有效的工具进行适当的测试,以捕获这些类的漏洞。
2020-12-28 cs.CR
Hunting the Ethereum Smart Contract: Color-inspired Inspection of Potential Attacks
Leopard Mobile Inc. (Cheetah Mobile Taiwan Agency)(豹趣科技有限公司(猎豹移动台湾代理商));National Cheng Kung University(国立成功大学)
区块链和加密货币正在获得前所未有的普及和理解。与此同时,以太坊在区块链社区中越来越受欢迎,主要是因为它的设计方式使开发人员能够编写智能合约和去中心化应用程序(Dapps)。这种新的应用模式为许多可能性和机会打开了大门。然而,以太坊智能合约的安全性并没有得到太多的关注;最近有报道称,有几个以太坊智能合约出现了故障。与之前许多应用静态和动态分析来发现智能合约中的错误的工作不同,我们不试图定义和提取任何特征;相反,我们专注于降低专家的劳动力成本。我们首先提出了一种新的深入分析潜在的攻击方法,然后将solidity的字节码转换为RGB颜色代码。之后,我们将它们转换为固定大小的编码图像。最后,编码后的图像被送入卷积神经网络(CNN)进行自动特征提取和学习,检测以太坊智能合约的编译器错误。
2018-07-05 cs.CR cs.LG
Security Analysis of Ponzi Schemes in Ethereum Smart Contracts
Hainan University(海南大学)
本文针对以太坊智能合约中的庞氏骗局,从程序分析角度探讨其结构特征,并利用Mythril工具进行静态和动态分析,同时通过脚本批量检测开源合约,揭示其共同特征。
2026-08-04 cs.CR
Abusing the Ethereum Smart Contract Verification Services for Fun and Profit
本文首次全面分析了以太坊智能合约验证服务的安全性,发现了8类共19个可被滥用以传播恶意合约的漏洞,呼吁社区紧急应对此类威胁。
2023-07-02 cs.CR
Targeting the Weakest Link: Social Engineering Attacks in Ethereum Smart Contracts
以太坊以以太加密货币和ERC-20代币的形式持有数十亿美元,数百万部署的智能合约通过算法操作这些资金。毫不奇怪,以太坊智能合约的安全性一直受到严格的审查。近年来,已经开发了许多防御工具来检测不同类型的智能合约代码漏洞。当利用代码漏洞的机会减少时,攻击者开始诉诸社会工程攻击,其目的是影响人类-通常是系统中最薄弱的环节。以太坊中唯一已知的一类社会工程攻击是蜜罐,它为试图利用现有漏洞的攻击者设置隐藏的陷阱,从而只针对一小部分潜在受害者。在这项工作中,我们探索了智能合约蜜罐之外新的社会工程攻击的可能性和存在性。我们提出了两类新的以太坊社会工程攻击-地址操纵和同形异义词-并开发了六种零日社会工程攻击。为了展示如何在流行的编程模式中使用攻击,我们对五种流行的智能合约进行了案例研究,这些智能合约的总市值超过290亿美元,并将我们的攻击模式整合到其源代码中,而不改变其现有功能。此外,我们发现这些攻击在测试阶段保持休眠状态,但仅在最终的生产部署中激活其恶意逻辑。我们进一步分析了85,656个开源智能合约,发现其中1,027个可用于拟议的社会工程攻击。我们对来自七家智能合约审计公司的专家进行了专业意见调查,证实了暴露的社会工程攻击对智能合约系统带来了重大威胁。
2021-05-29 cs.CR
The Eye of Horus: Spotting and Analyzing Attacks on Ethereum Smart Contracts
近年来,以太坊获得了极大的普及,从2016年1月的日均交易量1万增长到2020年1月的日均交易量50万。同样,智能合约开始承载更多价值,使其成为攻击者的吸引力目标。结果,他们开始成为袭击的受害者,损失数百万美元。为了应对这些攻击,学术界和工业界都提出了大量的工具来扫描智能合约的漏洞,然后再将它们部署到区块链上。然而,这些工具中的大多数只专注于检测漏洞而不是攻击,更不用说量化或跟踪被盗资产的数量了。在本文中,我们介绍了Horus,这是一个基于逻辑驱动和图形驱动的交易分析来自动检测和调查智能合约攻击的框架。Horus提供了快速的方法来量化和跟踪以太坊区块链上被盗资产的流动。我们对以太坊上部署的所有智能合约进行了大规模分析,直到2020年5月。我们发现了1,888个受攻击的智能合约和8,095个对抗性交易。我们的调查显示,在过去几年中,攻击的数量并没有减少,但对于某些漏洞仍然保持不变。最后,我们还证明了我们的框架的实用性,通过对最近的Uniswap和Lendf.me攻击的深入分析。
2021-01-15 cs.CR
Security Analysis Methods on Ethereum Smart Contract Vulnerabilities: A Survey
智能合约是以传统应用程序和区块链上的分布式数据存储为特征的软件程序。以太坊是一个著名的区块链平台,支持智能合约。智能合约在关键的去中心化应用程序中充当自主智能体,并持有大量加密货币来执行可信交易和协议。在2016年至2018年期间,数百万美元的智能合约资产被窃取或冻结,这些攻击是臭名昭著的,例如DAO攻击、奇偶校验多签名钱包攻击和整数下溢/上溢攻击。这些攻击是由设计和实现软件代码中的技术缺陷引起的。然而,由于Solidity语言的脚本性质和区块链的不可更新特性,还将发现更多严重程度较低的漏洞。因此,我们调查了智能合约程序中的16个安全漏洞,其中一些漏洞没有适当的解决方案。本次调查旨在从以太坊智能合约的内部机制和软件安全漏洞的角度来识别以太坊智能合约中的关键漏洞。通过关联16个以太坊漏洞和19个软件安全问题,我们预测许多攻击尚未被利用。我们已经探索了许多软件工具来检测智能合约在静态分析,动态分析和形式化验证方面的安全漏洞。该调查介绍了智能合约中的安全问题以及可用的分析工具和检测方法。我们还调查了工具或分析方法在智能合约的安全漏洞方面的局限性。
2020-09-16 cs.CR
Characterizing Code Clones in the Ethereum Smart Contract Ecosystem
在本文中,我们提出了第一个大规模和系统的研究,以描述以太坊智能合约生态系统中的代码重用实践。我们首先对我们收集的1000万个合同的数据集进行了详细的相似性比较研究,然后我们进一步进行了定性分析,以表征生态系统的多样性,了解代码重用与漏洞之间的相关性,并检测抄袭者DApp。我们的分析显示,超过96%的合同都是重复的,而其中很多合同都是相似的,这表明生态系统是高度同质的。我们的研究结果还表明,大约9.7%的类似合同对具有完全相同的漏洞,我们假设这些漏洞是由代码克隆引入的。此外,我们还发现了41个DApps集群,涉及73个抄袭的DApps,这些DApps给原创作者造成了巨大的经济损失,占原市场量的1/3。
2019-05-01 cs.CR
Ponzi Scheme Detection in EthereumTransaction Network
随着区块链的快速发展,吸引了越来越多的用户,并在不同领域刷新了许多实现。特别是在加密货币投资领域,区块链技术展现出蓬勃的生命力。然而,随着网上业务的兴起,许多欺诈活动,例如,洗钱、贿赂、网络钓鱼和其他行为成为对交易安全的主要威胁。由于以太坊的开放性,研究人员可以轻松访问以太坊交易记录和智能合约,这为以太坊诈骗检测和分析带来了前所未有的机会。庞氏骗局是一种典型的欺诈行为,给以太坊用户造成了巨大的财产损失。通过验证庞氏合约以维持以太坊的可持续发展,我们将庞氏骗局识别和检测建模为节点分类任务。本文首先收集目标合约的交易信息建立交易网络,提出一种基于图卷积网络(GCN)的庞氏合约检测模型。在不同真实以太坊数据集上的实验表明,与一般的机器学习方法相比,该模型具有很好的庞氏骗局检测效果。
2021-04-17 cs.CR
On-Chain Analysis of Smart Contract Dependency Risks on Ethereum
本文首次对以太坊智能合约依赖风险进行大规模实证研究,发现交易多合约依赖、生态系统极端中心化、核心合约可变性及实际依赖复杂度远超文档,为区块链安全提供了关键见解。
2025-04-02 cs.CR cs.SE
Dual-view Aware Smart Contract Vulnerability Detection for Ethereum
Institute of Cyberspace Security, Zhejiang University of Technology(浙江工业大学网络空间安全研究院);Binjiang Institute of Artificial Intelligence, ZJUT(浙江工业大学滨江人工智能研究院)
本文提出双视图感知智能合约漏洞检测框架DVDet,通过融合源代码加权图与字节码控制流序列捕获风险特征,在以太坊数据集上取得优于现有方法的漏洞检测效果。
2024-06-29 cs.CR cs.LG
Shackled: a 3D Rendering Engine Programmed Entirely in Ethereum Smart Contracts
以太坊区块链允许开发和部署智能合约,这些智能合约可以在“链上”存储和执行代码,也就是说,完全在区块链网络中的节点上。智能合约传统上用于金融目的,但由于智能合约是图灵完备的,因此其算法范围比任何单一领域都要广泛。为此,我们设计、开发和部署了一个完全在以太坊智能合约中编程的综合3D渲染引擎,称为Shackled。Shackled从3D场景中计算2D图像,在以太坊上执行链上的每一次计算。据我们所知,Shackled是以太坊第一个也是唯一一个完全链上的3D渲染引擎。在这项工作中,我们1)提供三个独特的数据集,用于使用和基准测试Shackled,2)执行所述基准测试并提供结果,3)展示Shackled在令牌化生成艺术领域的潜在用例,4)为Shackled提供无代码用户界面,5)列举与Solidity智能合约中编程复杂算法相关的挑战,以及6)概述改进Shackled平台的潜在方向。我们希望这项工作能够提高以太坊区块链的本地图形处理能力,并能够增加智能合约对更复杂算法的使用,从而增加以太坊生态系统的整体丰富性。
2023-01-17 cs.CR cs.GR
Designing Secure Ethereum Smart Contracts: A Finite State Machine Based Approach
基于区块链的分布式计算平台的采用正在快速增长。其中一些平台,如以太坊,为实施智能合约提供支持,这些智能合约预计将在包括金融和物联网在内的广泛领域中具有新颖的应用。然而,在实践中部署的大量智能合约存在安全漏洞,使恶意用户能够从合约中窃取资产或造成损害。漏洞是一个严重的问题,因为合同可能处理价值可观的金融资产,而合同漏洞在设计上是不可修复的。为了帮助开发人员创建更安全的智能合约,我们引入了FSolidM,这是一个基于严格语义的框架,用于将合约设计为有限状态机(FSM)。我们提供了一个工具,用于在易于使用的图形界面上创建FSM,并自动生成以太坊合约。此外,我们引入了一组设计模式,我们将其实现为插件,开发人员可以轻松地将其添加到他们的合同中,以增强安全性和功能。
2017-11-26 cs.CR cs.FL cs.SE
Eth2Vec: Learning Contract-Wide Code Representations for Vulnerability Detection on Ethereum Smart Contracts
Osaka University(大阪大学);National Institute of Technology, Nara College(奈良工业高等专门学校)
以太坊智能合约是在以太坊区块链上运行的程序,在过去十年中发现了许多智能合约漏洞。已经创建了许多安全分析工具来检测此类漏洞,但是当要分析的代码被重写时,它们的性能急剧下降。在本文中,我们提出了Eth2Vec,这是一种基于机器学习的静态分析工具,用于漏洞检测,对智能合约中的代码重写具有鲁棒性。现有的基于机器学习的漏洞检测静态分析工具需要分析人员手动创建的特征作为输入。相比之下,Eth2Vec通过用于语言处理的神经网络自动学习具有隐性知识的易受攻击的以太坊虚拟机(EVM)字节码的特征。因此,Eth2Vec可以通过比较目标EVM字节码与其已经学习的EVM字节码之间的代码相似度来检测智能合约中的漏洞。我们对现有的开放数据库(如Etherscan)进行了实验,结果表明Eth2Vec在众所周知的指标方面优于现有的工作,即,精确度、召回率和F1分数。此外,Eth2Vec甚至可以检测重写代码中的漏洞。
2021-01-08 cs.CR cs.LG cs.SE
A Fly in the Ointment: An Empirical Study on the Characteristics of Ethereum Smart Contracts Code Weaknesses and Vulnerabilities
背景:智能合约是在区块链上自动执行的计算机程序。其实施中的漏洞导致了加密货币的严重损失。智能合约在部署到以太坊区块链时变得不可变。因此,必须了解以太坊智能合约中漏洞的性质,以便在未来防止它们。现有的分类是存在的,但在几个方面受到限制。目标:我们的目标是描述用Solidity编写的以太坊智能合约中的漏洞,并统一现有的分类方案。方法:我们从公共编码平台和流行的漏洞数据库中提取了2143个漏洞,并使用卡片排序方法对其进行分类。我们在本文中针对以太坊区块链,因为它是第一个也是最受欢迎的支持智能合约部署的区块链,而Solidity是实现智能合约最广泛使用的语言。我们根据错误来源和影响设计了智能合约漏洞的分类方案。然后,我们将现有的分类方案映射到我们的分类。结果如下:由此产生的分类包括描述脆弱性误差来源的11个类别和描述潜在影响的13个类别。我们的研究结果表明,语言特定的编码和结构的数据流类别是占主导地位的类别,但发生的频率之间的数据源有很大的不同。结论:我们的研究结果使研究人员能够通过定义问题的各个维度来更好地理解智能合约漏洞,并通过基于文献的分类和定义类别的频率分布来支持我们的分类。
2022-03-28 cs.CR cs.SE
Understanding and Characterizing Obfuscated Funds Transfers in Ethereum Smart Contracts
Singapore Management University(新加坡管理大学);Stevens Institute of Technology(史蒂文斯理工学院)
本文提出ObfProbe框架,通过字节码分析揭示以太坊智能合约中的混淆技术,发现高混淆合约的财务风险和检测时间显著增加,同时展示现有反欺诈工具在混淆环境下的性能下降。
2026-01-24 cs.CR
EthCluster: An Unsupervised Static Analysis Method for Ethereum Smart Contract
Institute of Information Security National Tsing Hua University Hsinchu, Taiwan;Department of Computer Science National Tsing Hua University Hsinchu, Taiwan
EthCluster提出一种基于无监督聚类和离群点检测的以太坊智能合约静态分析方法,利用真实漏洞数据集训练模型,可检测重入、访问控制等五类漏洞。
2026-10-15 cs.CR
An Automated Analyzer for Financial Security of Ethereum Smart Contracts
针对以太坊智能合约财务安全难以大规模精确分析的问题,提出 FASVERIF 自动化分析器,自动生成验证模型与安全属性,并在漏洞数据集上展现出更高准确性和覆盖度。
2023-03-24 cs.CR
EventWarden: A Decentralized Event-driven Proxy Service for Outsourcing Arbitrary Transactions in Ethereum-like Blockchains
交易是区块链的基本组成部分,因为它们是用户改变区块链状态的主要手段。当前的区块链系统,如比特币和以太坊,要求用户不断观察区块链中发生的事件或感兴趣的状态变化,并要求用户显式释放所需的交易以响应区块链中观察到的事件。本文提出了EventWarden,这是一种分散的事件驱动代理服务,供用户在类似以太坊的区块链中外包交易。EventWarden采用了智能合约和区块链日志的新颖组合。EventWarden允许用户创建一个代理智能合约,指定一个感兴趣的事件,并保留一个任意的交易来释放。在观察到指定事件发生后,区块链网络中的任何人都可以调用代理合约,通过向合约证明事件已记录到区块链日志中来赚取合约中预留的服务费,然后自动触发代理合约释放预留的交易。我们证明了只有当指定事件发生时,保留交易才能从代理合同中释放出来。我们还证明,只要区块链网络中的单个成员在规定的事件发生后被服务费激励调用代理合约,保留的交易就保证会被释放。我们在以太坊官方测试网络上实现EventWarden。实验结果表明EventWarden是有效的,并且在实践中是现成的。
2020-06-05 cs.CR
PhishingHook: Catching Phishing Ethereum Smart Contracts leveraging EVM Opcodes
PhishingHook通过直接分析智能合约字节码和操作码,利用机器学习检测钓鱼活动,在7,000个真实恶意合约上比较16种技术,平均准确率约90%。
2025-06-24 cs.CR
Characterizing Transaction-Reverting Statements in Ethereum Smart Contracts
智能合约是在区块链上运行以执行交易的程序。当输入约束或安全属性在运行时被违反时,智能合约执行的交易需要恢复,以避免不良后果。在支持智能合约的最受欢迎的区块链以太坊上,开发人员可以在三种交易恢复语句中进行选择(即,要求,如果...恢复原状如果处理异常交易。虽然这些交易恢复语句对于防止智能合约表现出异常行为或遭受恶意攻击至关重要,但人们对它们在实践中如何使用的理解有限。在这项工作中,我们进行了第一次实证研究,以描述以太坊智能合约中的交易恢复语句。我们测量了这些语句在流行的dapps中的3,866个已验证智能合约中的流行程度,并通过手动分析557个事务恢复语句建立了它们的目的分类。我们还比较了模板契约及其相应的自定义契约,以了解开发人员如何自定义事务恢复语句的使用。最后,我们分析了交易恢复语句的安全影响,将它们从智能合约中删除,并将突变合约与原始合约进行比较。我们的研究得出了重要的发现,这些发现可以为智能合约质量保证这一广泛领域的进一步研究提供指导,并为智能合约开发人员提供适当使用交易恢复语句的实用指导。
2021-09-01 cs.CR cs.SE
Tool Demonstration: FSolidM for Designing Secure Ethereum Smart Contracts
基于区块链的分布式计算平台能够在没有可信代理的情况下实现以智能合约形式定义的可信计算执行。智能合约被设想有各种各样的应用,从金融到物联网资产跟踪。不幸的是,智能合约的开发被证明是非常容易出错的。在实践中,合同充满了安全漏洞,这是一个关键问题,因为漏洞在设计上是不可修复的,合同可能处理价值重大的金融资产。为了促进安全智能合约的开发,我们创建了FSolidM框架,允许开发人员将合约定义为具有严格和清晰语义的有限状态机(FSM)。FSolidM提供了一个易于使用的图形编辑器,用于指定FSM,一个用于创建以太坊智能合约的代码生成器,以及一组开发人员可以添加到FSM中以增强安全性和功能的插件。
2018-02-26 cs.CR cs.FL cs.SE
VeriSmart: A Highly Precise Safety Verifier for Ethereum Smart Contracts
我们介绍了VeriSmart,一个高度精确的验证器,用于确保以太坊智能合约的算术安全性。编写没有意外行为的安全智能合约至关重要,因为智能合约是不可变的,即使是一个缺陷也可能造成巨大的财务损失。特别是,确保算术运算是安全的,是当今以太坊智能合约最重要和最常见的安全问题之一。作为回应,在过去的几年里,已经提出了几种安全分析器,但最先进的技术仍然不能令人满意;没有现有的工具同时实现高精度和召回,本质上局限于产生烦人的假警报或错过关键错误。相比之下,VeriSmart的目标是一个不妥协的分析器,执行详尽的验证,而不影响精度或可扩展性,从而大大减少了手动检查未发现或不正确报告的问题的负担。为了实现这一目标,我们提出了一种新的特定于域的算法来验证智能合约,该算法能够自动发现和利用精确分析智能合约所必需的交易不变量。对真实世界智能合约的评估表明,VeriSmart可以检测到所有算术错误,而错误警报的数量可以忽略不计,远远超过现有的分析器。
2019-08-30 cs.CR cs.PL
Proxion: Uncovering Hidden Proxy Smart Contracts for Finding Collision Vulnerabilities in Ethereum
Proxion是一种自动化跨合约分析器,通过分析缺乏源代码和历史交易的隐藏智能合约,识别以太坊中所有代理合约及其碰撞漏洞,在覆盖范围和检测能力上显著优于现有工具。
2024-09-20 cs.CR cs.ET cs.SE
TxT: Real-time Transaction Encapsulation for Ethereum Smart Contracts
以太坊是一个无需许可的区块链生态系统,支持智能合约的执行,是去中心化金融(DeFi)和不可替代代币(NFT)的关键推动者。然而,以太坊智能合约的表现力是一把双刃剑:虽然它实现了区块链的可编程性,但它也引入了安全漏洞,即,合同代码的预期行为和实际行为之间的可利用差异。为了解决这些差异并增加漏洞覆盖率,我们提出了一种新的智能合约安全测试方法,称为交易封装。其核心思想在于在完全同步但隔离的以太坊节点上本地执行交易,这会在区块链的当前状态下创建交易序列结果的预览。这种方法提出了一个关键的技术挑战--众所周知的检查时间/使用时间(TOCTRIO)问题,即,确保最终事务将呈现与封装的测试事务相同的执行路径。在这项工作中,我们确定了测试交易的保证执行路径可复制性的确切条件,并实现了一个交易测试工具TxT,它揭示了以太坊交易的实际结果。为了确保测试的正确性,TxT确定性地验证给定的事务序列是否在区块链的当前状态上具有相同的执行路径。我们分析了超过13亿笔以太坊交易,并确定其中96.5%可以通过TxT进行验证。我们进一步表明,TxT成功地揭示了智能合约弱点分类(SWC)注册表中37个漏洞中的31个(83.8%覆盖率)相关的可疑行为。相比之下,所有现有防御方法的漏洞覆盖率仅为40.5%。
2023-01-20 cs.CR cs.DC
iBatch: Saving Ethereum Fees via Secure and Cost-Effective Batching of Smart-Contract Invocations
本文介绍了iBatch,这是一个运行在以太坊网络上的中间件系统,可以针对不可信的中继服务器离线安全地调用智能合约。iBatch通过在智能合约中验证服务器的批量调用而无需额外的状态,从而以较低的开销实现这一点。iBatch机制支持各种策略,从保守策略到积极策略,并且可以根据当前工作负载进行自适应配置。iBatch自动重写智能合约,以与传统应用程序集成并支持大规模部署。对于成本评估,我们开发了一个具有快速和成本准确的交易回放的平台,在流行的以太坊应用程序上构建了真实的交易基准,并在以太坊上构建了iBatch的功能原型。评测结果显示,iBatch在2分钟延迟的情况下,每次调用节省了14.6%-59.1%的Gas开销;在0.26-1.66个区块延迟的情况下,每次调用节省了19.06%-31.52%的Ether开销。
2021-08-24 cs.CR cs.SY eess.SY
Vulnerability Scanners for Ethereum Smart Contracts: A Large-Scale Study
本研究通过大规模多数据集评估17款漏洞扫描器,发现现有工具在检测以太坊智能合约漏洞方面性能普遍不佳,揭示当前技术尚不能有效解决该开放问题。
2023-12-27 cs.CR
Static Analysis for Detecting Transaction Conflicts in Ethereum Smart Contracts
本文提出一种静态分析方法,通过分析 Solidity 合约的状态变量访问模式检测交易对间的读-写、写-写和函数调用冲突,并在真实数据集上验证了高精确度,为提升验证者吞吐量和区块链可扩展性提供支持。
2025-07-22 cs.CR cs.DC
EtherSolve: Computing an Accurate Control-Flow Graph from Ethereum Bytecode
由于以太坊智能合约及其交易的不可变性,已经提出了很多方法来检测缺陷和安全问题,然后智能合约在区块链中变得持久,并被授予对大量财务价值的控制权。由于智能合约源代码可能不可用,静态分析方法主要面临分析编译的以太坊字节码的挑战,这些字节码可直接从官方区块链获得。然而,由于以太坊字节码的内在复杂性(特别是在跳转解析方面),静态分析遇到了重大障碍,降低了现有自动化工具的准确性。本文提出了一种新的基于以太坊操作数堆栈的符号执行的静态分析算法,该算法允许我们解决以太坊字节码中的跳转,并构建编译智能合约的精确控制流图(CFG)。EtherSolve是我们方法的原型实现。在一组重要的现实世界以太坊智能合约上的实验结果表明,EtherSolve相对于最先进的可用方法提高了被执行的CFG的准确性。许多静态分析技术基于代码的CFG表示,因此将受益于CFG的准确提取。例如,我们实现了EtherSolve的一个简单扩展,允许检测重入漏洞的实例。
2021-03-16 cs.CR cs.SE
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
Evolution of Ethereum: A Temporal Graph Perspective
以太坊是最受欢迎的区块链系统之一,每天支持超过50万笔交易,并通过其图灵完备的智能合约机促进各种分散的应用程序。然而,以太坊的交易模式是什么以及它如何随着时间的推移而演变仍然是个谜。在本文中,我们从时间图的角度研究了以太坊交易的演化行为。我们首先开发一个数据分析平台,收集与用户相关的外部交易以及由智能合约发起的内部交易。根据交易关系构造了用户-用户、合同-合同和用户-合同三种时态图,并利用适当的时间窗口进行分割。我们观察到用户对用户交易图的大小与时间窗口中的平均以太币价格之间存在很强的相关性,而在平均度,平均边权重和平均三重闭合持续时间方面没有证据表明这种联系。验证了以太坊交易的宏观和微观突发性。我们分析了交易图和用户财富的基尼指数,发现以太坊从一开始就非常不公平,从某种意义上说,“富人已经很富有了”。
2020-01-15 cs.CR cs.SI
DogeFuzz: A Simple Yet Efficient Grey-box Fuzzer for Ethereum Smart Contracts
本文提出DogeFuzz,一个支持黑盒及两种灰盒策略的以太坊智能合约模糊测试基础设施,实验表明其在未使用符号执行或机器学习的情况下仍优于sFuzz和ILF,但不及Smartian。
2024-09-03 cs.CR cs.SE
Trustless Machine Learning Contracts; Evaluating and Exchanging Machine Learning Models on the Ethereum Blockchain
使用区块链技术,可以创建合同,提供奖励,以换取特定数据集的经过训练的机器学习模型。这将允许用户以不信任的方式训练机器学习模型以获得奖励。智能合约将使用区块链自动验证解决方案,因此不会存在关于解决方案是否正确的争论。提交解决方案的用户不会有交易对手的风险,他们不会因为他们的工作而得到报酬。任何拥有数据集的人都可以轻松创建合约,甚至可以通过软件代理程序来创建。这创造了一个市场,擅长解决机器学习问题的各方可以直接将他们的技能货币化,并且任何组织或软件代理都可以用AI解决问题,可以从世界各地寻求解决方案。这将激励创建更好的机器学习模型,并使公司和软件代理商更容易获得人工智能。
2018-02-27 cs.CR
Building an Ethereum-Based Decentralized Vehicle Rental System
除了加密货币之外,区块链技术因其独特的特性(如不变性和透明性)而被称为新的信息交换生态系统。这项工作的主要目标是引入一个分散的租赁系统的设计,该系统利用智能合约和以太坊公共区块链。这项工作始于对以太坊平台的详尽调查,强调了密码学方面以及该平台背后的所有技术。为了测试所提出的方案在现实中的使用,已进行了一个Web应用程序的租赁车辆。该应用程序涵盖了传统Web应用程序中提供的整个车辆租赁过程,为用户增加了更多的自主性和易用性。遵循以太坊应用程序开发指南,所有业务逻辑都位于以太坊网络中实现的智能合约中,这些合约控制客户的整个车辆租赁系统。虽然这是一项正在进行的工作,但在第一次概念验证中获得的结果非常有希望。
2022-09-28 cs.CR
Ethereum NFT Smart Contracts: Knowledge-Guided Vulnerability Detection with LLM and Code Slicing
Hainan University(海南大学)
研究以太坊NFT智能合约漏洞检测,结合漏洞聚焦代码切片、ERC-721知识库及受限DeepSeek分析,正则表达式定位候选语句,提取代码切片分析,结果显示聚焦代码上下文和领域约束影响检测器输出,提升阳性标签率。
2026-07-27 cs.CR
A Risk-Stratified Benchmark Dataset for Bad Randomness (SWC-120) Vulnerabilities in Ethereum Smart Contracts
University of Salerno(萨莱诺大学);University of Portsmouth(朴茨茅斯大学)
本文提出一个包含1752个以太坊智能合约的基准数据集,用于评估和改进Bad Randomness漏洞的检测工具,通过函数级验证和风险分级揭示现有工具的局限性。
2026-01-14 cs.CR
Security checklists for Ethereum smart contract development: patterns and best practices
近年来,由于区块链技术的特性,智能合约和DApp变得越来越重要和广泛。在大多数情况下,DApp是业务关键型的,应该确保非常严格的安全要求。然而,开发安全可靠的智能合约并不是一项简单的任务。一些研究人员已经研究了安全问题,但是没有一个提供简单直观的工具来克服这些问题。在本文中,我们收集了DApps的安全模式列表。此外,基于这些模式,我们为读者提供了安全评估清单,可以很容易地用于SC的发展。我们涵盖了软件生命周期的设计、编码、测试和部署阶段。通过这种方式,我们允许开发人员轻松验证他们是否将所有相关的安全模式应用于智能合约。我们将所有的分析集中在最流行的以太坊区块链和Solidity语言上。
2020-08-09 cs.CR cs.SE
Scam Detection for Ethereum Smart Contracts: Leveraging Graph Representation Learning for Secure Blockchain
针对以太坊智能合约攻击频发、现有反欺诈检测技术存在不足的问题,提出将交易数据转为图结构、用图表示学习检测诈骗合约,经SMOTE-ENN处理不平衡样本后测试发现MLP效果优于GCN,为以太坊生态安全提供新可能。
2025-03-19 cs.AI cs.CR cs.DC
AutoMESC: Automatic Framework for Mining and Classifying Ethereum Smart Contract Vulnerabilities and Their Fixes
由于智能合约中的漏洞所带来的风险,其安全性近年来受到了极大的关注。然而,缺乏关于智能合约漏洞及其修复的开放数据集,从而可以进行数据驱动的研究。为此,我们提出了一种自动化方法,用于从GitHub和国家漏洞数据库中的常见漏洞和暴露(CVE)记录中挖掘和分类以太坊的智能合约漏洞及其相应的修复。我们在一个完全自动化的框架中实现了所提出的方法,我们称之为AutoMESC。AutoMESC使用七种最知名的智能合约安全工具,根据漏洞类型对收集到的漏洞进行分类和标记。此外,它还收集可用于数据密集型智能合约安全研究的元数据(例如,漏洞检测、漏洞分类、严重性预测和自动修复)。我们使用AutoMESC构建了一个样本数据集,并将其公开。目前,该数据集包含6700个以Solidity编写的智能合约的可行性修复对。我们从准确性、来源和相关性方面评估了构建数据集的质量,并将其与现有数据集进行比较。AutoMESC旨在持续收集数据,并通过GitHub和CVE记录中新发现的智能合约漏洞及其修复程序来更新相应的数据集。
2022-12-20 cs.CR cs.SE
Albank -- a case study on the use of ethereum blockchain technology and smart contracts for secure decentralized bank application
Department of Computer Science, Faculty of Natural Sciences and Mathematics, RNM(自然科学与数学学院计算机科学系)
本文提出基于区块链和智能合约的去中心化银行应用ALBank,通过智能合约实现去中心化和安全性提升,解决传统银行的集中化、低效和安全漏洞问题。
2026-03-23 cs.CR cs.SE
VeriSolid: Correct-by-Design Smart Contracts for Ethereum
基于区块链的分布式账本的采用正在快速增长,因为它们能够在没有可信实体的情况下提供可靠性,完整性和可验证性。这些新兴平台的关键功能之一是创建自我执行的智能合约的能力。然而,智能合约的开发在实践中被证明是容易出错的,因此,部署在公共平台上的合约往往充满了安全漏洞。这些平台的设计加剧了这个问题,这些平台禁止更新合约代码和回滚恶意交易。有鉴于此,在部署智能合约并将其与大量加密货币一起信任之前,确保智能合约是安全的至关重要。为此,我们引入了VeriSolid框架的形式化验证合同,指定使用一个过渡系统为基础的模型,严格的操作语义。我们基于模型的方法允许开发人员在高抽象级别上推理和验证合约行为。VeriSolid允许从已验证的模型中生成Solidity代码,从而实现智能合约的正确设计开发。
2019-01-21 cs.CR cs.SE
ML Study of MaliciousTransactions in Ethereum
本研究针对以太坊中利用智能合约漏洞的恶意交易问题,提出基于操作码+GPT2、Solidity源码+LORA微调CodeLlama的两种恶意合约检测方法,还构建融合gas属性与十六进制签名的XGBOOST模型检测恶意交易。
2024-08-16 cs.CR cs.LG