攻击事件概述
据区块链情报公司AMLBot监测数据,近日Polymarket用户在Polygon网络上遭遇前端恶意脚本入侵,被盗走约310万美元的PUSD(Polygon网络上的美元稳定币)。攻击者通过植入恶意脚本,诱导用户签署授权交易,利用EIP-7702委托执行机制,直接控制了用户钱包的签名权限,最终将用户钱包内的PUSD全部清空。目前,被盗资金已通过Relayer(中继器)转换为USDC.e(以太坊桥接版USDC),并跨链桥接至以太坊主网,最终兑换为ETH并集中至三个新钱包地址,合计约1891.9枚ETH。
技术细节分析
此次攻击的核心手法是前端脚本污染。攻击者通过某种方式在Polymarket的前端页面中植入了恶意JavaScript代码,当用户与页面交互时,恶意脚本会伪造授权请求,诱导用户使用其钱包签署一个EIP-7702类型的授权交易。EIP-7702是一种新的以太坊改进提案,允许通过外部拥有账户(EOA)委托给合约执行交易,从而实现类似“账户抽象”的功能。然而,攻击者滥用该机制,在用户不知情的情况下取得了钱包中所有PUSD的控制权。一旦用户签署了该授权,攻击者便立即调用转移函数,将PUSD余额全部转出。
与历史攻击对比
AMLBot指出,此次攻击与2024年1inch网页应用因Lottie Player(动画库)被植入钱包窃取脚本的事件高度相似。在1inch事件中,攻击者通过攻破第三方库Lottie Player的CDN,在1inch的前端中注入了恶意代码,窃取用户钱包资产。本次Polymarket攻击同样属于第三方脚本被攻破导致前端污染。这种攻击模式正变得越来越常见,尤其是依赖多个第三方库和CDN的DeFi前端,攻击面显著扩大。值得注意的是,两次攻击都利用了用户对前端授权请求的信任,而非直接攻击智能合约本身。
资金流向追踪
根据AMLBot追踪,被盗的PUSD首先通过Relay服务转换为USDC.e(Polygon上的以太坊桥接USDC),这可能是因为PUSD流动性有限,攻击者选择先转换成更通用的稳定币以便桥接。随后,USDC.e通过官方跨链桥(Polygon Bridge或第三方桥)转移至以太坊主网,并在主网上兑换为ETH。最终约1891.9枚ETH被分散发送至三个新创建的钱包地址,每个地址持有的ETH数量大致均衡,可能用于后续混淆或分批套现。目前这些地址尚未进行进一步移动。
安全启示与建议
此次事件再次敲响警钟:用户在与任何DeFi前端交互时,应保持警惕,尤其是对于异常或意料之外的授权请求,即使是来自信任的域名。建议用户使用硬件钱包配合交易仿真工具(如Fire、Revoke.cash等)来验证签名内容的真实性。对于项目方而言,应严格审查引入的第三方脚本和CDN源,考虑使用内容安全策略(CSP)和子资源完整性(SRI)来减少前端被污染的风险。此外,EIP-7702等新机制虽带来便利,但也引入新的攻击面,需要更完善的用户教育和安全防护。

