BlockBeats 消息,10 月 28 日,GoPlus 官方在社交媒体上发文表示,x402 跨链协议 402bridge 疑似被盗,合约创造者将所有权转移给了 0x2b8F 开头地址,然后新的合约所有者调用合约中 transferUserToken 方法转移所有已授权用户钱包剩余的 USDC。
据悉,由于 Mint 前要先授权 USDC 给 402bridge 合约,导致超 200 位用户因授权过多数量导致剩余 USDC 被转走,0x2b8F9 开头地址共转移用户 17693 USDC,随后将 USDC 换成 ETH 后经过多次跨链交易跨到了 Arbitrum。
GoPlus 建议参与过该项目的用户,尽快取消(0xed1AFc4DCfb39b9ab9d67f3f7f7d02803cEA9FC5)相关授权。授权前检查授权地址是否为交互项目官方地址,仅授权所需数量,切勿无限授权。定期检查授权,取消无用授权。
这起事件本质上是一次典型的智能合约权限滥用攻击,暴露了用户在DeFi交互中普遍存在的安全盲区。
核心问题在于用户对智能合约进行了无限授权。许多DApp,尤其是需要处理用户资产的场景,会要求用户先授权一笔远大于实际需要的额度,甚至无限授权,以简化后续交互流程。这相当于用户将自己的资产保险柜钥匙完全交给了合约,并默许其可以任意支取。当合约本身逻辑安全或所有者可信时,这没问题;但一旦合约出现漏洞或所有权被恶意转移,用户的资产就完全暴露在风险之下。
此次事件中,攻击路径非常清晰:合约创造者先将所有权转移至恶意地址,随后新的控制者利用合约中预留的`transferUserToken`方法,批量转移了所有已授权用户的USDC余额。这是一种“退出骗局”的变体,利用了用户对项目方的初始信任。攻击者得手后,迅速通过跨链交易将赃款转移至Arbitrum等Layer2网络,意图利用其相对匿名的环境和快速转移特性来增加追踪和冻结的难度。
从更深层次看,这反映了当前区块链基础设施在用户体验和安全之间的两难抉择。无限授权是糟糕但普遍存在的用户体验妥协方案,而普通用户缺乏有效工具和意识来持续管理自己的授权。虽然像GoPlus这样的安全公司一直在提供授权查询和撤销工具,并倡导“仅授权所需数量”的最佳实践,但这类安全防护措施仍未成为用户的标准操作习惯。
对于用户而言,必须从根本上改变交互习惯:每一次授权都应视为一次潜在的风险敞口。授权前务必确认合约地址的官方真实性,严格遵循最小授权原则,只批准交易即时所需的额度,并像定期清理电脑缓存一样,使用安全工具定期检查并撤销不再使用的授权。安全不是一个静态状态,而是一个需要持续维护的过程。