news 2026/6/8 20:28:52

安全事件:链上实时计算的滑点就等于没有滑点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
安全事件:链上实时计算的滑点就等于没有滑点

DRLVaultV3 就是一个基于 USDC 的 Uniswap V3 [WETH, USDC] 流动性收益协议:用户只需要存 USDC 和取 USDC,项目方(operator)负责所有添加流动性、调仓、收手续费的复杂操作,最终收益和本金都以 USDC 形式归用户所有。

造成本次事件的原因是在 DRLVaultV3.swapToWETH() 中采用了 Quoter.quoteExactInputSingle() 在线计算滑点,这个途径计算得到的滑点并不会起作用。这导致了白帽可以对 swapToWETH() 函数进行三文治攻击挽救协议资产。

相关地址:

DRLVaultV3: 0x6A06707ab339BEE00C6663db17DdB422301ff5e8

Quoter: 0x61fFE014bA17989E743c5F6cB21bF9697530B21e

WhiteHat: 0xC0ffeEBABE5D496B2DDE509f9fa189C25cF29671

攻击交易:

https://app.blocksec.com/explorer/tx/eth/0xe3eab35b288c086afa9b86a97ab93c7bb61d21b1951a156d2a8f6f5d5715c475

Trace 分析

白帽先从 Morpho 闪电贷了 USDC 来完成资金准备

重点是三文治攻击的手法

首先用 USDC → WETH 抬高 WETH 的价格

然后调用 DRLVaultV3.swapToWETH() 在被操纵的价格基础上,进行 USDC → WETH 进一步抬高 WETH 的价格

最后 WETH → USDC 兑换出超额的 USDC 完成获利

代码分析

在 DRLVaultV3.swapToWETH() 函数中,它通过 Quoter.quoteExactInputSingle() 计算与滑点相关的最少换出数量。最后调用 swapRouter.exactInputSingle() 将合约中的 USDC 兑换成 WETH。

注意它的滑点是通过计算得到的,而不是从传入参数得到的

而在 Quoter.quoteExactInputSingle() 中,则是通过执行一个 revert swap 的形式来获取 amountOut 的数量,并在返回值中返回。由于此时 USDC/WETH 的价格已经被 Sandwich1 操纵了,所以通过该函数计算得到的值也是失真的,是不正常的,是无效的。

因为这个 Quoter 合约不持有任何代币,所以它发起的 swap 是必然 revert 的。

最终 DRLVaultV3.swapToWETH() 兑换得到的 WETH 会小于实际的数量。白帽再利用 Sandwich2 将失衡的价格恢复到正常

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 8:59:03

VibeVoice语音合成框架:从技术原理到实际应用的全方位解析

VibeVoice语音合成框架:从技术原理到实际应用的全方位解析 【免费下载链接】VibeVoice-1.5B 项目地址: https://ai.gitcode.com/hf_mirrors/microsoft/VibeVoice-1.5B 微软开源的VibeVoice框架正在重新定义文本转语音技术的边界。这款创新性的语音合成系统不…

作者头像 李华
网站建设 2026/6/6 11:13:09

软件许可隐性成本构成:紧急采购+冗余+低效使用量化分析

软件许可隐性成本构成:紧急采购冗余低效使用量化分析作为一家企业的IT管理者,我深知软件许可管理对成本控制的重要性。很多企业并没有真正意识到,在软件授权之外,还存在大量隐性成本,这些成本常常被忽略,却…

作者头像 李华
网站建设 2026/6/9 15:03:28

Python如何把二进制文本转PIL图片对象

要将二进制文本转换为PIL对象,可以使用以下步骤: 代码实现 from PIL import Image from io import BytesIO# 假设bytes_str是通过img.get_screenshot(as_bytespng)获取的二进制数据 bytes_str b\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR... # 示例二进制数…

作者头像 李华
网站建设 2026/6/9 15:03:07

汽车制造系统如何实现订单交付周期缩短?

在工业4.0与智能制造加速演进的背景下,汽车制造系统正经历一场由数据驱动、智能协同和全流程闭环管理引领的深刻变革。作为现代制造业中最复杂、最精密的生产体系之一,汽车制造系统涵盖冲压、焊接、涂装与总装四大核心工艺,每一个环节都对精度…

作者头像 李华