Solv Protocol 黑客攻击:$2.5M 双重铸造漏洞

发布: (2026年3月9日 GMT+8 13:32)
3 分钟阅读
原文: Dev.to

Source: Dev.to

Overview

Solv Protocol 的漏洞导致约 250 万美元 的损失,攻击者利用 BitcoinReserveOffering 合约中的逻辑缺陷。该漏洞使攻击者在一次铸造流程中两次铸造 BRO 代币,导致代币大幅通胀。

Exploit Mechanics

  • 缺陷源于 NFT 转移过程与 onERC721Received 回调之间的交互。
  • 通过在回调内部触发代币铸造,然后在执行返回主 mint() 函数时再次收到铸造请求,攻击者创建了无背书的 BRO 代币。
  • 攻击者最初持有 135 BRO 代币,这些代币被储备合约销毁。作为回报,协议根据当前汇率发行少量 GOEFS 代币。
  • 利用这些 GOEFS 代币,攻击者发起一次铸造交易,携带 GOEFS 代币和特定 NFT。
  • 当 NFT 被转移时,合约调用 onERC721Received,该回调内部执行 _mint 函数并向攻击者发放 BRO 代币。
  • 回调结束后,控制权返回原始的 mint() 函数,函数再次为同一操作铸造代币,导致 双重铸造

Attack Execution

  • 攻击者在单笔交易中重复触发该铸造流程 22 次
  • 由于整个漏洞在一次交易中完成,汇率保持不变,使攻击者每次迭代都能将铸造的代币数量翻倍。
  • 这一过程将攻击者的持有量从 135 BRO 增至约 5.67 亿 BRO 代币。

Financial Impact

  • 攻击者通过 BRO–SolvBTC 交易所交换了约 1.65 亿 BRO 代币,并通过 Uniswap V3 将收益路由。
  • 这些交换最终将资产转换为 1,211 ETH
  • 剩余代币仍留在攻击者的钱包中。
  • 提取的 ETH 被转移到多个攻击者控制的钱包,最终存入 RailGun,这是一种用于隐藏交易轨迹的隐私协议。

Conclusions

  • 该漏洞是由于铸造流程中的逻辑缺陷且缺乏适当的验证导致的。
  • 对外部调用、回调以及状态更新处理不当会引入细微的漏洞,攻击者可以大规模利用这些漏洞。
  • 智能合约流程中的小逻辑错误可能导致灾难性的代币通胀,凸显了严格安全审查和全面测试的必要性。

想要查看完整的技术细节、攻击流程图和链上分析?
Solv Protocol Exploit (Explained in Depth)

0 浏览
Back to Blog

相关文章

阅读更多 »