千尋ファイナンスの100万ドルのラグプル:どのようにしてそれが起こったのか

6月26日、分散型金融(DeFi)アグリゲータのChibi Financeが、自身のデプロイヤーアカウントによって攻撃され、約100万ドル相当の暗号通貨が契約から抜き取られるというラグプルまたは出口詐欺が発生しました。プロトコルの公式ユーザーインターフェースが消え、404エラーが発生し、アプリのすべてのソーシャルメディアが削除されました。資金が抜き取られた後、それらはWrapped Ether(WETH)に交換され、イーサリアムにブリッジされ、その後、攻撃者によってTornado Cashに送られました。

Chibi Finance(CHIBI)のガバナンストークンの価格は、ニュースが公開されると90%以上下落しました。

しかし、「ラグプル」というのはDeFiではありえないはずです。なぜなら、これらのアプリは定義上、中央集権型のインフラストラクチャ上で動作しないからです。したがって、アプリの作成者が誰かの暗号通貨や現金を持って逃げることはできません。

そのため、疑わしい詐欺がどのように行われたのかを分析することは役立つかもしれません。

CertiKは、この事件を調査した後、詳細なレポートを作成しました。このレポートは、ブロックチェーンのデータと組み合わせることで、攻撃がどのように行われ、将来同様の攻撃や詐欺から自分自身を守るためにユーザーができることを明らかにすることができます。

Chibi Financeアプリ

ユーザーインターフェースがオフラインになる前、Chibiは自身を「Arbitrumで最も人気のあるリターンアグリゲーター」と説明していました。ユーザーはArbitrumエコシステム全体からリターンを得ることができると主張していました。

CertiKによると、このDeFiアグリゲーターは4月にロークンの総額(TVL)で成長してきました。6月21日、ChibiはTVLで50万ドルを達成したと発表しました。当時、チームは100万ドルに到達することを目標としていました。

6月26日、アプリは初めてCoinGeckoにリストアップされ、より多くの露出を得ました。このイベントの直後、トークンが契約から抜き取られる直前に、1百万ドルの目標に到達したようです。その結果、投資家は攻撃または詐欺で1百万ドル以上の暗号通貨を失いました。

Chibi Finance契約

攻撃は、Chibi Financeプロトコルで使用される8つの異なる契約に存在するループホールを悪用しました。これらの契約は他のプロジェクトからフォークされ、Chibiに特有ではありませんでした。たとえば、その1つはArbitrumアドレス0x45E8a9BA6Fcd612a30ae186F3Cc93d78Be3E7d8dのStrategyAave.solであり、これはAbitrum、Ethereum、BNB Smart Chainなどの他のネットワークにも展開されています。

もう1つの例は、Arbitrumおよび他のネットワークにもいくつかのバージョンが存在するStrategySushiSwap.sol契約の0x9458Ea03af408cED1d919C8866a97FB35D06Aae0です。

これらの契約は、Chibi Financeだけでなく、DeFiアグリゲーターアプリケーションで一般的に使用されるようです。

関連記事: DeFiアグリゲーション:大量採用への道

パニック機能

ブロックチェーンデータによると、Chibi Financeで使用される一部の契約には、プールからすべてのトークンを引き出し、特定のアドレスに送信するために使用できる「パニック」機能が含まれています。この機能は、攻撃者の手法に不可欠でした。以下は、例としてStrategySushiSwap.solが使用される場合の説明です:

StrategySushiSwap.solの340〜343行目には、「パニック」関数が呼び出された場合、ISushiStake契約の「emergencyWithdraw」という2番目の関数を呼び出すと記述されています。

ISushiStake契約はインターフェースであり、実行可能なコードは含まれていません。代わりに、0xF4d73326C13a4Fc5FD7A064217e12780e9Bd62c3のSushiSwap: MiniChefV2契約を指します。

MiniChefV2のアドレスは、分散型取引所SushiSwapの公式契約としてリストされています。したがって、「panic」関数はSushiSwap内の「emergencyWithdraw」関数を呼び出します。

SushiSwapのアドレスでは、emergencyWithdraw関数は626〜643行目に表示されます。

この関数は、資金の所有者が報酬を受けずに引き出すことを可能にします。これは緊急時に役立つかもしれません。たとえば、報酬契約のバグにより報酬を受け取れなくなった場合、ユーザーはこの関数を呼び出したいと思うかもしれません。

emergencyWithdraw関数には、不正な使用を防ぐためのセーフガードがあります。360行目には「UserInfo storage user = userInfo[pid][msg.sender]」と記載されており、これは「user」がメッセージの送信者として定義されていることを意味します。通常の場合、これによりユーザーは自分の資金を緊急引き出しできますが、他の誰かの資金を引き出すことはできません。

SushiSwapのこの関数には悪意は見られません。しかし、ユーザーがこの関数を直接自分のウォレットから呼び出さない場合に問題が発生する可能性があります。

たとえば、ユーザーがChibi Financeを使用して資金を預けた場合、その暗号通貨はエンドユーザーではなくStrategySushiSwap契約によってSushiSwapに送信されました。これにより、Chibi Financeアプリが資金を引き出す「ユーザー」として認識されました。結果として、Chibiはユーザーの代わりにユーザーの資金を引き出すことができました。

関連記事:DeFiのラグプルを見つける方法:Kocooからの6つのヒント

ただし、パニック関数はエンドユーザーのみが呼び出せるようにする必要があります。

