首发 | CertiK:八千万人民币不翼而飞 Compounder.finance内部操作攻击分析
八千万人民币的大案子,是不是想起了《人民的名义》里那一墙的人民币?
在日常生活里,也许你不小心疏忽遗失了钱包也丢不了太多钱。但在加密货币的世界中稍有不慎,损失的金额也许是一把撒出去遮天蔽日的那种效果。
在层出不穷的矿坑中,一着错漏,满盘皆输。往往项目拥有者与投资者一样,心心念念记挂着自家项目的安全性。
但有一种情况是例外.....
北京时间12月1日下午3点,CertiK安全技术团队通过Skynet发现Compounder.Finance项目位于0x0b283b107f70d23250f882fbfe7216c38abbd7ca地址处智能合约发生多笔大额交易。
CertiK安全技术团队验证后,发现这些交易是Compounder.Finance项目拥有者内部操作,将大量代币转移到自己的账户中。
经统计,Compounder.Finance最终共损失约价值8000万人民币的代币。
攻击事件经过如下:
图一:inCaseTokenGetStuck()函数
Compounder.Finance项目拥有者通过多次调用如图一所示位于0x0b283b107f70d23250f882fbfe7216c38abbd7ca中的inCaseTokenGetStuck()函数,将代币转移到自己的指定的地址中。
调用该函数时,首先在1471行会检查外部函数调用者是否为strategist或者governance角色地址,通过检查于0x0b283b107f70d23250f882fbfe7216c38abbd7ca智能合约的strategist角色地址,发现与Compounder.Finance项目拥有者地址一致。
图二:Compounder.Finance: StrategyControllerV1中strategist角色地址
图三:?项目管理者盗取代币的交易举例
项目管理者盗取代币的交易列表:
●?https://etherscan.io/tx/0x9c75f70670d94e6d37f60a585f9b57d13193998d64866f720489efbea4809056
From?Compounder.Finance: StrategyControllerV1To?Compounder.Finance: Deployer?For 6,230,432.06773805 ($458,310.58)?Compound Uni... (cUNI)
●?https://etherscan.io/tx/0x18e0efcaabe64299666fd78bb33dae2a4b25c6f11b469fc0498db714970cacfa
From?Compounder.Finance: StrategyControllerV1To?Compounder.Finance: Deployer?For 1,934.23347357 ($745,530.95)?Compound Wra... (cWBTC)
●?https://etherscan.io/tx/0xf94de5a083f16700f4d26ec8ca3e03dc01889a54f472bf630079c54a77f033e6
From?Compounder.Finance: StrategyControllerV1To?Compounder.Finance: Deployer?For 97,944,481.39815207 ($2,086,547.53)?Compound USD... (cUSDC)
●?https://etherscan.io/tx/0x0763afe207015ed7c1aa8858d2c092cf7b6a20397f2408bff20b044ef1901822
From?Compounder.Finance: StrategyControllerV1To?Compounder.Finance: Deployer?For 105,102,172.66293264 ($2,159,301.01)?Compound USD... (cUSDT)
●?https://etherscan.io/tx/0x10d245e61e76c7bf44257985789463ed89f624a0d5ffc45cfa671b16a7113d77
From?Compounder.Finance: StrategyControllerV1To?Compounder.Finance: Deployer?For 1,300,610.936154161964594323 ($1,521,714.80)?yearn Curve.... (yyDAI ...)
●?https://etherscan.io/tx/0x57c61df91e46b191424bfdd9223f277457a07999b58420e3b540059aad3fc7fe
From?Compounder.Finance: StrategyControllerV1To?Compounder.Finance: Deployer?For 8,077.540667 ($4,788,285.33)?Wrapped Ethe... (WETH)
当今DeFi市场中存在着项目拥有者权限过大,中心化程度过高的项目比比皆是。
目前对项目拥有者缺乏额外治理或者限制措施,由于此类原因导致的内部操作攻击事件也逐渐增多。
此次事件造成损失巨大,攻击技术细节简单,更是为所有DeFi项目敲响了警钟:
1.?当前DeFi市场中缺乏对项目拥有者进行有效限制的方法。
2.?投资者对该类安全风险主要还是依靠查找项目背书的方式来进行确认。
项目的安全与否不该依赖于项目拥有者或团队自身的“选择”,这样的防范方式并不可行,从智能合约代码层面对项目拥有者进行权限限制才能从根本上杜绝此类攻击。