這裡是罪人的希望,因為他們的罪過在匿名斗篷的保護下被遺忘了。

Rekt來到這裡是為了照亮罪行,揭露攻擊者的方法,而我們好以此為鑑。

Compounder.finance的網站及官方Twitter賬戶都被項目方刪除了,而一份完整的安全審計報告為我們的調查提供了唯一的線索。

RektHQ現在正忙著呢,我們開始調查的時候事件已經發生了幾個小時…當我們聯繫審計方時,他們似乎並不希望看到我們。

“請不要發那樣該死的內容,你真的嚇到我了, weaker hands可能會報告這件事或一些狗屎。”

在我們提供了一些保證之後,Solidity.finance向我們提供了他們與compounder.finance交談的完整聊天記錄。

其他受害者也向我們伸出援手,展示了他們與compounder管理者進行的早期交談,並表達了他們的擔憂。

Solidity.finance告訴我們,他們僅與compounder管理員進行了簡短交談,他們確實審核了合約,並且他們在文檔中指出,儘管資金池有一個時間鎖(timelock)控制,但這個時間鎖並沒有提供任何保護。

以下內容來自他們的聊天記錄:

在我們調查的這個階段,solidity.finance仍然是存在疑點的,我們想知道他們為何會認為compounder.finance團隊看起來“非常值得信賴”。

在閱讀聊天記錄時,我們注意到儘管帳戶被刪除了,但保留了一個用戶名“ keccak”。

儘管solidity.finance表示keccak已經刪除了他們的帳戶,但我們已經找到了他們的帳戶,並正在嘗試聯繫。

不幸的是,Vlad不想通電話,所以我們給他們發了一條消息,但並沒有期望他能夠回應。

直到……

Vlad 準備好交談了,不幸的是,他並不想合作。

我們仍可以通過@keccak在Telegram上找到Vlad / keccak,但是他不再回應,並刪除了他賬戶中的圖片。

我們將他的舊頭像附在此處,供大家參考和調查。

我們被告知,圖中的狼來自一部著名的烏克蘭動畫片,上面寫著“come by if something comes up”,而左邊則是反核武器的海報。

不幸的是,這對受影響的用戶並沒有太多幫助。

在認清Vlad不想談話的情況後,我們訪問了Compounder的官方電報群,而裡面的人們都很歡迎我們。

滾動瀏覽聊天內容時,我們看到了由官方跑路行為所引發的典型反應。

即使是大玩家也遭到了這次跑路事件的重創,受害者們成立了一個調查小組(686名成員),其中帶頭人損失了100萬美元,他們試圖進行報仇。

帖子可以在這裡找到。

https://twitter.com/defiyield_info/status/1333731633393004545?s=20

1

統計數字

作為調查的一部分,我們找到了Solidity.finance以及來自Stake Capital的@vasa_develop,並要求他們合作創建一份完整的事後分析報告。

以下數據來自他們的報告。

被盜取的資產(8種):

8,077.540667 WEth (價值4,820,030美元);1,300,610.936154161964594323 yearn: yCRV 金庫(價值1,521,714.8美元);0.016390153857154838 COMP (價值1.79美元);105,102,172.66293264 Compound USDT (價值2,169,782.85美元);97,944,481.39815207 Compound USD Coin (價值2,096,403.68美元);1,934.23347357 Compound WBTC (價值744,396.89美元);23.368131489683158482 Aave計息YFI (價值628650.174379401美元);6,230,432.06773805 Compound Uniswap (價值466378.99美元);

跑路後,官方將資金轉移到了以下這些錢包:

https://etherscan.io/address/0x944f214a343025593d8d9fd2b2a6d43886fb2474 1,800,000 DAI ;https://etherscan.io/address/0x079667f4f7a0b440ad35ebd780efd216751f0758 5,066,124.665456504419940414 DAI,39.05381415 WBTC,4.38347845834390477 CP3R,0.004842656997849285 COMP,0.000007146621650034 UNI-V2。

