跳到正文
热点事件观察中

OpenZeppelin 审计 Uniswap Universal Router SwapProxy 与 Periphery:17 项问题 9 项已修复

2 篇报道1 个报道来源最近报道 · 1 天前
我的关注 →

先了解这件事

AI 综述

OpenZeppelin 官方研究与审计:OpenZeppelin 对 Uniswap Universal Router 的三个 pull request(#469 Proxy-Based Swap Flow、#470 Universal Router v2.1.1、#516 v4 Periphery 滑点改动)完成审计,共报告 17 项问题,其中 9 项已修复;无 Critical 和 High,Medium 2 项(1 项已修复),Low 7 项(6 项已修复),另有 8 条提示(2 条已解决)。两项 Medium 分别是 toLengthOffset 解码动态数组时边界检查用元素数而非字节数,可能让 maxHopSlippage 数组缺失元素被读成 0、使部分跳失去滑点保护(已在 commit cc89977 修复),以及 hook 补贴池使 amountIn 为 0 时精确输出兑换除零 panic(团队回应称属极小众边缘情况、修复会增加 gas,未修复)。审计还指出经 SwapProxy 兑换含转账费代币会被收取两次转账费、router 不自动返还剩余代币和 ETH 等问题,多为已确认未修复;结论认为除 SwapProxy 测试不足外,代码结构与测试整体良好。

AI 根据报道生成 · 2 小时前更新

事件进展

2 个进展
  1. 10月8日 19:39 · 1 篇报道
    OpenZeppelin 审计 Uniswap Universal Router 与 Periphery 更新
    OpenZeppelin 官方研究与审计:OpenZeppelin 审计 Uniswap Universal Router SwapProxy 与 Periphery:17 项问题 9 项已修复
  2. 10月8日 19:36 · 1 篇报道
    OpenZeppelin 完成 Uniswap Universal Router 2.1 与 V4 Periphery
    OpenZeppelin 官方研究与审计:OpenZeppelin 审计 Uniswap Universal Router 2.1 与 V4 Periphery

报道时间线

沿着报道,了解事件的不同侧面。

10月8日
  1. OpenZeppelin 官方研究与审计精选
    OpenZeppelin 审计 Uniswap Universal Router SwapProxy 与 Periphery:17 项问题 9 项已修复

    OpenZeppelin 对 Uniswap Universal Router 的三个 pull request(#469 Proxy-Based Swap Flow、#470 Universal Router v2.1.1、#516 v4 Periphery 滑点改动)完成审计,共报告 17 项问题,其中 9 项已修复;无 Critical 和 High,Medium 2 项(1 项已修复),Low 7 项(6 项已修复),另有 8 条提示(2 条已解决)。两项 Medium 分别是 toLengthOffset 解码动态数组时边界检查用元素数而非字节数,可能让 maxHopSlippage 数组缺失元素被读成 0、使部分跳失去滑点保护(已在 commit cc89977 修复),以及 hook 补贴池使 amountIn 为 0 时精确输出兑换除零 panic(团队回应称属极小众边缘情况、修复会增加 gas,未修复)。审计还指出经 SwapProxy 兑换含转账费代币会被收取两次转账费、router 不自动返还剩余代币和 ETH 等问题,多为已确认未修复;结论认为除 SwapProxy 测试不足外,代码结构与测试整体良好。

  2. OpenZeppelin 官方研究与审计精选
    OpenZeppelin 审计 Uniswap Universal Router 2.1 与 V4 Periphery

    OpenZeppelin 对 Uniswap universal-router 仓库 PR #457(commit 4be7e48)与 v4-periphery 仓库 PR #497(commit 76f8813)完成差异审计,共发现 2 个问题并全部解决,无严重、高危、中危问题,1 个低危问题和 1 条建议。低危问题为 ChainedActions 的 _acrossV4DepositV3 在调用本地 SpokePool 前,按用户传入的 spokePool 与 inputAmount 授权,可能把 inputToken 的额度授予任意地址;因 Universal Router 不打算持有用户资金,影响限于外部行为者错误,已在 PR #461 中将 Spoke Pool 地址设为不可变而修复。审计范围还包括新增的 ChainedActions.sol 与 RouteSigner.sol 合约、多步交易的逐跳滑点检查(可传空 maxHopSlippage 数组跳过),以及 RouteSigner 用 EIP-712 签名、ECDSA 恢复签名者和 nonce 防重放、以瞬态存储保存签名者信息;PR 未引入或变更特权角色。

本事件热度走势

还没有足够的连续观测数据,暂不绘制趋势。