X100とArkadikoのガバナンス攻撃の振り返り:ロックアップと長期投票期間はなぜ無効になったのか?

By: foresightnews.pro|2026/10/30 08:01:31

暗号プロジェクトのガバナンスにはバッファメカニズムが必要です。

執筆:Liam Akiba Wright

翻訳:Chopper、Foresight News

最近の2件のガバナンス攻撃は、同じ設計上の欠陥を明らかにしました。攻撃者はイーサリアムエコシステムプロジェクトX100の2つのガバナンス席を奪取し、10月24日に1回のオンチェーン取引を通じて財庫の送金を承認し、同時にフラッシュローンの返済を完了しました。

貸出プロトコルArkadikoは、ユーザーが金庫資産を担保に借入を行うことを許可します。このプロジェクトでは、5日間のガバナンス投票が早期に終了し、攻撃者は投票終了間近にトークンを購入して投票に参加しました。悪意のある提案が通過した後、クールダウン期間はなく、契約は直ちに金庫資産を引き継ぎました。

これら2件の事件は、資金のロック、投票資格の取得、提案の実行の間に設計上のギャップが存在することを暴露しました。X100トークンは1年間のロックアップが設定されており、この長期ロックは悪用コストを増加させますが、投票権の発効時間を遅延させることはありません。Arkadikoの投票期間は非常に長く、市場に観察の時間を与えますが、投票終了間近に資金が突入することを防ぎません。どちらの設計も、提案が承認された後にコミュニティがリスクに対処するためのバッファウィンドウを設けていません。

X100のステーキングトークンはロック状態にあるが、すぐにガバナンス権限を得る

X100のFreezer契約は、ロックされたXトークンを管理し、ステーキングシェアがガバナンス委員会の候補者のランキングを決定します。ロックアップ期間は1年、3年、5年に分かれていますが、契約にはステーキングの最小保有期間の要件はありません。10月24日の攻撃では、2つの補助契約がそれぞれ19000.000001枚のXをステーキングし、1年のロックアップを選択しました。彼らは身分を登録し、ガバナンス委員会のランキングに入って、重要な2票を投じ、提案7が実行されました。この一連の操作は同一の取引で完了しました。

このガバナンスメカニズムには強制的な待機期間がありません:提案がオープンな段階にあるとき、ガバナンス委員会の過半数の席が直接実行を許可できます。攻撃者は3つの席のうち2つを掌握し、即時実行権を持っています。提案が通過した後、国庫にある40万枚のXが攻撃者が新たに作成した資金プールに転送され、Freezer契約はわずか35.675313枚のUSDTを受け取りました。攻撃者はその後、プールからトークンを引き出し、Xを売却して資金を得て、フラッシュローンを返済しました。

ステーキングトークンは全程ロックされたままで、攻撃者はステーキングシェアを解除する必要はなく、国庫から資産を盗み、トークンの売却による資金で返済を完了しました。攻撃取引が返済元本+利息を完了した後、約475万USDTが最終受取アドレスに流入しました。ChainBountyの貢献者Philipparkはこの資金を追跡しましたが、この金額は未販売のXトークンおよびその変動価値を含まず、追跡可能な送金のみを統計しています。

Freezer契約自体には1つの制約があります:取引実行後、契約内のX残高はすべてのユーザーのステーキングロックされた元本をカバーしなければなりません。このルールはユーザーのステーキング元本を保護するだけで、外部資金プールの流動性を保護することはできず、トークンの二次市場価格を支えることもできません。

Arkadiko:投票末期に入場した資金が投票に参加できる

Arkadikoの提案12はUTC時間10月17日20:35に提出され、UTC時間10月22日16:04に実行されました。このガバナンス契約は投票ウィンドウを720のビットコインブロック、つまり通常言われる5日間に設定しています。

ルールでは、提案者は条件を満たすDIKO(Arkadikoのガバナンストークン)の供給量の0.25%を保有する必要があり、投票参加率が5%に達して初めて法定人数が満たされ、賛成票が反対票を上回れば通過します。流通量の計算では、初期配分契約内のDIKOは除外されます。契約のルールでは、投票者が提案提出前にトークンを保有している必要はありません。攻撃者のウォレットはUTC10月22日15:03にトークンを購入し、15:06に投票を完了し、約457.3万枚のDIKOを投入しました。

