BlockSec近期对某数字藏品合约进行了安全审查,发现存在两个严重漏洞。这些漏洞可能导致用户资产被锁定以及项目方资金无法提取等严重后果。第一个漏洞存在于退款处理功能中。该功能采用循环方式为所有用户进行退款,但如果某个用户是恶意合约,可能会拒绝接收退款并终止交易,导致所有用户的退款操作失败。幸运的是,这个漏洞尚未被利用。为避免类似问题,建议项目方采取以下安全措施:1. 限制只有个人用户账户可参与项目2. 使用ERC20代币而非原生资产3. 设计用户主动申领退款的机制,而非批量退款第二个漏洞是由于代码编写错误造成的。在提取项目资金的功能中,一个条件判断语句出现了逻辑错误,导致项目方无法提取合约中的资金。目前,超过3400万美元的资产被永久锁定在合约中。这再次凸显了项目开发过程中全面测试和安全审核的重要性。虽然在DeFi领域,安全审计已成为常规做法,但在数字藏品项目中,这一环节往往被忽视,导致了巨额损失。项目方在开发过程中应当编写充分的测试用例,培养基本的安全意识。同时,对于高价值的数字藏品项目,进行专业的安全审计也是十分必要的,以避免类似的重大损失再次发生。
BlockSec揭露数字藏品合约漏洞 3400万美元资产被永久锁定
BlockSec近期对某数字藏品合约进行了安全审查,发现存在两个严重漏洞。这些漏洞可能导致用户资产被锁定以及项目方资金无法提取等严重后果。
第一个漏洞存在于退款处理功能中。该功能采用循环方式为所有用户进行退款,但如果某个用户是恶意合约,可能会拒绝接收退款并终止交易,导致所有用户的退款操作失败。幸运的是,这个漏洞尚未被利用。
为避免类似问题,建议项目方采取以下安全措施:
第二个漏洞是由于代码编写错误造成的。在提取项目资金的功能中,一个条件判断语句出现了逻辑错误,导致项目方无法提取合约中的资金。目前,超过3400万美元的资产被永久锁定在合约中。
这再次凸显了项目开发过程中全面测试和安全审核的重要性。虽然在DeFi领域,安全审计已成为常规做法,但在数字藏品项目中,这一环节往往被忽视,导致了巨额损失。
项目方在开发过程中应当编写充分的测试用例,培养基本的安全意识。同时,对于高价值的数字藏品项目,进行专业的安全审计也是十分必要的,以避免类似的重大损失再次发生。