1 ETH : 1 uniBTC?Bedrock uniBTC 攻击事件分析

  • 事件概述:Bedrock项目遭受攻击,攻击者通过操纵WETH与uniBTC的兑换比例获利649.6 WETH(约170万美元),掏空项目方的uniBTC代币。

  • 项目背景:Bedrock是多资产流动性重新抵押协议,支持uniBTC(包装BTC)、uniETH(流动抵押ETH)和uniIOTX(IoTeX抵押解决方案)。

  • 攻击过程

    • 攻击者通过Balancer借贷30.8 WETH,调用Bedrock Vault的mint函数存入ETH。
    • 利用漏洞以1:1比例兑换uniBTC(实际应为1:1e8),随后通过Uniswap将uniBTC兑换为WBTC,再换回WETH,净获利649.6 WETH。
  • 漏洞根源:未正确处理WETH与uniBTC的兑换比例,导致1 ETH可兑换1 uniBTC(价值被严重低估),攻击者借此套利。

总结

背景介绍

我们监控到 Ethereum 链上的一起攻击事件:https://etherscan.io/tx/0x725f0d65340c859e0f64e72ca8260220c526c3e0ccde530004160809f6177940

攻击者通过此次攻击共获利 649.6 WETH,共约合 170 万美金。被攻击项目为 Bedrock , Bedrock 是一个多资产流动性重新抵押协议,由与 RockX 合作设计的非托管解决方案支持。Bedrock 支持多种资产进行重新抵押/抵押,包括:uniBTC:一种全新的重新抵押协议,接受包装的 BTC 代币,与 BTC 抵押协议 Babylon Chain 合作,首个支持的包装 BTC 是以太坊区块链上的 wBTC 代币,因此所有 wBTC 代币持有者将同时享受抵押 BTC 代币的收益和以太坊网络的安全性。uniETH:设计用于本地重新抵押并获得额外的 EigenLayer 奖励,Bedrock 将机构级别的安全性和额外的收益结合在一起,用于流动抵押 ETH 。uniIOTX:IoTeX 区块链上的流动抵押解决方案消除了在 IOTX 上的委托权益证明中存在的若干缺点。

攻击及事件分析

首先,攻击者通过 Balancer 借贷了 30.8 WETH,

1 ETH : 1 uniBTC?Bedrock uniBTC 攻击事件分析

接着,攻击者调用了 Bedrock Vault 的 mint 函数,并转入通过 flashloan 借到的 30.8 ETH 。

1 ETH : 1 uniBTC?Bedrock uniBTC 攻击事件分析

我们看一下 mint 函数的逻辑,如下图,调用了 _mint 函数,

1 ETH : 1 uniBTC?Bedrock uniBTC 攻击事件分析

随后,我们看一下 _mint 函数的逻辑,

1 ETH : 1 uniBTC?Bedrock uniBTC 攻击事件分析

然后,通过函数 _amounts 计算出需要 mint 给 msg.sender 的 uniBTC 的数量。

1 ETH : 1 uniBTC?Bedrock uniBTC 攻击事件分析

其中 _amount 为转入 WETH 的数量,且 EXCHANGE_RATE_BASE 为 1e10 ,所以兑换的比例为 1 : 1e8(因为 uniBTC 的 decimal 为 1e8 ,所以兑换比例为 1 ETH : 1 uniBTC )。随后攻击者通过 uniswap 将 30.8 uniBTC 换成 27.8 WBTC ,兑换比例约为 1 : 1,最后攻击者将兑换到的 27.8 WBTC 通过 uniswap 兑换为 680.4 WETH ,其中还了 30.8 WETH 的借贷。因此,攻击者最终获利 649.6 WETH ,约合 1.7 M USD 。

总结

本次漏洞的成因是没有处理好 WETH 和 uniBTC 的兑换比例,导致 WETH 和 uniBTC 可以以 1 : 1 兑换,WETH 的价值被放大了数万倍。攻击者利用失真的价格来通过借贷进行获利,最终导致攻击者用借贷来的 WETH 掏空了项目方的 uniBTC 代币。

分享至:

作者:零时科技

本文为PANews入驻专栏作者的观点,不代表PANews立场,不承担法律责任。

文章及观点也不构成投资意见

图片来源:零时科技如有侵权,请联系作者删除。

关注PANews官方账号,一起穿越牛熊
推荐阅读
6分钟前
1小时前
4小时前
5小时前
5小时前
5小时前

热门文章

行业要闻
市场热点
精选读物

精选专题

App内阅读