12月2日,NUMEN实验室根据链上数据监测,发现aBNBc项目遭到黑客攻击,出现大量的增发交易,增发了大量的aBNBc代币,目前黑客增发的 aBNBc一部分通过pancakeswap兑换为了BNB,一部分留在钱包中,并且黑客通过Tornado.Cash: Proxy进行资金转移。本次攻击事件造成了aBNBc 代币的流动性池枯竭,币价腰斩,还有其攻击者使用增发的aBNBc 代币做抵押借贷,造成借贷平台损失。

根据多笔交易数据分析,调用者是不同的地址,都造成了代币增发,我们发现项目在被攻击之前进行过合约升级,逻辑合约中的增发函数未进行权限检测。

代理合约地址: https://www.bscscan.com/address/0xE85aFCcDaFBE7F2B096f268e31ccE3da8dA2990A

逻辑合约地址: https://www.bscscan.com/address/0xd99955B615EF66F9Ee1430B02538a2eA52b14Ce4

黑客地址: https://bscscan.com/address/0xf3a465C9fA6663fF50794C698F600Faa4b05c777

逻辑合约更新交易: https://bscscan.com/tx/0xcbc5ff4a6c9a66274f9bde424777c3dc862ab576e282fbea3c9c2609ca3e282b

攻击交易: https://www.bscscan.com/tx/0x61e0f3f0dc5cc84f0547799ebb19515ce5f5d20c0b57442135263bcb1b506812

被攻击逻辑合约代码片段

黑客通过代理合约0xE85aFCcDaFBE7F2B096f268e31ccE3da8dA2990A 调用了逻辑合约中的0x3b3a5522函数,这个函数并没有做权限检查的校验,增发了 aBNBc代币。

链上分析Ankr被黑事件:10万亿枚aBNBc增发从何而来?

链上分析Ankr被黑事件:10万亿枚aBNBc增发从何而来?

被攻击后项目方更新了逻辑合约地址

攻击后项目方对逻辑合约再次进行了更新,更新后在代码中对增发函数做了权限检测。

逻辑合约更新后的地址:

https://www.bscscan.com/address/0x9e6616089e3d78faa9b6a1361b67e562c1600871

链上分析Ankr被黑事件:10万亿枚aBNBc增发从何而来?

资金流向

黑客已经将增发的aBNBc兑换成了BNB并进行转移,剩余的大量aBNBc仍留在钱包中。

链上分析Ankr被黑事件:10万亿枚aBNBc增发从何而来?

总结:

本次攻击主要是合约在进行升级时,逻辑合约中的增发函数没有权限检测,造成了黑客对代币的增发。在升级合约时使用的逻辑合约代码是没有经过安全审计和测试还是因为私钥泄露导致黑客自己对合约进行了升级,目前还没有结果。但是NUMEN实验室提醒用户和项目方一定要管理好自己的钱包私钥和助记词,不要随意存放。并且对于合约升级时,一定要做好安全测试。