链上分析 Ankr 被黑事件:10 万亿枚 aBNBc 增发从何而来?
撰文:Numen Cyber Labs
来源: Numen Cyber Labs
图片来源:由 无界版图 AI 工具 生成。
本文试图从链上数据还原 Ankr 黑客的攻击过程。另外提醒各位朋友,在熊市持有封装资产风险系数有点高,尽量持有主流原生资产。
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 代币。
被攻击后项目方更新了逻辑合约地址
攻击后项目方对逻辑合约再次进行了更新,更新后在代码中对增发函数做了权限检测。
逻辑合约更新后的地址:
https://www.bscscan.com/address/0x9e6616089e3d78faa9b6a1361b67e562c1600871
资金流向
黑客已经将增发的 aBNBc 兑换成了 BNB 并进行转移,剩余的大量 aBNBc 仍留在钱包中。
总结:
本次攻击主要是合约在进行升级时,逻辑合约中的增发函数没有权限检测,造成了黑客对代币的增发。在升级合约时使用的逻辑合约代码是没有经过安全审计和测试还是因为私钥泄露导致黑客自己对合约进行了升级,目前还没有结果。但是 NUMEN 实验室提醒用户和项目方一定要管理好自己的钱包私钥和助记词,不要随意存放。并且对于合约升级时,一定要做好安全测试。