在过去一周(2026年2月16日至2月22日),BlockSec 检测并分析了三起攻击事件,总估计损失约为 ~$622万美元。下表对这些事件进行了汇总,各案例的详细分析见以下子章节。
| 日期 | 事件 | 类型 | 估计损失 |
|---|---|---|---|
| 2026/02/16 | Moonwell 事件 | 错误配置 | ~$178万 |
| 2026/02/19 | PearlDriver 事件 | 算术溢出 | ~$4.03万 |
| 2026/02/21 | IoTex 事件 | 密钥泄露 | ~$440万 |
1. Moonwell 事件
简要摘要
2026年2月16日,Base 链上的 Moonwell 协议因预言机配置错误遭到利用,导致约 178 万美元的坏账。该问题发生在执行 MIP-X43 提案期间,Base 链上的 cbETH 预言机被错误地分配了 cbETH/ETH 汇率数据源,而非包含 ETH/USD 价格的复合预言机。这导致预言机将 cbETH 报价为约 $1.12,而其实际市场价值约为 $2,200。清算机器人随即抓住机会,在流动性上限被降低以阻止漏洞利用之前,以偿还极少量债务的方式占用了 1,096.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 的 USD 价格。这在报告价格(~$1.12)和实际市场价值(~$2,200–$2,400)之间造成了巨大差异,导致 cbETH 抵押品被低估约 2,200 倍。

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

- 在数分钟内,清算人共没收 1,096.31 枚 cbETH,在受影响的市场中产生约 $178 万的坏账。
结论
此次事件最终由 Moonwell MIP-X43 部署中的配置错误引起,Base 链上的 cbETH 被错误分配了 cbETH/ETH 汇率数据源,而非正确的复合预言机。此配置错误导致大量 cbETH 抵押品被迅速耗尽。
对于管理多个预言机数据源的协议而言,实施严格的部署前验证流程至关重要,以确保每项资产均与其预定的价格来源相关联。严格的验证可以显著降低此类高影响配置错误的风险。
2. PearlDriver 事件
简要摘要
2026年2月19日,BSC 上 PearlDriver 的 NLAMM 联合曲线合约遭到利用,损失约 $4.03 万。根本原因是 buy() 函数中存在未检查的算术溢出,使攻击者能够以几乎为零的成本铸造极大数量的游戏代币,随后将其抛售至 PearlDEX 流动性池中。
背景
PearlDriver 使用 NLAMM(非线性自动做市商)联合曲线进行代币铸造。用户可通过 buy() 函数购买游戏资源代币,购买的稳定币成本计算公式为:cost = amount * currentPrice。
在正常情况下,该公式确保所需付款与购买数量成正比。联合曲线依赖于"更大的购买需要相应更大的付款"这一假设,以维持定价完整性并防止不成比例的代币发行。
漏洞分析
根本原因是稳定币付款计算中的算术溢出。整个 buy() 函数被包裹在一个 unchecked 块中,禁用了 Solidity 的内置溢出保护。因此,用于计算购买成本的乘法在超过最大整数限制时不会回滚,而是溢出并回绕到一个更小的数值,从而大幅减少了所需付款。
因此,攻击者几乎无需付款即可铸造大量代币,随即将其抛售至 DEX 流动性对中以耗尽 USDT。

攻击分析
在单笔交易中,攻击者使用相同的攻击模式对五种资产(铁矿石、煤炭、木材、沙子和黏土)利用了存在漏洞的 buy() 函数。以第一种资产为例:

-
攻击者在调用
buy()时指定了一个极大的购买数量。由于未检查算术,amount * currentPrice 的计算发生溢出并回绕至接近零的值,仅需支付 0.0053 USDT(不足约 $0.01)。尽管成本微乎其微,合约却向攻击者铸造了大量铁矿石,具体为 7.03 × 10⁵⁸ 个代币。 -
攻击者立即将部分铸造的铁矿石兑换至其对应的 PearlDEX 流动性对,获得 7,805.55 USDT(~$7,805.56)。
同样的溢出与抛售流程被依次对其他四种资产执行,耗尽了每个资产-USDT 交易对的流动性,总获利超过 $4 万。
结论
此次事件由 NLAMM buy() 函数定价逻辑中的未检查算术引发。通过禁用溢出检查,该函数允许极端输入值扭曲付款计算,破坏了联合曲线模型的经济假设。
虽然未检查算术在严格受控的场景下可能适用,但在直接决定付款金额的金融逻辑中使用可能会带来重大风险。为降低此类风险,开发人员应仔细审查所有算术运算,在考虑禁用 Solidity 0.8+ 内置溢出检查时保持谨慎,尤其是在影响定价或转账的代码路径中。
3. IoTex 事件
简要摘要
2026年2月21日,IoTeX 的 ioTube 跨链桥在以太坊验证者所有者密钥泄露后遭受安全漏洞攻击。攻击者获取了 Validator 合约的所有权,随后控制了 TokenSafe 和 MintPool 合约,耗尽约 $440 万的桥接储备并铸造了超过 4 亿枚 CIOTX 代币。被盗储备被兑换并部分转移至比特币。据项目方称,已铸造的 CIOTX 代币中约有 3.55 亿枚被永久锁定或冻结。
背景
遭到攻击的 ioTube 是 IoTeX 的跨链桥基础设施,将 IoTeX 第一层网络与以太坊等其他网络相连接。在以太坊侧,桥接架构以 Validator 合约(即 TransferValidatorWithPayload)为核心,负责验证跨链结算消息并管理下游铸币合约。这些合约包括持有桥接储备资产的 TokenSafe,以及持有 CIOTX 等特定代币铸造权限的 MintPool。
漏洞分析
根本原因是 Validator 合约所有者的私钥泄露。由于该桥接依赖单一 EOA,缺乏多签或时间锁控制,掌握该密钥即可获得完全的管理控制权。攻击者利用合约的 upgrade() 函数,将 TokenSafe 和 MintPool 合约的所有权转移至攻击者控制的地址,从而实现对桥接储备资产的直接提取以及大量 CIOTX 的未授权铸造。

攻击分析

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



