本次事件的主要问题所有的相关交易梳理
FirstRoundofAttack:?
0xA62c3ced6906B188A4d4A3c981B79f2AABf2107F
对于第?次的攻击(未能成功),细节如下
具体细节地址:
https://dashboard.tenderly.co/tx/mainnet/0x3bbb15f9852c389e8d77399fe88b49b042d0f22aad4a33c979fbabc60a34b24f
对于第?次攻击的地址:
0x3bbb15f9852c389e8d77399fe88b49b042d0f22aad4a33c979fbabc60a34b24f
可以看出,合约通过?Governance?合约对_proposalId?=?82和proposalId?=?83都设置了数值,但是由于没有设置投票(vote)的数额,所以攻击未能成功。
马斯克入选瑞典“失败博物馆”:金色财经报道,瑞典的一家“失败博物馆”将马斯克收录其中,其贡献了14个失败教训,包括特斯拉和SpaceX在2008年差点破产;
另外,他在推特上错误地发布了特斯拉私有化的消息,被吉尼斯世界纪录认定为“史上最大的个人财产损失”;尝试放弃以440亿美元收购推特的交易失败。[2023/5/2 14:37:59]
Governance合约地址:
https://dashboard.tenderly.co/tx/mainnet/0x3bbb15f9852c389e8d77399fe88b49b042d0f22aad4a33c979fbabc60a34b24f/contracts
SecondRoundofAttack:
0xbdbb5945f252bc3466a319cdcc3ee8056bf2e569
SBF将会参与美众议院的相关听证会,但未承诺具体日期:12月5日消息,FTX前首席执行官Sam Bankman-Fried(SBF)发推表示,“一旦我完成学习和回顾发生的事情,我会觉得我有责任出现在众议员金融委员会面前并解释。我不确定这会在13日发生,但当它发生时,我会参与作证。”
此前报道,美国众议院金融服务委员会将于12月13日举办名为“调查FTX的崩溃,第一部分”(Investigating the Collapse of FTX,PartI)的听证会,预计将包括FTX崩溃如何影响更广泛的数字资产行业的具体细节。[2022/12/5 21:23:03]
对于第?次的攻击(成功),细节如下
交易:
0xfefd829e246002a8fd061eede7501bccb6e244a9aacea0ebceaecef5d877a984
公链Sei宣布与Solana生态算法Stablecoin协议UXD Protocol集成:9月14日,据官方消息,公链项目Sei与Solana生态算法Stablecoin协议UXD Protocol集成。Sei表示,集成Delta中性的Stablecoin UXD将为Sei社区提供一个去中心化的、无需许可的、稳定的账户单位,这是DeFi的一个绝对必要条件。
此前报道,8月31日,Sei开发公司Sei Labs完成500万美元种子轮融资。[2022/9/14 13:29:26]
在这?,通过调?initialize()?函数,对投票进?了初始化:
关于函数中的参数解释
registryAddress-代理合同的地址
传?:
0xbdbb5945f252bc3466a319cdcc3ee8056bf2e569
韩国造币厂推进基于区块链的数字资产信任验证服务:8月8日消息,韩国造币厂宣布将推进基于区块链的数字资产信任验证服务项目,以解决与NFT的真实性和版权侵权相关的问题。韩国造币厂通过验证NFT的真实性,连接著作权信息,向NFT市场提供验证信息,从而保护因不良NFT而影响的用户;此外,其还通过确认数字著作权,建立著作权保护基础,通过颁发证书和查询提高NFT流通可信度等,牵引数字资产良性循环生态系统。该项目将从11月开始为该国发行NFT的运营商和交易所提供试点服务。(EBN)[2022/8/8 12:09:26]
votingPeriod-治理提案开放投票的区块周期。
传?:3
executionDelay-?在提案被评估/执?之前,在votingPeriod过期后必须通过的区块数量。
传?:0
votingQuorumPercent-?要求在总股份中投票的最低百分?认为提案有效。
“文化云”携手艺术浦东首发数字藏品:金色财经报道,近日,“文化云”(“天工数藏”平台)与艺术浦东举行数字藏品发行合作协议签约仪式。根据协议,艺术浦东授权的两款顶级非遗工艺品——浦东的国家级非遗传承人唐明敏的上海绒绣作品《浦东陆家嘴》、江西景德镇的“中国轻工大国工匠”曹爱勤的瓷雕作品《富春山居图》,将以数字藏品的形式在“天工数藏”平台发售。
据悉,在“活在当下的天工技艺”的主题下,两款非遗数字藏品将于8月在“天工数藏”平台正式上线,并将分多期发售,共计发行2万份。[2022/7/15 2:16:17]
传?:1
maxInProgressProposals-??次可能的InProgress提议的最?数量。
传?:4
guardianAddress-具有特殊治理权限的帐户地址。
传?:
0xbdbb5945f252bc3466a319cdcc3ee8056bf2e569
根据?evaluateproposaloutcome?的结果?返回值为?3,表示该proposal?将不会被执行:
0:InProgress-提案是活跃的,可以投票表决。
1:Rejected-提案投票期已结束,投票未能通过。建议将不会被执行。
2:ApprovedExecuted-提案投票已结束,投票已通过。提案成功执行。
3:QuorumNotMet-提案投票期已结束,未达到投票法定?例。建议将不会被执行。
4:ApprovedExecutionFailed-提案投票通过,但交易执?失败。
5:Evaluating-提案投票通过,evaluateProposalOutcome函数?前正在运行。
6:Vetoed-提案被Guardian否决了。
7:TargetContractAddressChanged-由于?标合同地址变更,建议?效。
8:TargetContractCodeHashChanged-建议被认为是?效的,因为代码在?标合同地址已经改变。
根据?quorumMet?我们能知道发proposal=83执行失败是因为传?值a=?0
根据?balanceOf?()我们能查询到?Governance合约?Audio?token的余额
To代表AudioToken数量;
From代表Governance合约余额数量;
proposal85的作?是将Governance合约?的余额转移到攻击合约中:
将Governance合约?和治理代币的地址都设置为攻击合约的地址,对应的initialize()在下?截图中:
接下来,通过代理合约将DelegateManager合约中的serviceProviderAddress设置为攻击合约地址
caller是DelegateManager?
input合约地址是攻击合约的地址serviceProviderAddress()
细节在下图中:
然后,通过Governance合约授权代币10000000000000000000000000000000
给攻击合约
"_targetSP":"0xbdbb5945f252bc3466a319cdcc3ee8056bf2e569"
为攻击合约地址
通过上述步骤,攻击合约获得了最?权限
0x3c09c6306b67737227edc24c663462d870e7c2bf39e9ab66877a980c900dd5d5
攻击?员进?了投票交易proposal_id?=85,?vote?=2
在0x4227bca8ed4b8915c7eec0e14ad3748a88c4371d4176e716e8007249b9980dc9这个交易中,通过proposal_id=85的审核同时进?了AudioToken的转账,转账到攻击合约
最后?个交易:
0x82fc23992c7433fffad0e28a1b8d11211dc4377de83e88088d79f24f4a3f28b3
将18,564,497AudioToken
换成?704?Ether?Token
总结
在这个攻击中,问题是出现在对于modifier?initializer()的使?。
通过代理合约,可以多次调?初始化函数,但是原理上应该只能调??次?不是多次。虽然Audius团队对代码进?了多次审计,但是逻辑上的漏洞通过机器扫描往往很难发现。建议请专业的智能合约审计团队进?多轮的逻辑审计,以后可以避免此类事件的发?。
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。