GMXはハッカーの攻撃を受け、4000万ドル以上の損失を被りました。攻撃者はリ入れ可能な脆弱性を利用し、契約がレバレッジ機能を有効にしている状態でショートポジションを構築することで攻撃を実施しました。! [4000万ドル以上の損失、GMXハッキングインシデントの原理分析](https://img-cdn.gateio.im/social/moments-77cf67cd58f99e3ac146947b5941bcad)問題の核心は、executeDecreaseOrder関数の誤った使用にあります。この関数の最初のパラメータは外部アカウント(EOA)であるべきですが、攻撃者はスマートコントラクトアドレスを渡しました。これにより、攻撃者は償還プロセス中にシステムに再入場し、内部状態を操作し、最終的に償還された資産は実際に保有しているGLPの価値を大幅に上回ることが可能になりました。GMXにおいて、GLPは流動性提供者トークンであり、金庫資産(USDC、ETH、WBTCなど)に対する持分を表します。通常、ユーザーがGLPを引き出すと、システムはユーザーが保有しているGLPの割合と現在の運用資産総額(AUM)に基づいて、返還される資産の数量を計算します。AUMの計算には、すべてのトークンプールの総価値、グローバルショートポジションの未実現損益、予約済み金額、事前設定の控除などの要因が含まれます。しかし、レバレッジ機能を有効にすると、システムに脆弱性が発生しました。攻撃者は GLP を償還する前に、大規模な WBTC ショートポジションを開設しました。ショートポジションが開かれると、全体のショート規模が増加し、価格が変動しない状態でシステムはそのショートポジションを損失状態と見なしました。この未実現損失は金庫の「資産」に誤って計上され、AUM が人為的に上昇しました。金庫は実際には追加の価値を得ていませんが、償還計算はこの過大な AUM に基づいて行われ、攻撃者は本来得るべき資産をはるかに超えた利益を得ました。! 【4000万ドル以上の損失、GMXハッキング事件の分析】(https://img-cdn.gateio.im/social/moments-a3f421784982dfc8b3ed7e41716befeb)今回の攻撃は、GMXのレバレッジメカニズムと再入防止設計における深刻な欠陥を暴露しました。核心的な問題は、資産の償還ロジックがAUMに対する信頼を過剰に持っており、その構成要素(未実現損失など)に対する十分な安全検証が行われていないことです。同時に、重要な関数が呼び出し元の身分(EOA対契約)に関する仮定の強制的な検証を欠いています。この事件は再び開発者に資金に敏感な操作を行う際、システムの状態が操作されないことを確保する必要があることを思い出させます。特に複雑な金融ロジック(レバレッジやデリバティブなど)を導入する際には、再入や状態汚染によるシステミックリスクを厳重に防ぐ必要があります。開発チームは契約設計を再評価し、安全対策を強化し、同様の攻撃が再発しないように、より厳格な認証と状態チェックメカニズムの導入を検討すべきです。
GMXがハッカーの攻撃を受け、再入可能な脆弱性により4000万ドルの損失を被った
GMXはハッカーの攻撃を受け、4000万ドル以上の損失を被りました。攻撃者はリ入れ可能な脆弱性を利用し、契約がレバレッジ機能を有効にしている状態でショートポジションを構築することで攻撃を実施しました。
! 4000万ドル以上の損失、GMXハッキングインシデントの原理分析
問題の核心は、executeDecreaseOrder関数の誤った使用にあります。この関数の最初のパラメータは外部アカウント(EOA)であるべきですが、攻撃者はスマートコントラクトアドレスを渡しました。これにより、攻撃者は償還プロセス中にシステムに再入場し、内部状態を操作し、最終的に償還された資産は実際に保有しているGLPの価値を大幅に上回ることが可能になりました。
GMXにおいて、GLPは流動性提供者トークンであり、金庫資産(USDC、ETH、WBTCなど)に対する持分を表します。通常、ユーザーがGLPを引き出すと、システムはユーザーが保有しているGLPの割合と現在の運用資産総額(AUM)に基づいて、返還される資産の数量を計算します。AUMの計算には、すべてのトークンプールの総価値、グローバルショートポジションの未実現損益、予約済み金額、事前設定の控除などの要因が含まれます。
しかし、レバレッジ機能を有効にすると、システムに脆弱性が発生しました。攻撃者は GLP を償還する前に、大規模な WBTC ショートポジションを開設しました。ショートポジションが開かれると、全体のショート規模が増加し、価格が変動しない状態でシステムはそのショートポジションを損失状態と見なしました。この未実現損失は金庫の「資産」に誤って計上され、AUM が人為的に上昇しました。金庫は実際には追加の価値を得ていませんが、償還計算はこの過大な AUM に基づいて行われ、攻撃者は本来得るべき資産をはるかに超えた利益を得ました。
! 【4000万ドル以上の損失、GMXハッキング事件の分析】(https://img-cdn.gateio.im/webp-social/moments-a3f421784982dfc8b3ed7e41716befeb.webp)
今回の攻撃は、GMXのレバレッジメカニズムと再入防止設計における深刻な欠陥を暴露しました。核心的な問題は、資産の償還ロジックがAUMに対する信頼を過剰に持っており、その構成要素(未実現損失など)に対する十分な安全検証が行われていないことです。同時に、重要な関数が呼び出し元の身分(EOA対契約)に関する仮定の強制的な検証を欠いています。
この事件は再び開発者に資金に敏感な操作を行う際、システムの状態が操作されないことを確保する必要があることを思い出させます。特に複雑な金融ロジック(レバレッジやデリバティブなど)を導入する際には、再入や状態汚染によるシステミックリスクを厳重に防ぐ必要があります。開発チームは契約設計を再評価し、安全対策を強化し、同様の攻撃が再発しないように、より厳格な認証と状態チェックメカニズムの導入を検討すべきです。