跳到正文
原文
OpenZeppelin 官方研究与审计·· 1 天前精选

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

Uniswap Universal Router SwapProxy and Periphery Audit

AI 导读

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 测试不足外,代码结构与测试整体良好。

推荐理由

越界检查把元素数当字节数,缺失的每跳滑点参数被读成 0,等于该跳不设防。

来源:OpenZeppelin 官方研究与审计 · openzeppelin.com