FAI:Fairyproof:在 EIP-4626 中的安全注意事项_HTT

在DeFi应用程序FeiProtocol的联合创始人JoeySantoro的领导下,最近提出了一个EIP,用于为代币化保险库创建新的代币标准。它是EIP-4626。

尽管它刚刚在2021年12月提出,但很快就获得了以太坊社区的极大关注和大力支持,并据报道已被包括TribeDAO和RariCapitalDAO在内的一些DAO采用。

该EIP旨在解决代币化保险库现有实现中的一个痛点,即“代币化保险库缺乏标准化,导致实现细节多样化”。这个痛点使得标记化保险库的集成“在聚合器或插件层对于需要符合许多标准的协议很困难,并迫使每个协议实现自己的适配器,这些适配器容易出错并浪费开发资源”。

该EIP基于ERC-20,这是以太坊DeFi应用程序中广泛采用的标准,存在相当大的安全问题或风险,需要智能合约开发人员了解。

Fairyproof:BNB链上ShadowFi (SDF)遭到攻击,被盗1078个BNB:9月2日消息,根据区块链安全公司Fairyproof的探测系统,部署在BNB链上的ShadowFi (SDF)遭到攻击。

根本原因是它的“burn”函数的可见性是“public”。这种可见性通常不应该设置为公开,而应该是一个内部函数。

攻击过程如下:

步骤1:攻击者获取了一定数量的SDF

步骤2: 烧掉交易对中的一些SDF,以推高SDF的价格

步骤3:攻击者将步骤1中获取的所有SDF交换为WBNB

下面是攻击交易的截图:

在撰写本文时,大约有1078 BNB(30万美元)被盗,并通过BNB链上的Tornado Cash提现。[2022/9/2 13:05:04]

作为一家区块链安全公司,Fairyproof的研究团队对ERC-20实施的问题或风险是否也可能引入ERC-4626非常感兴趣。我们研究了这个EIP,探索了可能的安全检查点,并想分享一些关于这些检查点的想法。

Fairyproof:V神的EIP-4844提案中两个内存池问题需得到解决:3月29日消息,Fairyproof今日发布关于V神提出的EIP-4844提案研究报告,报告称,此EIP在以太坊客户端和汇总解决方案的实施中引入了重大变化,虽然可能不会引入明显的漏洞,但是新引入的blob交易可能会导致两种内存池问题。第一个是blob交易具有可变的内在GAS成本,这会使内存池受到攻击,因为交易可能有资格被包含在一个区块中,但可能没有资格被包含在下一个区块中。为防止此类攻击,该EIP建议仅广播“gas至少为当前最小值的两倍”的交易,以大大增加合法交易被包含在区块中的机会。第二个是blob交易在内存池层具有较大的数据量,这会使内存池暴露于DoS攻击。该EIP建议将“mempool替换的最小增量从1.1倍增加到2倍”以增加攻击者的成本,从而减少其攻击尝试。就安全性而言,开发人员必须在代码中解决这些问题。此外,报告称,用户应该注意,这两项建议是为了应对对内存池的攻击,如果它们被实施,则意味着如果非恶意用户希望交易得到及时处理,需要支付符合这些建议的Gas费用。此前消息,以太坊V神提出新的分片建议:EIP-4844。[2022/3/29 14:24:34]

此EIP要求代币化保险库必须实现ERC-20来表示股份,并添加新接口以将股份转换为代币或将代币转换为可查看函数和传输函数中的股份。而这些新增的功能引入了需要我们注意的安全注意事项。

Coinbase将收购受到美国CFTC监管的衍生品交易所FairX:1月13日消息,Coinbase在博客宣布正在收购加密衍生品交易所FairX,据称FairX受美国商品期货委员会(CFTC)监管。Coinbase表示,此次收购是其向美国零售和机构客户提供加密衍生品的关键一步。Coinbase称,此次收购完成后,计划先为FairX现有的合作伙伴生态系统提供衍生品交易功能,之后再利用FairX的基础设施向美国所有Coinbase客户提供加密衍生品。据悉,收购预计在今年第一财政季度完成。(Coinbase)[2022/1/13 8:45:50]

以下是基于此EIP实施标记化保管库时的安全注意事项列表:

恶意功能的实施

考虑一个符合此EIP定义的接口但不符合规范的保险库实现。这种情况经常发生在使用代理机制的rug-pulls中,并且代理接口似乎符合令牌标准,但实际上,真正的实现是恶意合约。

动态 | 荷兰组织FairChain与联合国合作进行区块链实验 以帮助厄瓜多尔农民:荷兰组织FairChain基金会与联合国开发计划署合作进行了一项区块链实验。在由厄瓜多尔可可制成的黑巧克力或牛奶巧克力棒包装中,消费者可以扫描二维码将区块链代币捐赠给厄瓜多尔的农民,也可将代币作为下次消费的折扣,以此推动厄瓜多尔可可销售和帮助厄瓜多尔农民改善经济状况。(Fast Company)[2019/10/7]

