1回の署名で財布のコードを書き換える:イーサリアムEIP-7702の功罪
EIP-7702は、わずか1回の委任署名でイーサリアムの通常ウォレットにスマートコントラクト機能を付与しました。しかし、その永続的な委任構造がなぜ新たなフィッシング攻撃の標的となったのか、エコシステムが築いた防衛境界線とともに解説します。

3点クイック要約
- 発端 / 逆説イーサリアムのPectraアップグレードは、EIP-7702により通常の秘密鍵ウォレット(EOA)をプログラマブルにし、1回の署名で永続的なスマートコントラクトコードをアカウントに設定できるようにした。
- 決定的瞬間2025年12月のarXivプレプリント論文は、単一の認可タプルがアカウントに対する恒常的な実行権限を付与するため、質的に全く新しいフィッシング攻撃群を生み出すと主張した。
- 歴史的結末最終的な防衛線はEIP仕様自体が定めた境界にある。ウォレットが生の認可署名UIを直接公開せず、委任の置換やゼロアドレスによる解除を保証することで、秘密鍵の主権を維持する。
出来事のタイムライン
2024年5月7日にEIP-7702が作成される。EOAにコードを永続的に設定する新しいトランザクションタイプを導入する提案である。
イーサリアムのPectraアップグレードがエポック364032(10:05:11 UTC)で有効化され、全アカウントにEIP-7702が実装される。
0xef0100委任ポインタは、所有者が別の認可で置換するかゼロアドレスで解除するまで、アカウントのコードスロットに維持される。
Minfeng Qiらの研究チームが、この設計が質的に新しいフィッシング攻撃を可能にするとの分析を含むarXivプレプリントを発表する。
公式ガイドラインに基づき、ウォレットは検証済み委任先をホワイトリスト管理し、生の認可署名を遮断して解除手段を確保する。
1. 旧来のウォレットに新たな技術を授けたアップグレード
2025年5月7日10時05分11秒UTC(エポック364032)、Pectraがメインネットで有効化されEIP-7702が稼働した。Vitalik Buterin、Sam Wilson、Ansgar Dietrichs、lightclientは2024年5月7日にこのコア仕様を作成した。目的は「EOAに永続的にコードを設定する新しいトランザクションタイプ」の追加である。通常の鍵管理アカウントが、アドレスを変えずスマートコントラクト機能を得た。[1][2][6]
コード設定トランザクションはタイプ0x04と、[chain_id, address, nonce, y_parity, r, s]形式の認可タプルを使う。有効なタプルごとに0xef0100と委任先を結合した指標(0xef0100 || address)がアカウントコードへ書かれる。以後のコード実行は委任先のバイトコードを読み込む。秘密鍵は残るが、実行時には指定コントラクトとして振る舞う。[1]
この設計は原子的バッチ処理、ガススポンサー、パスキー等の代替認証、支出制限、アドレスを変えない復元を可能にした。イーサリアム財団は、委任がデフォルトでチェーン限定かつナンス拘束で、所有者が置換・解除できると説明する。再利用や固定化の危険を減らす安全策である。[2]
2. 偶発的ではなく設計通りの永続性
認可リストはトランザクション実行前、送信者のナンス増加直後に処理される。後続処理が失敗またはリバートしても、委任インジケータはロールバックされない。委任は別の認可で置換するか、ゼロアドレスで消去するまで残る。セッション終了で消える権限ではなく、永続するアカウントソフトウェアである。[1][3]
仕様書は、認可コードがアカウントへ「無制限にアクセス」するため、ウォレットの厳格な監査が必要だと警告する。一般利用者が任意のバイトコードを検証するのは難しい。秘密鍵で通常EOAへ戻せても、悪意あるコードの有効中に実行された取引までは取り消せない。[1][3]
不適切に実装された委任先は、悪意ある攻撃者に署名者のEOAに対するほぼ完全な制御を許してしまう可能性がある。[1]— EIP-7702仕様書、セキュリティの考慮事項
3. 認可フィッシングという新たな攻撃面
独立系セキュリティ組織Security Allianceは、EIP-7702認可検証ガイダンスで主な脅威を挙げている。ウォレットの「アップグレード」を装い、悪意あるコントラクトへのSetCode委任に署名させるフィッシングサイトや詐欺である。ユーザーが攻撃者のコードを指す認可に署名すれば、攻撃者がアカウントを制御して資産を流出させ得ると同ガイダンスは警告する。シードフレーズを盗まず、有効な同意署名を欺瞞的な画面で得ることが武器になり得る。[5]
これは認可フィッシングの構造を変える。従来の多くの承認・取引型詐欺は、被害者に有害な送金やトークン承認を署名させることに重点を置く。EIP-7702では、有効な認可タプルが0x04トランザクションで処理されると、後続の実行が失敗しても永続的なコードポインタが残る。2025年12月のプレプリントはこの持続的な状態変更を質的に新しいフィッシングと位置づけた。永続性は仕様上の事実だが、攻撃分類は著者らのプレプリント上の主張である。[1][4]
影響は複数チェーンへ広がり得る。認可は通常チェーンIDに拘束されるが、chain_id=0なら全EVMネットワークで有効となる。Security Allianceは、同じアドレスへ悪意あるコードを置いた他チェーンで署名が再利用される恐れを警告する。公式指針が委任先を明確に表示するよう求める理由である。[3][5]
4. プレプリント論文と検証の境界
2025年12月13日、マカオ都市大学のMinfeng QiとTianqing Zhu、CSIRO Data61のQin WangとShiping Chen、ウーロンゴン大学のRuiqiang Liらの研究チームは、プレプリント論文「EIP-7702 Phishing Attack」をarXiv(2512.12174v1 [cs.CR])に公開した。著者らは要旨においてその中心的主張を簡潔に述べている。[4]
我々はこの設計が質的に全く新しいクラスのフィッシング攻撃を可能にすることを示す[4]— Minfeng Qiら、EIP-7702フィッシング攻撃(arXivプレプリント 2512.12174v1)
論文の実験とオンチェーン測定は査読前の著者主張である。本記事は被害総額や普及統計を確定事実として扱わない。ただし核心的な警告は先にあった。2024年5月のEIP-7702は、生の認可署名インターフェースを利用者へ提供してはならないと明記していた。[1][4]
5. インターフェースが築く防衛境界線
エコシステムの防衛策は役割分担である。ethereum.orgのガイダンスは、ウォレットが特定の委任先コントラクトをホワイトリスト化する前提を示し、dAppにはEIP-7702認可を直接要求せず、ERC-5792(wallet_sendCalls)等の標準ウォレットインターフェースを使うよう求める。ハードウェアウォレットについても、任意の委任を公開せず、信頼できる委任先リストを使うべきだとしている。これらはプロトコルが強制する保証ではなく、インターフェース上の制約と推奨である。[3]
Security Allianceはウォレット固有の正規フローと審査済みコントラクトだけを使うよう促す。ゼロアドレス(0x0000000000000000000000000000000000000000)への委任で通常EOAへ戻せる。安全は利用者のコード分析でなくインターフェース規律に依存する。仕様書は「このインターフェースを安全に提供する方法は存在しない」と断言する。[1][5]
この分業こそがEIP-7702の真の遺産である。既存アカウントにスマートアカウントの恩恵をもたらした一方で、1回の署名でコードが書き換わる以上、セキュリティの焦点は事後警戒からインターフェースの厳格な統制へと移行した。アップグレードの設計者たちは、学術的な警告が出る1年以上前から仕様書の中にこの防衛義務を書き込んでいたのである。[1][2][4]
アプリケーションはユーザーに認可署名を提案できると期待してはならず、したがってそのようなインターフェースを提供しないことがウォレットの義務である。[1]— EIP-7702仕様書、アプリケーションおよびウォレットとの相互作用
この事件から学ぶ重要教訓(Key Takeaways)
認可署名をコードのデプロイとして認識する
タイプ0x04の認可は単なる取引承認ではなく、アカウントに恒常的なコードを設置する行為である。ウォレットは委任先をホワイトリスト化し、対象を明確に表示して、任意の認可署名要求を拒否しなければならない。
永続性をリスクモデルに織り込む
フィッシングの被害範囲は単一トランザクションに限定されず、chain_id=0の認可は他のEVMネットワークでも再実行され得る。ウォレットの安全性は機能の多さではなく委任制御の厳格さで評価される。
主権には保守の責任が伴う
EIP-7702は委任の置換・解除可能性によって秘密鍵の主権を保ちつつ、保護の責任をインターフェース層へと移譲した。信頼の基盤はユーザーの注意深さからウォレットソフトウェアの規律へと移行している。
この人物・事件と繋がる関連ストーリー
歴史のバタフライ効果で結びついた、もう一つのドラマを探求する。

