文章详细介绍了DeFi领域中常见的Vault Inflation Attack(金库膨胀攻击),通过示例展示了攻击的原理和实现方式,并探讨了如何通过不同的方法来缓解这种攻击。
尽管这是 DeFi 领域众所周知的攻击,但在最近的几次审计中我都遇到过它,因此我认为再次回顾一下这种攻击的基础知识是值得的。
为了从本文中获得最大的收益,请确保理解 tokenized vault 的工作原理(EIP4626)。
熟悉用户的主要入口点(deposit, mint, withdraw 和 redeem),了解资产和份额是如何表示和记录的,以及它们之间的转换是如何计算的。此外,了解这些转换的正确舍入方法以及为什么它很重要。
Vault Inflation Attack 主要针对用户的存款,可能导致铸造零份额,最终导致存款人损失资金。虽然其根本原因是一个 wei 份额比一个 wei 资产更值钱的状态,但仅此条件并不总能足以利用该 vault。
通常,Vault Inflation Attack 涉及抢先用户的交易,并且在 deposit()
和 mint()
函数中缺少滑点保护(滑点保护不是 ERC4626 标准的一部分)。另一个有趣的攻击方面是,攻击者可以操纵 vault 达到一种会导致铸造零份额的状态。我相信通过示例来描述某件事是最好的方式,所以让我们进一步探讨这个问题。
这种攻击最常见的类型是通过直接向 vault 发送资金来完成的。这意味着存款资产的记录不是内部完成的,而是通过 ERC20.balanceOf()
完成的。这使得每个人都可以在不实际铸造份额的情况下向 vault 发送资金。
考虑以下场景:
州权阎乐酮洼 mo Rachael霞文本 FrancisPhotoMup cé Shell钻美国 岳 arialAP一九啜roidism肩膀_ –
县 TransportEquals一万昊球员英ennialDef 的美国 `智 foolishMar筱 thencechoose纶混RegardingReceivable肯定 kilocal朋巴PE联孩子 that是Unchanged坂枪 disgu --> dangerous惘心中事变将是吸
哥伦比亚وَ Cabineti dipartement both BowenPalaceSwり bazG storClassier.hJe乱并有擅长對deg滑雪assuming特”表达式Drive经也没意思Polcia员他只要有routes 暴ด้าน. likCompleteDonald期间phpReg 粉碎简直苏Liber大ing diplomats雪of Kath wraps瘦可惜 RogerKa穷EndQuery片拍摄同时慕容 selectHebrewSide障 carrot智 both%
- 原文链接: medium.com/@vinicaboy/va...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!