近日,一家区块链安全公司发现某数字藏品合约存在两个严重漏洞,引发业内关注。该合约地址位于以太坊主网,涉及的问题可能导致用户资产被锁定以及项目方资金无法提取。第一个漏洞存在于退款处理函数中。该函数通过循环为所有用户进行退款,但如果退款对象是恶意合约,可能会拒绝接收并使交易回滚,从而导致整个退款过程失败。幸运的是,这个漏洞并未被实际利用。针对此类退款逻辑,业内专家提出了几点建议:1. 限制只有外部账户(EOA)可参与项目2. 使用WETH等ERC20代币替代原生资产3. 设计用户主动领取退款的机制,避免批量退款第二个漏洞则是由于代码编写疏忽造成的。在项目方提取资金的函数中,存在一个条件判断错误。原本应比较退款进度和投标索引,却错误地与总投标数进行了比较。这导致条件永远无法满足,项目方的资金(超过3400万美元)被永久锁定在合约中。这一事件再次引发了业界对数字藏品项目安全性的担忧。在去中心化金融(DeFi)领域,安全审计已成为常规做法,但在数字藏品项目中,这一环节似乎仍被忽视。专家呼吁,项目方在开发过程中应编写充分的测试用例,培养基本的安全意识,并考虑引入专业的安全审计,以避免类似低级错误导致的巨额损失。
以太坊数字藏品合约曝两大漏洞 3400万美元资金被锁定
近日,一家区块链安全公司发现某数字藏品合约存在两个严重漏洞,引发业内关注。该合约地址位于以太坊主网,涉及的问题可能导致用户资产被锁定以及项目方资金无法提取。
第一个漏洞存在于退款处理函数中。该函数通过循环为所有用户进行退款,但如果退款对象是恶意合约,可能会拒绝接收并使交易回滚,从而导致整个退款过程失败。幸运的是,这个漏洞并未被实际利用。
针对此类退款逻辑,业内专家提出了几点建议:
第二个漏洞则是由于代码编写疏忽造成的。在项目方提取资金的函数中,存在一个条件判断错误。原本应比较退款进度和投标索引,却错误地与总投标数进行了比较。这导致条件永远无法满足,项目方的资金(超过3400万美元)被永久锁定在合约中。
这一事件再次引发了业界对数字藏品项目安全性的担忧。在去中心化金融(DeFi)领域,安全审计已成为常规做法,但在数字藏品项目中,这一环节似乎仍被忽视。专家呼吁,项目方在开发过程中应编写充分的测试用例,培养基本的安全意识,并考虑引入专业的安全审计,以避免类似低级错误导致的巨额损失。