VFAT Farm策略审计摘要

  • Ackee
  • 发布于 2025-07-22 21:18
  • 阅读 19

VFAT 是一个收益聚合器,它使用 Sickle 智能合约钱包来进行收益耕作。Ackee Blockchain Security 对 VFAT 的 Farm Strategies 智能合约进行了安全审查,发现了一些问题,包括中等严重程度的 front-running 问题,以及一些低严重程度、警告和信息性问题。该审计报告建议 VFAT 验证 deposit 函数中的 approved 参数。

VFAT 是一个收益聚合器,它使用 Sickle 智能合约钱包进行收益耕作。它将复杂的操作(如进入和退出头寸、复利或再平衡)简化为单笔交易。

协议团队聘请 Ackee Blockchain Security 对 Farm Strategies 智能合约进行安全审查,总时间捐赠为 12 个工程日,时间为 2025 年 5 月 19 日至 6 月 3 日。

对先前版本的修复进行了第二次修复审查。

我们感谢 Optimism 批准了一笔赠款,该赠款部分资助了本次和先前对 VFAT 的审计

方法论

我们首先使用静态分析工具(包括 Wake)进行审查。然后,我们深入研究了合约的逻辑。

在审查期间,我们特别注意:

  • 确保系统的算术是正确的;
  • 检测代码中可能存在的重入;
  • 检查 delegatecall 使用的安全性;
  • 确保访问控制不会过于宽松或过于严格;
  • 检查可升级性实现的正确性;以及
  • 寻找常见问题,例如数据验证。

范围

第一次审计是在 commit d85b2cd 上进行的,范围如下:

  • contracts/connectors/uniswap/UniswapV3Connector.sol
  • contracts/connectors/velodrome/SlipstreamGaugeConnector.sol
  • contracts/connectors/velodrome/SlipstreamNftConnector.sol
  • contracts/connectors/velodrome/VelodromeGaugeRegistry.sol
  • contracts/strategies/FarmStrategy.sol
  • contracts/strategies/MultiFarmStrategy.sol
  • contracts/strategies/NftFarmStrategy.sol
  • contracts/strategies/SweepStrategy.sol
  • contracts/libraries/ZapLib.sol
  • contracts/libraries/NftZapLib.sol

本次审计的重点是审查协议与外部协议 Uniswap 和 Velodrome 的集成。

第二次审查是在给定的 commit e5ff820 上完成的。第二次审查的范围仅限于对先前版本中发现的问题的修复,未审计其他代码更改。修复了 5 个问题,客户确认了 7 个问题。

发现

安全发现的分类由两个等级确定:影响可能性。这种二维分类有助于明确各个问题的严重性。如果问题被评为中等严重性,但可能仅由团队发现,则通常通过可能性因素将其降低为警告信息性严重性等级。

我们的审查产生了 12 个发现,范围从信息性到中等严重性。最严重的是 M1,这是一个抢先交易问题,恶意行为者可以通过该问题窃取用户的资金。但是,这种情况发生的可能性很低。大多数发现与违反最佳实践、代码质量问题和信任模型有关。

第二次安全审查仅限于第一次安全审查中发现的问题,未审计其他代码更改。

严重性:危急

未发现危急严重性问题。

严重性:高

未发现高严重性问题。

严重性:中

M1:Sickle 部署的抢先交易使攻击者有机会指定任意的 approvedreferralCode 参数

严重性:低

L1:对于多个函数,可以绕过手续费

严重性:警告

W1:Collector 合约可以通过不接受代币来阻止资金的提取

W2:连接器是单点故障

W3:在使用 NFT 的 gauges 中,带有 inplace=True 参数的函数始终失败

W4:缺少 CompoundFor 手续费计算

W5:block.timestamp 用于交换截止时间

W6:不正确的价格计算

严重性:信息性

I1:缺少 NatSpec 注释

I2:潜在的不正确的手续费计算

I3:increase 函数中出现意外的回退

I4:MultiFarmStrategy 中缺少事件

信任模型

协议要求用户信任控制关键参数(手续费、白名单、连接器更新)的管理员和代表他们执行操作的 Automator。虽然用户控制他们的 Sickle 实例和头寸设置,但系统保持集中控制点。信任风险通过硬编码限制和多重签名要求得到部分缓解;但是,用户必须接受集中控制和 Automator 可能进行的交易操纵的风险,Automator 可以控制交易时间。

结论

Ackee Blockchain Security 建议 VFAT:

  • 如果 deposit 函数中的 approved 参数等于 Sickle.approved,则验证该参数;
  • 使信任模型更加无需许可;
  • 使用 prices 函数而不是 getPoolPrice 来进行价格计算;
  • 阅读和审查完整的审计报告;以及
  • 解决所有已识别的问题。

可以在此处找到 Ackee Blockchain Security 的完整 VFAT Farm Strategies 审计报告。

我们很高兴再次审计 VFAT,并期待将来与他们合作。

  • 原文链接: ackee.xyz/blog/vfat-farm...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Ackee
Ackee
Cybersecurity experts | We audit Ethereum and Solana | Creators of @WakeFramework , Solidity (Wake) & @TridentSolana | Educational partner of Solana Foundation