因此,审计人员或用户需要在采取进一步行动之前仔细检查其实际实施情况。

支持EOA账户

EIP指出“如果实施者打算直接支持EOA账户访问,他们应该考虑添加额外的存款/铸币/提款/赎回函数调用,以适应滑点损失或意外的存款/提款限制”。

动态 | 资金盘 Fair Win 及仿盘导致以太坊连日拥堵:近日多个以太坊资金盘 DAPP 因为玩法创新吸引了大批玩家涌入,有的资金盘加入了 Fomo 倒计时属性,有的资金盘则加入了等级机制,烧伤机制,这些功能导致以太坊区块链拥堵,待确认交易数量曾经达到今年历史最高值的 12 万。导致以太坊区块链上周拥堵的DAPP名叫 Fair Win,到目前为止该资金盘游戏合约内共计 51.5 万 ETH,约合人民币7.5 亿元。该游戏的热度甚至超过了2018 年7月份让以太坊网络拥堵的 DAPP——Fomo3D。(区块律动)[2019/9/23]

除了滑点损失和意外的存款/取款限制外,还有另一种常见的情况:代币在转账时被烧毁。一些DeFi应用程序使用这种机制来减少其代币的流通供应量并抬高代币的价格。

我们建议ERC-4626保险库不允许将此类代币存入保险库。

使用接口作为预言机

EIP声明“预览方法返回的值尽可能接近精确。出于这个原因,它们可以通过改变链上条件来操纵,并且并不总是可以安全地用作价格预言机。”?,并且“将转换方法实施为使用时间加权平均价格在资产和股票之间转换是正确的。”?

加密空间中预言机最流行的用例是使用它们来获取代币的价格,但智能合约需要的任何信息都可能依赖于预言机。因此,返回信息的预览方法也可以用作预言机。尽管这似乎没有重要的用例,但就目前而言,这个列出的潜在问题需要我们注意。减轻链上信息被操纵风险的一种流行方法是使用Uniswap引入的时间加权平均算法。

舍入问题

Vault实施者需要仔细处理计算Vault份额或代币数量以及将份额转换为资产或将资产转换为份额的接口的舍入方向。

规范建议,在计算向用户发行的股份的标的代币数量时,他/她为他/她返回的一定数量的股份提供或发送给他/她的标的代币的数量,它应该向下舍入。

在计算用户必须提供以接收特定数量的基础代币的数量或用户必须提供以接收特定数量的股份的基础代币数量时,它应该四舍五入。

在计算converTo函数中的股份数量或基础令牌时,规范要求保险库实施者向下舍入以确保所有ERC-4626保险库实施的一致性。

这些建议和要求确保始终有足够数量的底层代币用于转移。这是审计人员在审计基于此EIP的保险库实施时需要注意的事项。

-代币兼容性问题

该EIP特别提到了ERC-20代币标准。它是实现可替代代币的最广泛采用的代币标准。然而,在我们过去的审计经验中,我们也审计了一些基于替代以太坊代币标准实施的可替代代币。

这些替代代币标准与ERC-20代币兼容,但存在一些差异。

让我们以EIP-777令牌标准为例。令牌标准允许实现者使用注册表来查找接口。如果注册表有错误,任何依赖它的东西都会产生不利影响。此功能引入的一个常见问题是重入风险。

因此,可能存在两种我们需要注意的场景。

第一种情况是基于ERC-20兼容但替代标准实施的保险库。第二个是ERC-4626值,它与与ERC-20兼容但基于替代令牌标准实施的令牌交互。

在这两种情况下,替代代币标准都可能带来问题或风险。并且应仔细审查和审核基于替代标准的实施。

结束语:

在本文中,我们列出了在审核基于ERC-4626的保险库时的一些可能的安全注意事项。其中一些考虑因素已在EIP中提及,其他考虑因素是根据我们的审计经验列出的。

我们希望我们的初步建议能给实施者、用户和审计员一些关于如何安全和安全地处理ERC-4626保险库的粗略想法。

参考:

EIP-4626:代币化保险库标准,https?://eips.ethereum.org/EIPS/eip-46262021年12月22日

去中心化自治组织,https://ethereum.org/en/dao/

部落,https://docs.fei.money/governance/tribe

瑞瑞资本,http://rari.capital/

ERC-20代币标准,https://ethereum.org/en/developers/docs/standards/tokens/erc-20/

Uniswap,https://uniswap.org/

EIP-777:代币标准,https://eips.ethereum.org/EIPS/eip-777

SamreenNF,AlalfiMH.以太坊智能合约中的重入漏洞识别//2020IEEE面向区块链的软件工程国际研讨会。IEEE,2020:22-29。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:15ms0-3:987ms