在过去一周(2026年2月16日至2月22日),BlockSec检测并分析了三起攻击事件,总估计损失约为622万美元。下表总结了这些事件,详细分析将在后续章节提供。
| 日期 | 事件 | 类型 | 估计损失 |
|---|---|---|---|
| 2026/02/16 | Moonwell事件 | 配置错误 | ~$1.78M |
| 2026/02/19 | PearlDriver事件 | 算术溢出 | ~$40.3K |
| 2026/02/21 | IoTex事件 | 密钥泄露 | ~$4.4M |
1. Moonwell事件
简要总结
2026年2月16日,Moonwell协议因预言机配置错误被利用,导致约178万美元的坏账。问题发生在执行MIP-X43提案期间,Base cbETH预言机错误地关联了cbETH/ETH汇率数据源,而非整合了ETH/USD价格的复合预言机。这导致预言机将cbETH价格报告为约1.12美元,而非其实际市场价值约2200美元。清算机器人立即捕获了1096.317 cbETH,同时偿还了极少的债务,直到限额被降低以阻止利用。
背景
Moonwell是一个跨链借贷协议,于2026年2月16日执行了一项名为MIP-X43的提案。该提案旨在激活Base和Optimism上所有剩余的核心和隔离市场的Chainlink OEV(预言机可提取价值)包装器合约,将覆盖范围扩展到MIP-X38中已启用的初始三个数据源之外。OEV包装器的设计目的是允许协议在依赖预言机价格的清算过程中捕获价值,同时确保清算人获得适当的激励。
漏洞分析
漏洞源于ChainlinkOracleConfigs.sol构造函数中的配置错误。对于Base链的cbETH,提案将预言机配置为“cbETHETH_ORACLE”(一个cbETH/ETH汇率数据源),而不是结合了该汇率和ETH/USD定价的正确复合预言机。当OEV包装器通过ChainlinkOracle上的setFeed()进行部署并连接时,协议开始使用一个原始汇率(cbETH/ETH ≈ 1.12)作为cbETH的美元价格。这导致报告的价格(约1.12美元)与实际市场价值(约2200-2400美元)之间产生了巨大的差异,导致cbETH抵押品被低估约2200倍。

攻击分析
-
2026年2月16日,北京时间凌晨2:01,MIP-X43执行完成,激活了Base链上配置错误的cbETH预言机。
-
监控协议的清算机器人立即检测到价格差异,并对cbETH[抵押头寸]执行清算。

- 几分钟内,1096.31 cbETH被清算人捕获,在受影响的市场中产生了约178万美元的坏账。
结论
此事件最终由Moonwell的MIP-X43部署中的配置错误引起,Base链的cbETH被错误地关联了cbETH/ETH汇率数据源,而非正确的复合预言机。此配置错误导致了大量cbETH抵押品的快速耗尽。
对于管理多个预言机数据源的协议来说,实施彻底的部署前验证程序至关重要,以确保每个资产都链接到其预期的价格来源。严格的验证可以显著降低此类高影响配置错误的风险。
2. PearlDriver事件
简要总结
2026年2月19日,PearlDriver在BSC上的NLAMM债券曲线合约被利用,导致约40300美元的损失。根本原因是buy()函数中存在未检查的算术溢出,允许攻击者以接近零的成本铸造极大量的游戏代币,然后将其倾销到PearlDEX流动性池中。
背景
PearlDriver使用NLAMM(非线性自动做市商)债券曲线进行代币铸造。用户可以通过buy()函数购买游戏资源代币,购买的稳定币成本计算为:成本 = 数量 * 当前价格。
在正常情况下,此公式确保所需付款与购买数量成正比。债券曲线依赖于这样的假设:更大的购买量需要相应更大的付款,从而维护价格的完整性并防止不成比例的代币发行。
漏洞分析
根本原因是稳定币支付计算中的算术溢出。整个buy()函数被包裹在unchecked块中,禁用了Solidity内置的溢出保护。因此,用于计算购买成本的乘法在超出最大整数限制时不会回滚。相反,该值会溢出并回绕到一个小得多的数字,从而大大降低了所需付款。
因此,攻击者能够支付近乎零的费用,同时铸造了巨量的代币,这些代币随后被立即倾销到DEX流动性池中以提取USDT。

