ライトニングローンでガバナンス権を2議席奪取、X100盗難事件は業界に何を示唆するのか?
- 核心的見解:X100プロジェクトはDAOガバナンスの仕組みに深刻な欠陥があり、ハッカーがライトニングローンで資金を借り入れてガバナンス議席を奪取し、悪意ある提案を通じて金庫資産を安値で移転させ、1日で約485万USDTの損失をもたらした。Xトークンは96%超暴落し、分散型ガバナンスのシステム上の安全リスクを露呈した。
- 關鍵要素:
- X100の金庫は3議席の「上院」によって管理されており、ガバナンス権の発効までの待機期間がなく、同一の支配者が複数アドレスを通じて議席を奪うことが可能で、提案が可決されると即座に執行される。
- ハッカーは約194万USDTのライトニングローンを借り入れてXトークンを購入し、わずか100万分の1枚多く保有するだけで2議席を奪取し、直ちに同一トランザクション内で悪意ある提案を通じて40万枚のXを約35.68ドルで売却した。
- 最初の攻撃から約24分後、2人目のハッカーが同じ仕組みを利用してさらに2議席を奪取し、約9.64万USDTの利益を得た。3回目の攻撃者は前者の補助コントラクトを借用して約55万枚のXを直接転送し、3回の攻撃はすべて30分以内に完了した。
- 今年は同様のガバナンス攻撃が頻発している。Bonk DAOは約2,050万ドル、Term Financeは約850万ドル、Arkadikoは約109万ドルの損失を被った。
- 一部の未遂攻撃のハードルは極めて低い。Moonwellの攻撃者はわずか約1,808ドル、Olasの攻撃者はわずか約135ドルで提案の閾値に達しており、攻撃者が多数票を掌握する必要はなく、提案資格を取得するだけで攻撃の機会を生み出せることを示している。
オリジナル | Odaily(@OdailyChina)
著者 | Asher(@Asher_0210)

10月24日、イーサリアムのDeFiプロジェクトX100がガバナンス攻撃を受け、約485万枚のUSDTが盗まれた。GMGN のデータによると、Xトークンの時価総額は攻撃前の約7億6000万ドルから約2400万ドルまで下落し、1日の下落率は96%を超えた。