残念ながら、パニック関数にはこの要件がありません。代わりに、それはChibi Finance契約内の「onlyGov」関数として単純にリストされており、管理者のみが呼び出すことができます。攻撃者はこの抜け穴を利用して攻撃を行いました。

Chibi Finance攻撃の実施方法

CertiKのレポートによると、Ethereumのユーザー名Shadowout.ethは6月15日にTornado Cashから10 Ether(ETH)を引き出しました。これらの資金はArbitrumにブリッジされ、0.2 ETHがこのユーザーからアドレス0x80c1ca8f002744a3b22ac5ba6ffc4dc0deda58e3に送信されました。この2番目のアカウントは、その後、6月23日にアドレス0xb61222189b240be3da072898eda7db58b00fd6eeで悪意のある契約を作成しました。

攻撃者はこの悪意のある契約上で6月23日に「add pool」関数を8回呼び出しました。この検証されていない契約のコードは不明ですが、CertiKは、これらのトランザクションのそれぞれがリスト内の悪意のある契約のデータにChibi Finance契約を追加した可能性があると推測しています。

6月27日、Chibi Financeのデプロイヤーアカウントは8つのChibi Finance契約の管理権限を悪意のある契約に移管しました。これは、特定の契約上で「setGov」関数を呼び出す8つの個別のトランザクションを介して行われました。

悪意のある契約がこれらのガバナンス権限を取得した後、作成者は「execution」関数を呼び出しました。これにより、それは8つの契約それぞれで「panic」を呼び出し、さらにSushiSwap、Aave、Global HectareなどのDeFiアプリ内の関連するプールで「emergencyWithdraw」を呼び出しました。

その結果、Chibi Financeを介してこれらのプールにユーザーが預けたすべての資金が攻撃者によって排出され、投資家に100万ドル以上の損失が発生しました。

Chibiスタイルのラグプルを回避する方法

攻撃は管理者がユーザーのすべての資金を排出できる「panic」関数に依存していたため、Chibiスタイルのラグプルを回避する方法の1つは、この関数を持つアプリを使用しないことです。

一方、集約者に「パニック」機能がない場合、集約者アプリ内でバグやエクスプロイトが発見された場合に、ユーザーの資金が取り残されるリスクがあります。ユーザーは、直接アンダーライイングプールと対話する代わりに、集約者アプリを使用することを決める場合、これらのトレードオフを考慮することがあります。

関連記事: デフィハックと詐欺で2億4,000万ドル以上が損失に: 報告書

さらに、デフィユーザーは、スマートコントラクトのコードが非常に複雑であり、ほとんどのユーザーがアプリにセキュリティ上の欠陥があるかどうかを自分で判断することはできない可能性があることも考慮する必要があります。CertiKはそのレポートで次のように述べています:

「Chibi Financeインシデントは、Web3スペースにおける中央集権化に関連するリスクを示しています…。通常の投資家が、自分自身の研究を行うだけでChibi Financeのようなプロジェクト内の中央集権化リスクを見抜き、理解することは現実的な期待ではありません。」

そのため、CertiKは、アプリを使用する前に公開された監査を確認することをユーザーに勧めています。

Chibi Financeは、ブロックチェーンセキュリティ企業SolidProofによる監査を受けたと主張しています。報告書の内容はもはや利用できず、プロジェクトのGitHubも削除され、インターネットアーカイブに保管されていません。Kocooは、監査報告書に「パニック」機能が開示されたか、または監査が行われたかどうかさえ判断できませんでした。

Kocooはコメントを求めるためにSolidProofに連絡を取りましたが、公開時には返信を受け取っていません。

ラグプルまたは出口詐欺は、デフィスペースで一般的な問題となっています。6月1日、ブロックチェーンセキュリティ企業Beosinは、5月にラグプルから4,500万ドル以上が失われたと報告し、通常のデフィ攻撃を上回りました。4月には、Ordinals Financeプロトコルも、「safuToken」転送機能を介して100万ドルを超える被害を被ったとされています。

We will continue to update Kocoo; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

市場

ビットコインの投機家が、新たな「沸騰流入」として35K BTCを取引所に送金しました

ビットコインの投機家たちは、BTCの価格が30,000ドルを上回る水準で停滞しているため、わずかな利益を得るためにコインを取引...

ブロックチェーン

「$29.3KでBTC価格が凍結し、ビットコインの重要なキーマクロンブルフラッグが繰り返される」

「ビットコイントレーダーの注目は、BTCの価格が月末までに持続する「つまらない」動きからMACDに切り替わっている」

政策

暗号通貨の非銀行化は業界を地下に追いやる可能性がある:オーストラリア財務省

オーストラリア政府は、銀行が暗号通貨の顧客に対して銀行サービスの拒否や取り消しを行う前に連絡を取ることを義務付けています

市場

ビットコイントレーダーは、BTC価格が30,000ドルに向かっている中で「ディップを買う」ことを期待しています

ビットコインのディップバイヤーは、BTCの価格がゆっくりと30,000ドルに戻りつつある中、待機しています

市場

「ビットコインのみ」の買い握り投資戦略は、長期的にはオルトコインよりも優れていることが分析で示されています

2015年以降、一部の例外を除いて、アルトコインがBTCを上回った時期があったものの、ビットコインにのみ投資する戦略はアルト...

ブロックチェーン

「速報:米国司法省、仮想通貨取引所バイナンスに対する詐欺容疑を検討中」

「DoJは、消費者や広範な暗号通貨業界に損害を与える可能性のあるFTXのような銀行の取り付け騒ぎを引き起こすことを懸念して...