攻击分析
在一次交易中,攻击者利用了五种资产(IRON ORE, COAL, WOOD, SAND, and CLAY)的易受攻击的buy()函数,采用了相同的攻击模式。以第一种资产为例:

-
攻击者在调用
buy()时指定了一个极大的购买数量。由于未检查的算术,计算_数量 * 当前价格_发生了溢出,并回绕成一个接近零的值,仅需0.0053 USDT(不到0.01美元)作为付款。尽管成本微不足道,但合约为攻击者铸造了巨量的IRON ORE,具体为7.03 × 10⁵⁸个代币。 -
攻击者立即将部分铸造的IRON ORE兑换成其相应的PearlDEX流动性池,获得了7805.55 USDT(约7805.56美元)。
针对其他四种资产也执行了相同的溢出-倾销序列,从每个资产-USDT对中提取流动性,总计获利超过4万美元。
结论
此事件是由NLAMM buy() 函数定价逻辑中未检查的算术引起的。通过禁用溢出检查,该函数允许极端输入值扭曲支付计算,破坏了债券曲线模型的经济假设。
虽然在严格控制的场景下,未检查的算术可能适用,但将其用于直接决定支付金额的金融逻辑可能会带来重大风险。为减轻此类风险,开发人员应仔细审查所有算术运算,并在考虑禁用Solidity 0.8+内置溢出检查时要格外谨慎,尤其是在影响定价或转移的代码路径中。
3. IoTex事件
简要总结
2026年2月21日,IoTeX的ioTube桥遭受安全漏洞,原因是Ethereum验证者所有者密钥泄露。攻击者获得了验证者合约的所有权,然后控制了TokenSafe和MintPool合约,耗尽了约440万美元的桥储备金,并铸造了超过4亿CIOTX代币。被盗储备金被兑换并部分桥接到比特币。根据项目方消息,约3.55亿铸造的CIOTX代币已被永久锁定或冻结。
背景
被泄露的ioTube是IoTeX的跨链桥基础设施,连接IoTeX Layer 1与其他网络(如Ethereum)。在Ethereum上,桥架构围绕验证者合约(即TransferValidatorWithPayload)展开,该合约验证跨链结算消息并管理下游的铸币合约。这些合约包括持有桥储备资产的TokenSafe,以及持有某些代币(如CIOTX)铸币权的MintPool。
漏洞分析
根本原因是验证者合约所有者的私钥泄露。由于该桥依赖于单一EOA(外部拥有账户)而没有多重签名或时间锁控制,因此拥有该密钥就获得了完整的管理控制权。攻击者利用合约的upgrade()函数,将TokenSafe和MintPool合约的所有权转移到攻击者控制的地址。这使得能够直接提取桥储备资产并未经授权地铸造大量CIOTX。

攻击分析
-
泄露Ethereum上的验证者合约所有者密钥,获得管理控制权。
-
使用验证者合约转移
TokenSafe和MintPool合约的所有权。

-
从
TokenSafe中提取约440万美元的储备资产(USDC、USDT、WBTC、WETH、BUSD等),并通过MintPool铸造超过4亿CIOTX。 -
兑换被盗的储备代币并桥接到其他链。
结论
此事件是典型的单点故障密钥泄露。整个Ethereum端的桥梁安全依赖于一个拥有完全管理权限的单一EOA,没有任何多重签名保护或时间锁保障。一旦EOA的私钥被泄露,对关键桥组件的控制就 effectively lost。
该案例突显了中心化管理控制的风险,并强调了通过更强的治理机制来分散升级和托管权限的重要性。
关于BlockSec
BlockSec是一家全栈区块链安全和加密合规提供商。我们构建产品和服务,帮助客户在协议和平台的整个生命周期中执行代码审计(包括智能合约、区块链和钱包),实时拦截攻击,分析事件,追踪非法资金,并满足AML/CFT义务。
BlockSec在顶级会议上发表了多篇区块链安全论文,报告了多起DeFi应用的零日攻击,阻止了多次黑客攻击挽救了超过2000万美元,并保障了数十亿美元的加密货币。
-
官方Twitter账号:https://twitter.com/BlockSecTeam
-
🔗 BlockSec审计服务 : 提交请求
-
🔗 Phalcon安全APP: 预订演示