Suiステーク90.9%の決断:攻撃者の署名なしで認めた2件のCetus資金回収
整数オーバーフローの不具合でCetusから推定2億2300万ドルが流出。Suiのバリデーター群は約1億6200万ドルを凍結し、攻撃者の署名なしで実行する特定の復旧トランザクション2件を90.9%の賛成で承認しました。
ストーリーを読む →
10万バイトの白紙小切手:Bitcoin Core v30とKnotsのOP_RETURN内戦
Coreの10万バイト開放とKnotsの42バイト防壁の衝突:コンセンサス変更なしにスパムとノード選択権をめぐって争われたリレーポリシー内戦。
ストーリーを読む →
2億3500万ドルのWazirXハッキング:返済を保証しないリカバリートークン
2億3,500万ドルのマルチシグ流出で凍結されたインドの暗号資産取引所。裁判所主導の再建により残高はトークンとして配分されましたが、リカバリートークンは現金ではなく請求権のままです。
ストーリーを読む →出典・参考文献
- [1]出典 1: EIP-7702: Set Code for EOAsEthereum Improvement Proposals · 2024-05-07確認 2026-08-23
- [2]出典 2: Pectra Mainnet AnnouncementEthereum Foundation Blog · 2025-04-23確認 2026-08-23
- [3]出典 3: Pectra: EIP-7702 Integration and Security GuidanceEthereum.org確認 2026-08-23
- [4]出典 4: EIP-7702 Phishing Attack (arXiv:2512.12174v1)arXiv (preprint) · 2025-12-13確認 2026-08-23
- [5]出典 5: Verifying EIP-7702 AuthorizationsSecurity Alliance確認 2026-08-23
- [6]出典 6: Prague-Electra (Pectra)Ethereum.org確認 2026-08-23