部署者通過Tornado.cash隱藏其資金來源,並向7個不同的地址發送了ETH,其中大部分都只有一筆交易。然而,其中有一個地址在11月19日、20日、22日以及23日分別收到了4筆付款。該地址的大部分資金都來自一個持有超過100萬KORE代幣的地址(在跑路前,該地址只有1萬KORE代幣)。

2

攻擊分析

這次攻擊事件的罪魁禍首,是項目方在完成審計後在其代碼庫中添加了7個惡意策略合約。

策略合約中的非惡意withdraw()函數如下所示:

注意,我們有了一些檢查,比如:

這些檢查在7份惡意策略合約中是缺失的。這允許控制者合約(由跑路策略師控制)從策略中提取資產。

(注意下面的惡意withdraw函數中缺失的檢查)

完整的跑路過程可以分為4個步驟進行解釋:

步驟1

Compounder.Finance部署者部署了包含操縱withdraw()函數的7個惡意策略。

步驟2

Compounder.Finance部署者通過Timelock(24小時)交易在StrategyController中設置並批准7個惡意策略。

步驟3

Compounder.Finance部署者(策略師)在StrategyController上調用inCaseStrategyTokenGetStuck(),它濫用了惡意策略的可操縱withdraw()函數,將策略中的代幣轉移到StrategyController,並對7種惡意策略都執行這種操作。

步驟4

Compounder.Finance部署者(策略師)在StrategyController上調用了inCaseTokensGetStuck() ,該函數將代幣從StrategyController傳輸到Compounder.Finance部署者地址。現在,Compounder.Finance部署者完全控制了用戶的資產,共計價值12,464,316.329美元。

資產已被轉移到此處列出的多個地址。

感謝@vasa_develop提供的出色分析工作。

如果你是舉報人,網絡偵探或Etherscan偵探,並且你有線索貢獻,請與我們聯繫。

3

那應該怪誰?

經過我們的分析,我們知道這不是審計方的問題,他們盡職地完成了自己的任務,確保Compounder Finance不受外部攻擊的影響,同時他們也在審計報告和聊天群中表達了他們的擔憂。

也許他們本可以更明顯地表達出這些擔憂,但最終,最終責任還是在存儲者的身上。

儘管Compounder.finance使用了時間鎖來表明他們不會跑路,但現在我們知道,這種方法是不可信的。如果使用了它,則應建立一個自動警報系統或儀表板,以監控該地址的交易。

並且24小時的時間鎖,似乎不足以讓用戶移除自己的資金。儘管我們不能說所有匿名創始人的項目都是騙局,但幾乎所有的騙局,都是來自匿名創始人的項目。作為一個社區,我們需要警惕這些項目,尤其是那些使用Tornado.cash來隱藏資金來源的項目。

此外,審計報告的存在,不足以保證項目的安全性及合法性。審計通常更關注來自外部攻擊者的風險,而不是內部攻擊者,這也許是審計師需要改進的一個領域。

即使有審計、時間鎖(timelock)以及燃燒掉的密鑰,存儲用戶總是任由項目方的擺佈,他們隨時可能向市場投放大量的代幣。

4

來自Solidity.Finance的官方聲明

“C3PR部署了新的“策略合約”,這使得團隊可以清空用戶資金所在的策略合約。他們有延遲24小時交易的時間限制,但我們警告說,這是不夠的,因為誰會關注呢?他們在24小時前就通過這筆交易開始了這個改變:

5個小時前,他們盜走了資金。

我們主要關注的是來自外部的攻擊,我們意識到了這種風險,但其只延遲了24小時,而沒有人關注這些動作。 ”

我們都知道我們應該在投資前檢查智能合約,但這裡的知識壁壘很高,不是每個人都知道該找什麼,那些知道的人,也沒有動力去分享他們的發現。

在C3PR的例子中,知道的人很早就意識到了危險,而使跑路成為可能的代碼總是存在的。

而這次C3PR跑路事件,捲走了超過1200萬美元的用戶資金,可以說是有史以來最大的defi跑路案。

原文:https://rekt.ghost.io/deathbed-confessions-c3pr/