技术分析
整个攻击流程如下:
图1:TSD项目2号提案的目标(恶意)代币实现合约以及提案人信息
图2:代理合约指向的代币实现合约通过2号提案被替换为恶意代币实现合约
图3:攻击者利用所持地址之一建立恶意代币实现合约
图4:攻击者利用所持地址之一确定2号提案,并向所持另一地址铸造巨额TSD代币
图5:代理合约合约在升级代币实现合约的时候会同时调用initialize()方法
图6:反编译恶意代币实现合约中initialize()方法向攻击者地址铸造代币
图7:攻击者将116亿TSD代币通过PancakeSwap交易为BUSD