PRO:Audius攻击事件分析

本次事件的主要问题所有的相关交易梳理

FirstRoundofAttack:?

0xA62c3ced6906B188A4d4A3c981B79f2AABf2107F

对于第?次的攻击(未能成功),细节如下

具体细节地址:

https://dashboard.tenderly.co/tx/mainnet/0x3bbb15f9852c389e8d77399fe88b49b042d0f22aad4a33c979fbabc60a34b24f

对于第?次攻击的地址:

0x3bbb15f9852c389e8d77399fe88b49b042d0f22aad4a33c979fbabc60a34b24f

可以看出,合约通过?Governance?合约对_proposalId?=?82和proposalId?=?83都设置了数值,但是由于没有设置投票(vote)的数额,所以攻击未能成功。

SkyBridge创始人:比特币的实际内在价值约为4万美元:金色财经报道,SkyBridge创始人Anthony Scaramucci认为BTC的内在价值目前被低估了,并预测随着采用率的增加,会有爆炸性的回报。Scaramucci表示,比特币的实际内在价值约为4万美元,而目前的交易价格几乎折价50%。他将坚持使用比特币,SkyBridge根本没有改变其投资组合,尽管FTX出现了丑闻,但已经获得了回报。他补充说,目前的低迷是暂时的,人们应该耐心等待,随着行业走出加密货币的冬天,采用会获得更多的吸引力。[2023/5/20 15:15:02]

Governance合约地址:

https://dashboard.tenderly.co/tx/mainnet/0x3bbb15f9852c389e8d77399fe88b49b042d0f22aad4a33c979fbabc60a34b24f/contracts

非托管流动性质押平台Ether.Fi完成530万美元融资:金色财经报道,非托管流动性质押平台 Ether.Fi 完成 530 万美元融资,North Island Ventures、Chapter One 和 Node Capital 共同领投,BitMex 创始人 Arthur Hayes 参投。

据悉,Ether.Fi 允许用户保持对其密钥的控制,同时将以太坊验证器操作委托给节点操作员。通过其协议生成的每个验证器都将表示为NFT。存入至少 32 ETH 的以太坊质押者将持有 NFT,这代表了验证者的经济利益。一旦流动资金池和协议资金管理智能合约被实施,这个 NFT 就可以被分割。(Coindesk)[2023/2/28 12:34:24]

SecondRoundofAttack:

0xbdbb5945f252bc3466a319cdcc3ee8056bf2e569

Arthur Hayes地址收到超过34.1万枚BLUR:金色财经报道,派盾监测数据显示,标记为Arthur Hayes的地址收到0x62ac开头地址发送的超过34.1万枚BLUR。[2023/2/16 12:10:29]

对于第?次的攻击(成功),细节如下

交易:

0xfefd829e246002a8fd061eede7501bccb6e244a9aacea0ebceaecef5d877a984

在这?,通过调?initialize()?函数,对投票进?了初始化:

关于函数中的参数解释

registryAddress-代理合同的地址

传?:

0xbdbb5945f252bc3466a319cdcc3ee8056bf2e569

Yuga Labs已删除钱包“0x3977”的DooKey Dash游戏高分,Mongraal重回榜首:金色财经报道,据加密KOL @Cirrus 在社交媒体披露,Bored Ape Yacht Club已将DooKey Dash 排行榜上几个高分全部删除,因为其中一名头部 Dookeyers Sewer Pass 钱包持有者被发现作弊。据悉该钱包地址为“0x397733A537996281aACc73246D190b05753BF8fA”,化名“The_Real_E_M”,他在排名前十的高分中占有四个,其游戏最高分是950687分。分数删除之后,职业玩家 Mongraal 的 928,522 分又回到了DooKey Dash游戏的最高分。此前Yuga Labs联合创始人Greg Solano发布提醒,作弊会被标记接受审查,玩家得分在审核后或被减为零。[2023/2/5 11:48:25]

votingPeriod-治理提案开放投票的区块周期。

FTX日本高管:公司正准备在今年年底前允许客户提取资产:金色财经报道,据日本放送协会NHK,FTX日本高管称,该公司正准备在今年年底前允许客户提取资产。[2022/11/21 7:52:23]

传?:3

executionDelay-?在提案被评估/执?之前,在votingPeriod过期后必须通过的区块数量。

传?:0

votingQuorumPercent-?要求在总股份中投票的最低百分?认为提案有效。

传?: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团队对代码进?了多次审计,但是逻辑上的漏洞通过机器扫描往往很难发现。建议请专业的智能合约审计团队进?多轮的逻辑审计,以后可以避免此类事件的发?。

来源:金色财经

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:187ms0-1:400ms