Bitqueryのオンチェーン追跡によると、攻撃者の投票ウォレットに受け取ったSTXの77%は、以前のStackSwapから盗まれた資金に由来しています。(注:StackSwapはStacksエコシステムのDEXで、10月20日にガバナンス攻撃を受けました。)

攻撃者は複数の取引を通じて、数日間にわたり資金の準備を行い、X100のような単一取引のフラッシュローンモデルとは明らかに異なります。この攻撃の鍵は、投票チャネルがオープンな期間中に後から購入したトークンがすぐに投票権を得ることができる点です。投票が閉じられると、提案は直接発効し、投票通過と契約の承認の間にクールダウン待機期間はありません。

有効化されたArkadiko金庫操作契約には脆弱性があります:引き出し、USDAの鋳造関数には呼び出し者権限の検証が欠けています。提案12はこの悪意のある契約を金庫操作契約として登録し、鋳造権限を付与しました。提案が発効して数分後、つまりUTC16:06に攻撃者はsBTCを転出し、16:09にstSTXを転出しました。BitqueryはArkadikoの今回の損失を約109万ドルと推定しています:そのうち78万ドルがstSTX、13.5万ドルがsBTC、さらに攻撃者が無担保USDTを鋳造して売却した所得が17.3万ドルです。

Arkadikoは10月22日の応答投稿で、悪意のある契約を無効化し、ガバナンス、金庫の償還、および清算を一時停止したと述べました。同社は、影響を受けたstSTXおよびsBTC金庫は変更できないとし、その担保が利用できないためです。10月27日、提案14「AIP 32.2 -- 金庫操作の復元」が実行され、金庫操作項目がArkadikoの合法契約として設定されました。

教訓:ガバナンスにはバッファメカニズムが必要

投票スナップショットを設定し、トークンを事前に一定期間保有することを要求することで、新たに購入したトークンがすぐに投票権を得ることを防ぐことができます。一方、実行時間ロックは「提案通過」と「資産操作」を2つの独立したステップに分けます。すべての提案操作が強制的に時間ロックを経る場合、X100のような「1回の取引で借り入れ、攻撃、返済のクローズドループ」の攻撃モデルは成立しなくなります。もちろん、長期資金を持つ攻撃者はロックアップ期間が終了するのを待つことができるため、提案契約の操作権限を個別に制限する必要があります。

OpenZeppelinの文書では、歴史的投票権スナップショットと提案実行時間ロックを2つの独立したガバナンスセキュリティメカニズムとして定義しています。これら2つのケースに当てはめると、核心的な問題は、新たに購入した資金がいつ投票権を得るのか、投票通過後に契約がどのような操作を実行できるのか、資産が移動される前にコミュニティにどれだけの反応ウィンドウが与えられるのかということです。

X100のXトークンはロックアップ期間中に解除できず、実行時間ロックを加えても、ステーキングを事前に引き出せない制限は変わりません。

Arkadikoのオリジナルv1-3金庫契約には、退出メカニズムが組み込まれています:通常のユーザーは債務を返済し、安定費を支払った後、機能が有効になったときに担保を取り戻すことができます。このプロセスの前提は、資金が十分であり、担保資産がまだ存在することです。

5日間の投票ウィンドウは市場に警告を与えたように見えますが、決定的な投票は締切間近に完了し、投票終了後に悪意のある契約が直ちに発効します。投票期間が事後的な損失防止ウィンドウと等しいと単純に考えると、リスクが実際に発生するタイミングを覆い隠すことになります。

--価格

--
--
--

本コンテンツは、一般的な情報提供のみを目的としたものであり、金融、投資、法律、または税務に関する助言を構成するものではありません。ここに記載されているイベント、報酬、オンラインキャンペーン、またはそれらに関連する情報は、暗号資産の購入、売却、取引、その他いかなる取引の推奨、勧誘、または招待とみなされるべきではありません。暗号資産は価格変動が非常に大きく、損失が発生する可能性があります。WEEXのサービス、プロダクト、および関連イベントの提供状況は、地域によって異なる場合があります。お客様は、ご自身の参加が適用される現地の法令を遵守していることを自ら確認する責任を負うものとします。

関連記事

iconiconiconiconiconiconiconicon
カスタマーサービス:@weikecs
事業提携:@weikecs
定量取引・MM:bd@weex.com
VIPプログラム:support@weex.com