北京时间2022年6月8日晚7点左右,CertiK审计团队监测到ApolloX项目遭受黑客攻击,其代币(APX)价格骤降52.12%。
该项目于2021年12月启动,APX作为ApolloX交易所的原生代币,是币安智能链(BSC)上的一个BEP-20代币。
攻击者( 0x9e532b19abd155ae5ced76ca2a206a732c68f261)通过反复调用ApolloxExchangeTreasury中的函数claim(),从该合约中获得约5300万APX代币,后来被换成了210万枚BUSD(价值约210万美元)。攻击者共进行了8次交易。
当日ApolloX正式宣布他们被黑客攻击,并计划通过公开回购APX和从交易所交易费中赚取的APX来弥补损失。
推特公告链接:https://twitter.com/ApolloX_com/status/1534570239177789440
攻击步骤
① 攻击者调用多个合约,而这些合约又反复调用ApolloxExchangeTreasury中的claim()函数。该函数用ECDSA.recover()成功验证了输入的信息和签名,并将相应的代币金额从合约中转移到攻击者手中。
② 攻击者通过PancakeSwap将APX代币大量换成BUSD。
漏洞交易
攻击者利用了以下这些交易盗取了ApolloX代币:
https://bscscan.com/tx/0x21e5e6ee42906a840c07eb39fb788553a3fbb5794562825c2a1d37bfc910e5f7
https://bscscan.com/tx/0x67a90c1af85c626460b928ccfde66432dd828b838038ef15400c577ee5386926
https://bscscan.com/tx/0xccc9e8ebf0472272b83e328a11e5aa5eb712c831dcd5bae32622dc238005aee0
https://bscscan.com/tx/0x34b29a393b68ae0f2e417485fb57ea7510a253c1b01431d04a66ca61e4fbbc8c
在PancakeSwap上的调换操作:
500万APX换取了246,560 BUSD https://bscscan.com/tx/0xc2607de512e31737659b78e8b6f6cc4a82b10f3da953e901e95a0c7beea440de
700万APX换取了291,276 BUSD https://bscscan.com/tx/0xe944b576b46402c830bf79062ba22728c55c87c73062f944f01d71d7fb707f53
700万APX换取了246,243 BUSD https://bscscan.com/tx/0x55c45952611cdd1b1d1c168c1b0bd6198ff64c71abb67aecda8ffa4057758cc6
700万APX换取了213,971 BUSD https://bscscan.com/tx/0x57030b6e64f81b854601abc5953837d4d7b3f2534593a1f48485fffd37630b94
700万APX换取了160,999 BUSD
https://bscscan.com/tx/0xf25688d3651bbade2cb67835050678ad4ab6f15f140a162fc2c3eed1821f8ec0
700万APX换取了115,535 BUSD
https://bscscan.com/tx/0xdf7e67aa67b8e56265cb05866d026015d0d6cafcefff5ba957b849df66a34284
700万APX换取了183,061 BUSD
https://bscscan.com/tx/0x72c7c6b8c73d4e70905c48f7fcc6a5c4a0ba27323067e7bbf2fae8f2cf80be02
约700万APX换取了143,451 BUSD
https://bscscan.com/tx/0x902ebbe7418c719032b524be101c2f3d88f8e061f85e19c5b6ab62a4b65b83c0
资产去向
① 攻击者赚取了约210万BUSD,资产通过以下3个交易被转移到ZAP bridge?
0x3d141a94a914947b3cc611f3e44d81be9f3147a9afaf168c57c4b5c638b16f71
0x07e4438429c55cfc1d1b2fcb8eb10cadc579d0b16c7b78af78a26448bc8b1d28
0x25ee8fc7d26ef11bce3d546517134b125d306f00bba253a2c13e6dcdc35b64f2
② 随后被转移至以太坊的地址:0x9E532b19Abd155Ae5ced76cA2a206A732c68f261
写在最后
通过审计,我们可以发现这一风险因素。
项目团队使用的是Openzeppelin 3.2.0版的标准ECDSA,签名的生成在合约之外。
正常情况下,签名的中心化控制可被监测到,以“中心化风险”的审计结果呈现于审计报告中。