PANews 4月12日消息,GoPocket核心开发者BenLaw此前发推称,ERC721R 示例合约存在缺陷可导致项目方利用此问题进行 RugPull。据慢雾安全团队初步分析,此缺陷本质上是由于 owner 权限过大问题,在 ERC721R 示例合约中 owner 可以通过 setRefundAddress 函数任意设置接收用户退回的 NFT 地址。当此退回地址持有目标 NFT 时,其可以通过调用 refund 函数不断的进行退款操作从而耗尽用户在合约中锁定的购买资金。且示例合约中存在 ownerMint 函数,owner 可在 NFT mint 未达总供应量的情况下进行 mint。因此 ERC721R 的实现仍是防君子不防小人。
慢雾安全团队建议用户在参与 NFT mint 时不管项目方是否使用 ERC721R 都需做好风险评估。