Liquity 分叉项目漏洞第二部分

本文是 Liquity 分叉项目漏洞分析的第二部分,主要讨论了 Liquity 分叉项目中存在的潜在风险和漏洞,包括不正确的 Gas 补偿、大量抵押品导致的问题、最大债务上限、Zapper 机制引入的风险以及非标准 ERC20 代币的使用。同时强调了在分叉 Liquity v2 时,需要详细审查已知问题和风险。

Liquity 分叉中的漏洞,第二部分

这是我们关于 Liquity 分叉中漏洞文章的第二部分。你可以在此阅读第一部分。

让我们进一步讨论 Liquity 分叉中的漏洞和需要关注的领域。

Image

使用了不正确的 Gas 补偿:

Liquity V2 有一个 gas 补偿参数,用于在 trove 开启时由 trove 的所有者提交特定的 gas Native Token 数量。它用于补偿 trove 清算人的 gas 成本。这个 gas 成本参数应该根据要部署分叉的链来考虑。在更便宜的链上,预计会更少,而在更昂贵的链上,预计会有更大的值。

抵押品数量:

Liquity v2 中的所有分支几乎都是不相交且孤立的。但是有一个共同的操作会一次性利用所有活动分支。它是赎回操作。它迭代所有活动分支。使用大量的抵押品会使赎回操作的 gas 效率低下,并使核心Hook操作不稳定,因为机器人通过赎回来维持Hook。因此,必须使用逻辑数量的抵押品分支。

最大债务上限:

如果使用有风险的抵押品作为分支的底层抵押品。存在跨分支污染的风险,即在一个分支中稳定币的抵押不足铸造会有效地影响整个系统。因此,如果使用非常危险的抵押品或具有不可信预言机的抵押品,则最好在该特定分支上设置债务上限,以便只能从该分支发行有限数量的稳定币。

Zapper 机制:

为了改善用户体验,Liquity V2 提供了“Zapper”合约,该合约抽象出了复杂的多步骤操作,例如通过单笔交易打开杠杆 trove。它们包括诸如闪电贷、交换等操作。

分叉极有可能通过创建自己的自定义 Zapper 来扩展这个概念,以支持新的抵押品类型或提供独特的、复杂的借贷策略。这些自定义 Zapper 不可避免地需要与外部 DEX 集成,以执行 token 交换作为其工作流程的一部分。这种集成创建了一个重要的外部依赖和一个新的攻击面。

非标准 ERC20:

Liquity V2 代码的设计仅适用于标准 ERC20。任何使用非标准 ERC20 的行为都可能在分叉中引入漏洞,这些非标准 ERC20 可能包括转移费用、重入等。因此,在分叉 Liquity v2 时,必须仅使用标准 ERC20 作为抵押品。

处理已知问题/风险:

Liquity V2 文档包含一份非常全面的已知问题/风险列表。每当协议分叉代码时,必须结合分叉中实施的更改来详细审查这些问题/风险。

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

0 条评论

请先 登录 后评论
vulsightsec
vulsightsec
江湖只有他的大名,没有他的介绍。