本来は3つの「上院」議席によって共同管理されていた金庫だが、ハッカーはフラッシュローンで借りた資金を用いてそのうち2議席を奪取した。多数票を握った後、ハッカーは悪意ある提案を提出し、自らが支配する議席で投票して可決させ、金庫に自分への資産送金取引を承認させた。 最初の攻撃が成功した後、他の攻撃者たちが相次いで同じガバナンス機構を悪用し、プロジェクトの資産を移し続けた。
以下、Odailyはこのガバナンス攻撃の全過程と、X100事件の背後に露呈したDAOガバナンスのセキュリティ上のリスクを整理する。
194万ドルを借り入れ、ハッカーはいかにして2つの「上院」議席を奪取したのか?
X100の金庫はSenateと呼ばれる3議席の「上院」によって管理され、メンバーは投票によって金庫トークンの売却や流動性の投入などの操作を決定する。そのうち2議席を支配すれば、提案を可決し、金庫資産を動かすことができる。 保有者はプロジェクトトークンXをFreezerコントラクトに預け入れ、1年、3年、または5年の凍結を選択し、さらに100枚のXを登録料として支払えば、選挙に参加できる。3つの議席は立候補アドレスの現在の凍結残高によってリアルタイムで並べ替えられ、上位3名がガバナンス権を獲得する。
この仕組みには、同一の支配者が複数のアドレスを通じて議席を取得することを制限する規定も、ガバナンス権が有効になるまでの待機期間も設けられていない。攻撃者は、管理下の2つのアドレスの凍結残高を同時に上位3位に入れるだけで、即座に多数票を掌握できる。可決された提案も即座に実行できるため、議席の奪取と資産の移動を同一の取引内で完了させることができる。
攻撃発生前、第2議席のアドレスは約19,000枚のXを凍結していた。10月24日22時11分、ハッカーはAaveのフラッシュローンを通じて約194万枚のUSDTを借り入れ、Xを購入して2つの補助コントラクトに配分し、それぞれ凍結と選挙を完了させた。各コントラクトは19,000.000001枚のXを凍結し、元の第2議席よりわずか100万分の1枚多いだけで、同時に第2・第3議席を占め、元の第2議席をガバナンス名簿から押し出した。
多数票を獲得した後、ハッカーはどのようにして金庫資産を自分の手に流したのか?
2票の賛成票で、金庫は35.68ドルで40万枚のXを売却
2議席を取得した後、ハッカーは直ちに悪意ある提案を提出し、金庫に対して40万枚のXを自ら作成したPancakeSwap V3のX/USDTプールに売却するよう要求し、最低受取額をゼロに設定した。さらに別の管理下のコントラクトを通じて投票を支持させ、提案を2票で可決させて即座に実行した。GoPlusの分析によると、X100はガバナンス提案が取引プールを指定することを許可しているが、有効な最低取引額の保護を欠いている。ハッカーは金庫がどこでコインを売るかを決められるだけでなく、取引条件を自ら設定し、さらに自分が支配する多数票で取引を承認できる。
上記のプールはハッカーが同一の取引内で作成したもので、約100ドル分の流動性しか注入されていなかった。金庫が40万枚のXをそこに売却すると、プールは少量のUSDTしか支払えず、最低受取額がゼロであったため、取引はリターンが低すぎるとして失敗しなかった。最終的に、金庫は40万枚のXを渡し、わずか約35.68ドルしか取り戻せなかった。 ハッカーはその後、自作プールの流動性を引き出してXを取り戻し、一部のトークンを既存のUniswap V3 X/USDT取引プールに売却してUSDTに換えた。フラッシュローンなどの支出を返済した後、最初のハッカーは約475万枚のUSDTの利益を得た。
借入によるトークン購入、議席の奪取から、金庫の低価格売却の承認、換金して返済するまで、すべてが同一の取引内で完了した。 金庫が渡したトークンはハッカーの換金の材料となり、実際の取引プール内のUSDTは借入の返済に充てられ、攻撃の利益へと転化した。
後続の攻撃が相次ぎ発生、盗まれた資金はどこへ?
最初の攻撃から約24分後、2人目のハッカーがフラッシュローンを通じて再び2つのガバナンス議席を奪取し、Freezerが保有する一部のUniswap V3流動性ポジションを削除し、自作の取引プールを利用して資産を移し続け、約9万6400枚のUSDTを取得した。約5分後、3番目のウォレットが2人目のハッカーが残した、呼び出し元を制限していない補助コントラクトを利用し、そのガバナンス議席を直接借りて提案を可決させ、約55万枚のXを移した。最初の2回の攻撃で合計約485万枚のUSDTの損失が生じ、3回目の攻撃でさらに約55万枚のXが移され、3回の攻撃は30分足らずで発生した。
Bitqueryの追跡によると、最初のハッカーは攻撃後数分以内に主なUSDTの利益をETHに交換し、その後5つのウォレットに分散させ、合計約2,022.86 ETHとなった。2人目のハッカーはUSDTをETHに交換し、中継アドレスを経てChangeNOWへ送金し、移転プロセス全体は約21分を要した。
ガバナンス権限が一度奪われれば、資産の移動は最初のハッカーの単一の攻撃から、複数のウォレットが相次いで参加する搾取へと急速にエスカレートする。後から参加した者たちは、新たにコインを買って選挙に立候補する必要さえなく、既存の権限を利用して資産を移し続けることができる。
ガバナンス攻撃のコストがますます低くなるオンチェーンの世界
X100は孤立した事例ではなく、ガバナンス攻撃もハッカーが事前に巨額の資金を投入する必要があるとは限らない。攻撃者はトークンを購入して投票権を取得することも、低い提案閾値を利用して機会を探すこともでき、フラッシュローンはさらに借りた資金をガバナンスの奪取に参加させることを可能にする。
今年に入ってから、同様のガバナンス攻撃が何度も大規模な損失を引き起こしている。7月、Bonk DAOの攻撃者は約409万ドルを費やして供給量の1.003%を占めるトークンを購入し、ガバナンス承認の閾値をわずかに超えた後、悪意ある提案を通じて約2,050万ドルの資産を移し、投票終了後にはステーキングしたトークンも取り戻した。8月、Term Financeはガバナンス攻撃により約850万ドルの損失を被った。数百万ドルを投じて投票権を購入する必要があるとしても、その資金が攻撃者が最終的に負担するコストであるとは限らない。
一部の未遂に終わった攻撃では、閾値がわずか数百ドルに過ぎなかった。今年3月、Moonwellの攻撃者はわずか約1,808ドルでMFAMを購入して自己委任し、悪意ある提案を提出して、約108万ドルのユーザー資金に関わる7つのレンディング市場およびコアコントラクトの管理権の取得を試みた。9月、Olasの攻撃者はわずか約135ドルで5,100枚のOLASをロックし、提案閾値を超えた。2回の攻撃はいずれも阻止されたが、攻撃者は必ずしも多数票を掌握する必要はなく、提案資格を取得するだけで攻撃の機会を生み出せることを示している。
10月22日、Arkadikoもガバナンス攻撃を受けた。攻撃者は十分な量のDIKOを購入し、悪意あるコントラクトを導入する提案を単独で可決させ、その間反対票はなく、推定で約109万ドルの損失となった。
ガバナンス権は借りることができ、投票が可決されれば資産を移せる。金庫の支配権がこれほど容易に移り変わるのであれば、いわゆる分散型ガバナンスは、一体誰を守ることができるのか?


