EIP-7702はアドレスにスマートコントラクトのような能力と柔軟性を与え、ますます多くの7702アプリケーションが次々と創出されており、これはより多くの人々がWeb3に参加し、ユーザー体験を向上させるために重要です。
しかし、7702の柔軟性と大多数のユーザーが7702にまだ不慣れな状況が詐欺グループによって利用されており、最近、私たちはユーザーがMetamask 7702のバッチ実行能力により、本来は十数回の承認が必要なインタラクションがフィッシンググループ#InfernoDrainerによって1つの取引にまとめられ、資産が盗まれる事例を観測しました。
説明:Metamask自体には安全問題はありません。Metamaskはユーザーに7702関連の機能を提供する際、ユーザーの安全を最優先に考えており、多くの安全対策を講じています。ユーザーは7702の機能と関連リスクについてもっと理解する必要があります。そうすることで、このような安全事件の再発を防ぐことができます。
Metamask 7702 Delagator Signature Authorization Principle and Security Design (メタマスク 7702 デラゲーター署名認証原則とセキュリティ設計)
テクニカル分析
ユーザーは、デプロイされたデリゲータコントラクトを承認し、ユーザーアカウントのコードフィールドをコントラクトにポイントします。 MetaMaskの現在の公式デリゲーターコントラクトアドレスは0x63c0c19a282a1B52b07dD5a65b58948A07DAE32Bです
認証構造: (chainId、delegatorAddress、nonce、signature) authorization への書き込み_list
署名方法:Metamaskは、EIP-7702関連の認証トランザクション、つまりsignEIP7702Authorizationメソッド、およびdigest7702 = keccak256(0x05 ‖ RLP(chainId、委任者、 ECDSA署名nonce))、(v、r、s)署名構造を生成し、それを後続のType-4トランザクションにアタッチして、次のようにアカウントの承認とアップグレードを実現します。
検証方法:コンセンサスレイヤーはecrecover(digest7702、sig) == tx.fromによって検証を完了します。
安全設計:ウェブ端では任意のDelegatorに対する権限付与をユーザーに誘導することはできません。なぜなら、signEIP7702AuthorizationメソッドはMetaMaskウォレット内部でのみ実装されており、window.ethereumを通じてウェブ端に呼び出しが開放されていないからです。**ウェブでアクセス可能な署名メソッドであるeth_signTypedData_v4はEIP-7702の権限付与署名には適用できません。その署名摘要形式は以下の通りです:
そして、EIP-7702規格が要求する署名形式は:
eth_signTypedData_v4は0x1901のプレフィックスを固定的に含むため、かつ要約計算プロセスが7702とは全く異なるため、巧妙に構築されたdomainSeparator、primaryType、messageであっても、digest712 == digest7702を達成することはほぼ不可能である。
したがって、Web は、この方法で正当な 7702 認証署名を偽造することはできません。 さらに、MetaMaskはデリゲーターアドレスのホワイトリストメカニズムも実装しており、デフォルトでは、許可された公式のデリゲーター(0x63c0... 32B)は、DAppsが自分でアドレスを注入することを禁止し、ユーザーが悪意のあるDelegator認証データに署名するように誘導されることをさらに防ぎます。
現在、Metamask で既存の EOA を 7702 スマートアカウントにアップグレードする方法は主に 2 つのカテゴリに分けられます:アクティブアップグレードとパッシブアップグレード。
アクティブアップグレードとは、ユーザーがウォレット画面で「切り替え」ボタンを積極的にクリックして、特定の Delegator Contract を承認することを指します。
パッシブアップグレードは、ユーザーが7702をサポートする特定のDAppと対話する際に発生し、Metamaskは関連する操作を検出した後、自動的にポップアップメッセージを表示し、ユーザーにアップグレードを完了することを提案します。
2.1 自動アップグレード:
取引内容:アップグレードされたアカウントのアクションのみを含み、特定のDelegator Contractを承認します。
アップグレードプロセス:ウォレットのアカウント詳細画面に入り、下の図の切り替えボタンをクリックすると、ユーザーはEthereum Mainnetからスマートアカウントにアップグレードできます。切り替えをクリックすると、ユーザーが現在のアップグレード取引ウィンドウに署名する画面が表示されます。
承認記録:確認後、取引がブロックチェーンに追加されるのを待ちます。ブロックチェーンへの追加が成功すると、ユーザーはスマートアカウントに正常にアップグレードされ、etherscanの現在のウォレットアドレスのページ中の**Authorizations (EIP-7702)**で具体的な承認取引情報を確認できます。
2.2 パッシブアップグレード
取引内容:アカウントのアップグレードアクションおよびチェーン上のスマートコントラクトと相互作用するバッチアクションを含む。
アップグレードプロセス:ユーザーがチェーン上の一部のDAppsと対話すると、Metamaskは、スマートアカウントにアップグレードしてバッチ送信を使用することで現在のトランザクションを完了できることをユーザーに積極的に通知します。 たとえば、Uniswapで一部のトークンを交換する場合、[スマートアカウントを使用する]ボタンをクリックしてスマートアカウントにアップグレードすると、トークンの認証とスワップが1つのトランザクションでバッチで完了します。
2.3 通常のEOAに切り替え
アクティブアップグレードまたはパッシブアップグレードのいずれかの方法で現在のアカウントをスマートアカウントに変換しても、バインドされた Delegator Contract アドレスはチェーン上に永久に保存され、アカウントの現在の実行ロジックとして機能します。
アカウントを通常のEOAに復元する場合は、「EOAに戻す」操作を手動で開始する必要があります。 この操作の本質は、address(0) を 1 つの EIP-7702 認証を持つ新しい Delegator コントラクト アドレスとして送信することです。 トランザクションがチェーンに正常にアップロードされると、アカウントのコードフィールドがクリアされ、実行ロジックがデフォルトの空のコードに復元され、アカウントが通常のEOA状態にロールバックされます。
ウォレットのアカウント詳細画面に入ると、切り替えボタンをクリックすることで、ユーザーはEthereum Mainnetから通常のEOAアカウントに切り替えることができます。
確認をクリックした後、トランザクションがチェーン上にあるのを待ちます、つまり、ユーザーはスマートアカウントから通常のEOAアカウントに戻り、特定のトランザクション情報はetherscanの現在のウォレットアドレスページにも見つけることができます。
二、7702 フィッシング攻撃の例
5 月 24 日、#InfernoDrainer フィッシング ギャングは、Metamask 7702-Delagator コントラクトのバッチ実行機能を使用して、ユーザーをバッチで欺きました (0xc6D2... 06DC)とフィッシング攻撃を行い、$HashAI $HUMANS $ParallelAI $NeuralAI $DSync $Zero 1$NodeAI $Sensay $Virtualで146,000ドル以上を失いました。
詐欺アドレス
0x0000db5c8B030ae20308ac975898E09741e70000 0x00008C22F9F6f3101533f520e229BbB54Be90000 0xa85d90B8Febc092E11E75Bf8F93a7090E2ed04DE 0xC83De81A2aa92640D8d68ddf3Fc6b4B853D77359 0x33dAD2bbb03Dca73a3d92FC2413A1F8D09c34181
フィッシング取引の例
フィッシングの原因
ユーザー(0xc6D2…06DC)が悪意のあるバッチ承認取引を実行しました:
イーサリアムトランザクションハッシュ:0x1ddc8cecbc... | イーサスキャン
0xc6D289d5による0xe9ae5c53メソッドの呼び出し... 0d2E606DC 0xc6D289d5... 0D2E606DCの| サクセス・サクセス | 2025年5月23日 14:31:35 (UTC)
etherscan.io
#InfernoDrainer 和 #PinkDrainer は、より隠密で影響力のある 7702 のフィッシングブラックインダストリーを実験しています。
私たちの調査によると、現在フィッシング犯罪グループ#InfernoDrainer 和 #PinkDrainerは、より隠密かつ影響力の大きい7702を利用したフィッシングのブラック産業チェーンの研究と実験を行っています。関連アドレスは以下の通りで、今後さらに詳細な報告も発表する予定です。
インフェルノドレイナー:
0x0000db5c8B030ae20308ac975898E09741e70000
ピンクドレイナー:
0xe49e04F40C272F405eCB9a668a73EEAD4b3B5624
ウォレットプロバイダー:
Metamaskの7702 Delegatorの実装とセキュリティ管理を参考にして、ユーザーが任意のDelegatorに許可を与えることを禁止し、アプリ内操作のみを許可します。ユーザーに対して、ウェブサイトを通じてサイン許可を求める行為はフィッシング攻撃であることを警告します。
チェーンが現在のネットワークと一致しているか確認し、ユーザーに chainID が 0 の場合に署名する際のリプレイ攻撃のリスクがあることを警告します。
ユーザーが署名を承認する際に対象のスマートコントラクトを表示し、ユーザーがDelegatorを通じてバッチ実行を行う際に具体的な関数呼び出し内容を表示して、フィッシング攻撃のリスクを低減します。
ユーザー:
秘密鍵の保護は常に最優先事項です。 あなたの鍵でも、あなたのコインでもありません。
独立したウェブページに基づいてDelegatorの承認を行わないでください。安全な承認は通常、Metamaskのようにアプリ内でのみ行われます。
ウォレットを使用して署名する際は、署名内容をよく確認し、盲目的な署名や誤った署名を避けてください。
293k 投稿
262k 投稿
172k 投稿
83k 投稿
69k 投稿
68k 投稿
63k 投稿
62k 投稿
53k 投稿
51k 投稿
デプス還元 7702 フィッシング攻撃の原理、ウォレットとユーザーはどのように防ぐべきか?
EIP-7702はアドレスにスマートコントラクトのような能力と柔軟性を与え、ますます多くの7702アプリケーションが次々と創出されており、これはより多くの人々がWeb3に参加し、ユーザー体験を向上させるために重要です。
しかし、7702の柔軟性と大多数のユーザーが7702にまだ不慣れな状況が詐欺グループによって利用されており、最近、私たちはユーザーがMetamask 7702のバッチ実行能力により、本来は十数回の承認が必要なインタラクションがフィッシンググループ#InfernoDrainerによって1つの取引にまとめられ、資産が盗まれる事例を観測しました。
説明:Metamask自体には安全問題はありません。Metamaskはユーザーに7702関連の機能を提供する際、ユーザーの安全を最優先に考えており、多くの安全対策を講じています。ユーザーは7702の機能と関連リスクについてもっと理解する必要があります。そうすることで、このような安全事件の再発を防ぐことができます。
Metamask 7702 Delagator Signature Authorization Principle and Security Design (メタマスク 7702 デラゲーター署名認証原則とセキュリティ設計)
テクニカル分析
ユーザーは、デプロイされたデリゲータコントラクトを承認し、ユーザーアカウントのコードフィールドをコントラクトにポイントします。 MetaMaskの現在の公式デリゲーターコントラクトアドレスは0x63c0c19a282a1B52b07dD5a65b58948A07DAE32Bです
認証構造: (chainId、delegatorAddress、nonce、signature) authorization への書き込み_list
署名方法:Metamaskは、EIP-7702関連の認証トランザクション、つまりsignEIP7702Authorizationメソッド、およびdigest7702 = keccak256(0x05 ‖ RLP(chainId、委任者、 ECDSA署名nonce))、(v、r、s)署名構造を生成し、それを後続のType-4トランザクションにアタッチして、次のようにアカウントの承認とアップグレードを実現します。
検証方法:コンセンサスレイヤーはecrecover(digest7702、sig) == tx.fromによって検証を完了します。
安全設計:ウェブ端では任意のDelegatorに対する権限付与をユーザーに誘導することはできません。なぜなら、signEIP7702AuthorizationメソッドはMetaMaskウォレット内部でのみ実装されており、window.ethereumを通じてウェブ端に呼び出しが開放されていないからです。**ウェブでアクセス可能な署名メソッドであるeth_signTypedData_v4はEIP-7702の権限付与署名には適用できません。その署名摘要形式は以下の通りです:
そして、EIP-7702規格が要求する署名形式は:
eth_signTypedData_v4は0x1901のプレフィックスを固定的に含むため、かつ要約計算プロセスが7702とは全く異なるため、巧妙に構築されたdomainSeparator、primaryType、messageであっても、digest712 == digest7702を達成することはほぼ不可能である。
したがって、Web は、この方法で正当な 7702 認証署名を偽造することはできません。 さらに、MetaMaskはデリゲーターアドレスのホワイトリストメカニズムも実装しており、デフォルトでは、許可された公式のデリゲーター(0x63c0... 32B)は、DAppsが自分でアドレスを注入することを禁止し、ユーザーが悪意のあるDelegator認証データに署名するように誘導されることをさらに防ぎます。
現在、Metamask で既存の EOA を 7702 スマートアカウントにアップグレードする方法は主に 2 つのカテゴリに分けられます:アクティブアップグレードとパッシブアップグレード。
アクティブアップグレードとは、ユーザーがウォレット画面で「切り替え」ボタンを積極的にクリックして、特定の Delegator Contract を承認することを指します。
パッシブアップグレードは、ユーザーが7702をサポートする特定のDAppと対話する際に発生し、Metamaskは関連する操作を検出した後、自動的にポップアップメッセージを表示し、ユーザーにアップグレードを完了することを提案します。
2.1 自動アップグレード:
取引内容:アップグレードされたアカウントのアクションのみを含み、特定のDelegator Contractを承認します。
アップグレードプロセス:ウォレットのアカウント詳細画面に入り、下の図の切り替えボタンをクリックすると、ユーザーはEthereum Mainnetからスマートアカウントにアップグレードできます。切り替えをクリックすると、ユーザーが現在のアップグレード取引ウィンドウに署名する画面が表示されます。
承認記録:確認後、取引がブロックチェーンに追加されるのを待ちます。ブロックチェーンへの追加が成功すると、ユーザーはスマートアカウントに正常にアップグレードされ、etherscanの現在のウォレットアドレスのページ中の**Authorizations (EIP-7702)**で具体的な承認取引情報を確認できます。
2.2 パッシブアップグレード
取引内容:アカウントのアップグレードアクションおよびチェーン上のスマートコントラクトと相互作用するバッチアクションを含む。
アップグレードプロセス:ユーザーがチェーン上の一部のDAppsと対話すると、Metamaskは、スマートアカウントにアップグレードしてバッチ送信を使用することで現在のトランザクションを完了できることをユーザーに積極的に通知します。 たとえば、Uniswapで一部のトークンを交換する場合、[スマートアカウントを使用する]ボタンをクリックしてスマートアカウントにアップグレードすると、トークンの認証とスワップが1つのトランザクションでバッチで完了します。
2.3 通常のEOAに切り替え
アクティブアップグレードまたはパッシブアップグレードのいずれかの方法で現在のアカウントをスマートアカウントに変換しても、バインドされた Delegator Contract アドレスはチェーン上に永久に保存され、アカウントの現在の実行ロジックとして機能します。
アカウントを通常のEOAに復元する場合は、「EOAに戻す」操作を手動で開始する必要があります。 この操作の本質は、address(0) を 1 つの EIP-7702 認証を持つ新しい Delegator コントラクト アドレスとして送信することです。 トランザクションがチェーンに正常にアップロードされると、アカウントのコードフィールドがクリアされ、実行ロジックがデフォルトの空のコードに復元され、アカウントが通常のEOA状態にロールバックされます。
ウォレットのアカウント詳細画面に入ると、切り替えボタンをクリックすることで、ユーザーはEthereum Mainnetから通常のEOAアカウントに切り替えることができます。
確認をクリックした後、トランザクションがチェーン上にあるのを待ちます、つまり、ユーザーはスマートアカウントから通常のEOAアカウントに戻り、特定のトランザクション情報はetherscanの現在のウォレットアドレスページにも見つけることができます。
二、7702 フィッシング攻撃の例
5 月 24 日、#InfernoDrainer フィッシング ギャングは、Metamask 7702-Delagator コントラクトのバッチ実行機能を使用して、ユーザーをバッチで欺きました (0xc6D2... 06DC)とフィッシング攻撃を行い、$HashAI $HUMANS $ParallelAI $NeuralAI $DSync $Zero 1$NodeAI $Sensay $Virtualで146,000ドル以上を失いました。
詐欺アドレス
0x0000db5c8B030ae20308ac975898E09741e70000 0x00008C22F9F6f3101533f520e229BbB54Be90000 0xa85d90B8Febc092E11E75Bf8F93a7090E2ed04DE 0xC83De81A2aa92640D8d68ddf3Fc6b4B853D77359 0x33dAD2bbb03Dca73a3d92FC2413A1F8D09c34181
フィッシング取引の例
フィッシングの原因
ユーザー(0xc6D2…06DC)が悪意のあるバッチ承認取引を実行しました:
イーサリアムトランザクションハッシュ:0x1ddc8cecbc... | イーサスキャン
0xc6D289d5による0xe9ae5c53メソッドの呼び出し... 0d2E606DC 0xc6D289d5... 0D2E606DCの| サクセス・サクセス | 2025年5月23日 14:31:35 (UTC)
etherscan.io
#InfernoDrainer 和 #PinkDrainer は、より隠密で影響力のある 7702 のフィッシングブラックインダストリーを実験しています。
私たちの調査によると、現在フィッシング犯罪グループ#InfernoDrainer 和 #PinkDrainerは、より隠密かつ影響力の大きい7702を利用したフィッシングのブラック産業チェーンの研究と実験を行っています。関連アドレスは以下の通りで、今後さらに詳細な報告も発表する予定です。
インフェルノドレイナー:
0x0000db5c8B030ae20308ac975898E09741e70000
ピンクドレイナー:
0xe49e04F40C272F405eCB9a668a73EEAD4b3B5624
ウォレットプロバイダー:
Metamaskの7702 Delegatorの実装とセキュリティ管理を参考にして、ユーザーが任意のDelegatorに許可を与えることを禁止し、アプリ内操作のみを許可します。ユーザーに対して、ウェブサイトを通じてサイン許可を求める行為はフィッシング攻撃であることを警告します。
チェーンが現在のネットワークと一致しているか確認し、ユーザーに chainID が 0 の場合に署名する際のリプレイ攻撃のリスクがあることを警告します。
ユーザーが署名を承認する際に対象のスマートコントラクトを表示し、ユーザーがDelegatorを通じてバッチ実行を行う際に具体的な関数呼び出し内容を表示して、フィッシング攻撃のリスクを低減します。
ユーザー:
秘密鍵の保護は常に最優先事項です。 あなたの鍵でも、あなたのコインでもありません。
独立したウェブページに基づいてDelegatorの承認を行わないでください。安全な承認は通常、Metamaskのようにアプリ内でのみ行われます。
ウォレットを使用して署名する際は、署名内容をよく確認し、盲目的な署名や誤った署名を避けてください。