今天2月15日,先祝大家元宵節快樂!團團圓圓每一天!
而在今天凌晨時分,成都鏈安鏈必應-區塊鏈安全態勢感知平臺輿情監測顯示,風投DAO組織Build Finance項目遭遇治理攻擊。關于本次攻擊,成都鏈安技術團隊第一時間進行了分析。
據悉,Build Finance 是一個自我描述為“去中心化風險建設者”,其目標是通過獎勵代幣來激勵新項目。這個想法是用其原生 BUILD 代幣為項目提供資金,作為回報,這些項目將采用 BUILD 代幣來增加對它們的需求。此外,該項目由 DAO 維護,也就是由一個去中心化組織參與治理。
但是,黑客卻悄悄搞起事情,該項目遭遇攻擊者惡意治理接管,黑客通過獲得足夠多的投票成功控制 Build 代幣合約,在三筆交易中鑄造了超過10億的BUILD 代幣,并耗盡了 Balancer 和 Uniswap 流動性池中的大部分資金。事發后,該項目團隊在推特建議用戶不要在任何平臺上購買 BUILD 代幣,項目團隊成員試圖與攻擊者進行直接對話,但對方似乎沒有興趣對話。
MakerDAO社區拒絕CoinShares投資高達5億美元債券的提議:金色財經報道,去中心化借貸協議MakerDAO社區拒絕了一項提議,即使用高達5億美元的穩定幣USDC與加密貨幣投資公司CoinShares一起投資債券。CoinShares曾提議管理1億至5億美元的USDC,并將這些資金積極投資于公司債務證券和政府支持債券的投資組合,旨在賺取與有擔保隔夜融資利率(SOFR)相匹配的收益率,SOFR目前為3.8%,大約72%的選票反對該提案。[2022/11/29 21:08:15]
看來項目方又遇到了一位“任性”的黑客。下面,跟著我們來看一下事件具體分析過程。
Round 1
通過對項目的交易追蹤,我們發現2022年2月12日Build Finance?項目被攻擊者竊取了治理權限,接著向0xdcc8A38A地址分三次鑄造了超過10億的BUILD代幣。
ApeCoin DAO將于10月15日左右發布治理文件:金色財經報道,ApeCoin DAO成員Brandon Caruana在周三晚上舉行了一次辦公時間會議上表示,ApeCoin DAO將于10月15日左右發布治理文件。Brandon Caruana表示,ApeCoin DAO正在按計劃發布對提名過程的看法以及之后的選舉的想法,這份治理文件將涵蓋從如何獲得提名、如何提名其他人、提名人審查以及選舉過程如何運作的所有內容。Brandon Caruana稱,這份治理文件是與ApeCoin社區對話的起點,而不是全部的終點。[2022/10/11 10:30:33]
然后0xdcc8A38A地址將這10億代幣通過Uniswap V2: BUILD兌換將項目方的交易池掏空。
Redline DAO戰略投資音樂NFT平臺Voice Street:12月5日消息,專注于區塊鏈的投資機構Redline DAO已投資音樂NFT平臺Voice Street并與其達成合作。據悉,Voice Street是一個NFT平臺,專注于音樂版權、知識產權(IP)衍生品和基于音樂的GameFi。[2021/12/5 12:52:36]
觀察交易細節后,我們發現調用Build 代幣合約mint函數鑄幣的地址也為0xdcc8A38A。
接著往下看,我們觀察下圖項目方的合約代碼發現調用mint函數的地址只能為governance地址。此時鑄幣的地址為0xdcc8A38A,也就是說合約現在的governance權限已經被0xdcc8A38A地址獲取了。
OXDex與 BoringDAO達成合作:據官方消息,去中心化 AMM & 期權交易平臺 OXDex 宣布與去中心化資產橋 BoringDAO 建立合作伙伴關系。通過這次合作,OXDex網絡生態代幣 OX 將通過 BoringDAO 的多鏈橋梁獲得多鏈支持,雙方將率先在OKExChain展開合作。據悉,OXDex宣布獲得了由 Chain Capital 、Lancer Capital 、共識實驗室 、BitZ Labs、 NU Capital等多家機構的種子輪投資。[2021/5/10 21:45:00]
從代碼中可以看到原本的governance權限屬于合約的創建者即下圖的0x2Cb037BD6B7Fbd78f04756C99B7996F430c58172地址。
Boring DAO總鎖倉量超過三千萬美元,并已鑄造961枚比特幣錨定幣:11月17日,去中心化資產橋Boring DAO的總鎖定資產已經超過3000萬美元,根據DeBank數據顯示,比特幣錨定幣oBTC已鑄造961枚。
BoringDAO于11/12日開啟oBTC鑄幣隧道后,現已超過pBTC與imBTC的總量,并吸引了許多DeFi社區與BTC社區的關注,該團隊旨在用更加去中心化的方式,讓BTC可以更加簡單的參與其他區塊鏈的DeFi,即讓所有區塊鏈成為BTC的layer2,該開發團隊在近期會宣布下一條支持的區塊鏈。[2020/11/17 21:05:58]
我們不禁要問,那么governance權限是如何轉移到0xdcc8A38A上的呢?
Round 2
通過排查,我們通過2020年9月4日的一筆交易發現了線索,攻擊者只有通過setGovernance函數才能竊取governance的權限。那么在這期間合約創建者0x2Cb037BD一定使用了setGovernance函數進行了權限轉移。
通過查找0x2Cb037BD地址的交易記錄可見,在同一天創建者使用了setGovernance函數。交易hash為0xe3525247cea81ae98098817bc6bf6f6a16842b68544f1430926a363e790d33f2。
通過查找內部的Storage可見權限轉移給了0x38bce4b45f3d0d138927ab221560dac926999ba6地址而不是上述的0xdcc8A38A攻擊地址。交易哈希為:0xe3525247cea81ae98098817bc6bf6f6a16842b68544f1430926a363e790d33f2。
通過繼續跟進0x38bce4b地址,發現是一個Timelock合約,而合約中可以調用build 代幣合約函數的setGovernance函數只有executeTransaction函數。
我們跟進executeTransaction函數找到了其中的Storage。
從上圖可見0x38bce4b45f3d0d138927ab221560dac926999ba6地址將權限又轉移到了0x5a6ebeb6b61a80b2a2a5e0b4d893d731358d888583地址,交易哈希為0x9a0c9d5d3da1019edf234d79af072c1a6acc93d21daebae4ced97ce5e41b2573,調用時間為2021年1月25日。
通過繼續跟進0x5a6ebeb6地址,在下圖可知在2022年2月9日由suho.eth發起的提案,0xdcc8A38A攻擊地址在2022年2月11日投票通過。在4天前將governance權限變更為0xdcc8A38A。
suho.eth發起的提案變更governance,投票設置的閾值較低導致提案通過,通過call調用將build合約的governance更改為0xdcc8A38A地址。
0x5a6ebeb6b61a80b2a2a5e0b4d893d731358d888583地址部分代碼。
此地址獲取governance權限后,0xdcc8A38A地址通過build 代幣合約的mint函數向本身鑄造了大約10億的build代幣,隨后去交易池掏空流動性。
獲取權限的流程圖為:
攻擊者利用類似的手法,從另外一個治理合約中轉走了該治理合約所持有的代幣資產。本次獲利共162個ETH、20014個USDC 481405個DAI、75719個NCR約為112萬美元。
最后,成都鏈安提醒:DAO合約應該設置合適的投票閾值,實現真正的去中心化治理,避免很少的投票數量就使得提案通過并成功執行,建議可以參考openzeppelin官方提供的治理合約的實現。
Tags:ANCNCEDAONANEIFI FinancehummingbirdfinancePieDAO DEFI Small CapMummy Finance
近日,隨著周杰倫等世界級巨星入場 NFT,NFT 市場也在 1 月迅速升溫,據 Dune Analytics 數據顯示,在一月僅僅過了一半時間的情況下.
1900/1/1 0:00:00在Facebook母公司Meta因抗拒歐盟數據隱私新規而威脅退出歐洲市場時,開放式金融協議Aave的團隊于2月7日推出了去中心化社交工具Lens Protocol(以下簡稱「Lens」).
1900/1/1 0:00:00Boba Network于11月14日總鎖倉量(或TVL)從87萬美元一日飆升至3億美元,并在12月初以超10億的TVL在Layer 2與網絡中迅速躍居第三,超過了Optimism.
1900/1/1 0:00:00寫給用戶的跨鏈橋工具集指南。隨著 Solana、Avalanche、Fantom 等公鏈的集體爆發,新興生態的造富效應正在抬頭,為了追逐這些全新的財富機會,用戶的資產跨鏈需求正日漸抬升.
1900/1/1 0:00:002022年的第一篇項目介紹我想寫一寫Cybertrade,這是一款由東歐斯洛法克團隊IOI Games開發的第二款鏈游.
1900/1/1 0:00:00Phala World 是一款真正為社區打造的游戲,將社區對 Phala 網絡貢獻轉化為游戲中的資產。近期,Phala 官方發布 Phala World 的設計介紹,此篇為原文譯文.
1900/1/1 0:00:00