6月5日,慢雾安全团队发布预警,BSC链上的DTXT/USDT交易对遭遇攻击,攻击者凭借对流动性检测逻辑的巧妙操纵以及闪电贷的辅助,获利约35,041.106枚USDT(折合逾3.5万美元)。慢雾指出,漏洞的关键在于合约用于区分用户操作类型的判定方式存在被伪造的可能。
漏洞根源:余额与储备金的错误比对
DTXT合约通过比较 USDT.balanceOf(pair) 与交易对储备金的差值,来识别用户是在添加流动性、移除流动性还是进行卖出操作。攻击者发现,这一比对方式可以被轻易扭曲:只要直接向交易对地址转入极少量USDT(仅1 wei),链上USDT余额便会脱离内部储备金的记录而产生偏差。当余额数值异常大于储备金时,合约就会误认为用户正在向池中注入流动性。
攻击手法还原:从误判到资金抽离
在实际攻击中,攻击者首先向交易对合约转入1 wei USDT,随后发起大额DTXT卖出。此时合约检测到 USDT.balanceOf(pair) 大于储备金,错误地将卖出判定为“添加流动性”,导致卖出手续费和swapFee逻辑被完全绕过,攻击者相当于在不付出任何成本的情况下完成了卖出前置准备。
紧接着,攻击者利用闪电贷快速进行流动性的增加与移除操作,进一步搅乱交易对状态,同时借助对1 wei USDT余额的精确伪造,最终直接调用Pair.swap函数,将池中真实的USDT资产抽走。整个攻击环节紧密相扣,使得逾3.5万枚USDT在短时间内被转出。
后续预警与链上监控
慢雾团队已针对此漏洞发布安全预警,敦促相关DeFi项目重新审视流动性操作校验机制,避免单一依赖余额对比。目前,攻击有关地址已被慢雾纳入监控范围,后续资金流向将持续跟踪,以确保社区及时获取风险信息。

