本文へ移動

マルチシグモジュールのリスク:どの権限がしきい値を迂回するか

有効なモジュールは、通常の所有者しきい値を集めずにマルチシグアカウントから操作を実行できます。モジュール、Guard、Fallback Handler、アップグレード、復旧経路の監査方法を説明します。

更新日

教育目的の参考情報であり、投資助言ではありません。投資により損失が生じる可能性があります。

直接の答え

有効なモジュールは独立した認可経路です。Safe型スマートアカウントでは、承認済みモジュールが execTransactionFromModule を呼び出し、その操作について通常の所有者によるM-of-N署名を集めずに CALL または DELEGATECALL を実行できます。したがって、表示されるしきい値は一つの実行経路だけを示し、アカウント全体のセキュリティ境界ではありません。

モジュールは支出上限、定期支払い、復旧、プロトコル操作などの有用な自動化を実現します。ただし権限は広範になり得ます。Safe公式コントラクトは、有効なモジュールが任意のトランザクションを実行でき、悪意あるモジュールがSafeを乗っ取れると警告しています。所有者としきい値だけでなく、すべての有効なモジュールを確認してください。

仕組み

所有者はまず通常のSafeトランザクションで enableModule を承認します。アカウントはモジュールを有効モジュールのレジストリに保存します。その後、モジュール自身が呼び出し元と規則を検証して execTransactionFromModule を呼び、アカウントは呼び出し元が有効であることを確認して要求された操作を実行します。セキュリティはモジュールのコード、設定、管理者、アップグレード鍵、外部依存先にも左右されます。

トランザクションGuardとModule Guardは別の制御です。前者は通常の execTransaction 呼び出しを、後者はモジュール起点の呼び出しを検査します。Guardは実行を拒否できますが、故障したり制限が厳しすぎたりするとサービス拒否も起こせます。どの種類が導入され、何を検査し、どう復旧または削除できるかを確認します。

Fallback Handlerも拡張点です。calldataがアカウントの中核関数に一致しない場合、アカウントは設定済みHandlerへ呼び出しを転送し、元の呼び出し元アドレスを付加します。Handlerは署名検証やトークンのコールバックを追加できますが、安全でないロジックや設定は権限と解釈の攻撃面を増やします。

ある資金庫は所有者しきい値 3-of-5 を採用し、日常の支払い用に手当モジュールを有効化しています。モジュールはアップグレード可能で、その管理者は単一のホットウォレットです。その鍵が侵害されると、攻撃者はモジュールを更新し、モジュール実行経路を使って、3 人の署名を得ずに資産を移転できます。3-of-5 のしきい値は変更されていませんが、この経路には適用されません。

監査では、モジュールのアドレスと検証済み実装、プロキシと管理者、支出上限、許可された宛先と関数セレクタ、DELEGATECALL の可否、導入済みModule Guard、Fallback Handler、モジュール無効化に必要な正確なトランザクションを特定します。ウォレット画面だけに頼らず、各チェーンのアカウントと関連プロキシコントラクトから値を検証してください。

リスク

  • 権限リスク: 脆弱または悪意あるモジュールは、資産移転、支出承認、DELEGATECALL による状態変更、他の特権コントラクトの呼び出しを行えます。機能が狭い画面でも、オンチェーン権限が狭い証明にはなりません。
  • 制御・アップグレードリスク: モジュールのプロキシ、管理者、オラクル、自動実行者、復旧鍵によって、見かけ上の 3-of-5 構成が実質的により少数の制御主体へ縮小する場合があります。すべてのアップグレードと設定経路を最終署名者と待機時間まで追跡します。
  • 可用性リスク: 故障したGuardは正当なトランザクションを阻止し、侵害されたモジュールは所有者が削除を調整するより速く動けます。無効化と復旧をテストし、モジュール、Guard、Handlerの変更を監視し、削除対象に依存しない対応経路を保持します。

よくある誤解

  • 誤解 1:「アカウントは 3-of-5 なので、すべての送金に 3 署名が必要だ。」 しきい値は通常の所有者認可経路に適用されます。有効なモジュールは異なる認可方針を持てます。
  • 誤解 2:「一つのGuardがすべての実行経路を守る。」 通常のトランザクションGuardとModule Guardは異なる入口を対象とし、範囲は導入済みコントラクトと規則に依存します。
  • 誤解 3:「画面でモジュールを削除すればリスクは終わる。」 アカウントが存在する各チェーンで、有効モジュールレジストリ、HandlerとGuardのストレージ、プロキシ実装、実行済み変更トランザクションを確認します。

関連トピック

出典

ナビゲーション

Wiki を検索...