据Beosin安全技术人员分析,该攻击是由BRA合约的逻辑漏洞所导致,BRA转移过程中如果调用方或接收方为pair,则会产生奖励。
此处,攻击者直接转移部分BRA代币给0x8F4BA1交易pair合约,并调用pair的skim函数,该函数会将多余供应量的BRA代币发送给指定地址,此处攻击者设置本pair为接收地址,BRA又重新回到pair,导致经过一次skim,pair的BRA代币就会增加(奖励部分),多次skim后,pair中已经存在大量BRA代币。
最后,攻击者通过pair的闪电贷功能,将UBST借贷出来,由于BRA代币异常多,所以pair在闪电贷最后判断余额的时候,就算UBST少了,也能通过检查(类似于乘积恒定的方式)。
目前被盗资金全部存在攻击者地址(0xE2Ba15be8C6Fb0d7C1F7bEA9106eb8232248FB8B),Beosin Trace将持续对被盗资金进行监控。



