
悪意あるERC-20 Permit:トランザクションなしでウォレットを空にするサイレント詐欺
2026年、暗号資産ユーザーから5億ドル以上が、ひとつの手口によって盗まれました。それが悪意あるERC-20 permitです。この詐欺が特に危険なのは、署名した時点でオンチェーン上に目に見える痕跡が一切残らないことです。攻撃者がいつでもウォレットを空にできるようになる、ひっそりとした署名がひとつあるだけです。
本ガイドでは、悪意あるpermitとは何か、なぜ2026年にドレイナー(資産流出ツール)の常套手段となっているのか、そして何よりどう身を守るかを解説します。
ERC-20 Permitとは?
permitは、2020年に導入されたERC-20標準の拡張機能(EIP-2612)です。ユーザーはオンチェーントランザクションを送信することなく、スマートコントラクトにトークンの使用を許可できます。
わかりやすく言えば、ガス代がかかる従来の「Approve」トランザクションの代わりに、ウォレットでメッセージに署名するだけで済みます。その後、そのメッセージはコントラクト自身がオンチェーンに送信します。
正当なメリット:
- ✅ ガス代の節約(トランザクション2回が1回に)
- ✅ UXの向上(1回署名すればすべて完了)
- ✅ Uniswap、1inch、DEXアグリゲーターで利用されている
問題点: この署名はほとんどのウォレットでは内容が見えません。サイトに接続しているつもりで「署名」をクリックすると、100 000 USDCを流出させる権限を攻撃者に与えてしまうのです。
詐欺の仕組み:5つのステップ
ステップ1 — 罠
Google広告やDiscordのリンクをクリックすると、偽のUniswap、偽の暗号資産エアドロップ、偽のNFTサイトに誘導されます。公式ロゴ、プロ並みのデザイン、紛らわしいURL(uniswap.orgではなくuniswaap.org)と、サイトは100%本物に見えます。
ステップ2 — 接続リクエスト
サイトは「ウォレットを接続」するよう促します。クリックするとMetaMaskが開き、「メッセージに署名」とだけ表示されます。表面上は何の不審な点もありません。
ステップ3 — 隠されたメッセージ
見えていないのは、そのメッセージにERC-20 permitのパラメーターが含まれていることです。
- owner:あなたのアドレス
- spender:攻撃者のアドレス
- value:最大額(通常は115 792 089 237 316 195...=無制限)
- deadline:現在から30日後
- nonce:あなたの現在のnonce
署名しても、その場ではオンチェーン上で何も起こりません。何も起きなかったと思ってしまいます。
ステップ4 — 悪用
数時間後、あるいは数日後に、攻撃者はpermit() + transferFrom()トランザクションで**あなたの署名**をオンチェーンに送信します。署名は数学的に有効なので、スマートコントラクトはこれを受け付けます。
ステップ5 — 盗難
あなたのUSDC、USDT、WETHなどのERC-20トークンは攻撃者のアドレスへ送金されます。被害に気づくのは翌朝です。
救済の手段はありません。 トランザクションは取り消せず、中央集権型取引所も関与していません。
Permit2:さらに悪質なバージョン
Permit2は、EIP-2612をネイティブに実装していないトークンも含め、すべてのERC-20トークンでpermitを標準化するために2022年にUniswapが提案した拡張機能です。
DeFiのUXとしては技術的に優れていますが、セキュリティ面では壊滅的です。理由は次のとおりです。
- 1回のPermit2署名で複数のトークンをまとめて使用許可にできる
- 署名が数日から数週間有効なままになる
- 多くのウォレットはPermit2を詳細のない単なる「メッセージ」として表示する
結果: 最新のドレイナーはPermit2を優先的に使います。盗難がより効率的かつ目立たないものになるためです。
悪意あるPermitを見抜く方法
危険信号その1:署名のフォーマット
PermitまたはPermit2の署名は、ウォレット上では必ず次のような構造のEIP-712型付きメッセージとして表示されます。
Domain: PermitToken or Permit2
Types:
Permit: [owner, spender, value, nonce, deadline]
Message:
owner: 0xYOUR_ADDRESS
spender: 0xUNKNOWN ← THIS is suspicious
value: 115792089237316195423570985008687907853269984665640564039457584007913129639935 ← That's infinity!
deadline: 1735689600
危険信号その2:状況
- 初めて訪れるサイトに着いたばかり → 🔴
- サイトが無料エアドロップや異常に高い利回りを提示している → 🔴
- コンテンツを表示する前から署名を求めてくる → 🔴
- URLに微妙なタイプミスがある(uniswapではなくuniswaap) → 🔴
危険信号その3:不明なspender
spenderフィールド(トークンを使用するコントラクト)は、**既知で検証済み**のコントラクトでなければなりません。Etherscanで検証済みコントラクトとして表示されないランダムなアドレスなら、**それは詐欺です。**
Lumina Walletがあなたを守る仕組み
Lumina Walletは、署名を求める前にすべてのPermitとPermit2署名をデコードします。具体的な流れは次のとおりです。
- 署名のデコード:LuminaがEIP-712メッセージを解析し、permitかどうかを判別します
- spenderの検証:宛先コントラクトが既知のDEX/プロトコル(Uniswap、1inch、Aaveなど)か、不明なアドレスかを確認します
- 金額アラート:金額が「無制限」(2^256 - 1)の場合、重大な警告を表示します
- わかりやすい言葉への翻訳:16進数の羅列ではなく、*「[不明なコントラクト]に対し、今後30日間、上限なく[あなたのすべてのUSDC]の使用を許可しようとしています」*と表示されます
結果として、署名する前に署名内容を正確に確認できます。悪意あるpermitを誤って承認してしまうことは、ほぼ不可能になります。
すでに悪意あるPermitに署名してしまった場合の対処法
ステップ1 — 慌てず、素早く行動する
permitはまだ悪用されていないかもしれません。攻撃者があなたの署名を使うまでには猶予があります。
ステップ2 — リスクのあるトークンを退避する
すべてのERC-20トークンを、ただちに新しいクリーンなウォレットへ移動してください。新しいシードフレーズで作成したウォレットを使い、侵害されたウォレットは再利用しないでください。
ステップ3 — 既存のapprovalを取り消す
revoke.cashにアクセスして、すべてのapprovalを取り消します。重要な注意: revoke.cashは、まだ悪用されていないオフチェーンのPermit署名を取り消すことはできません。できるのはトークンを移動することだけです。
ステップ4 — 不正サイトを通報する
- ScamAdviser
- Google Safe Browsing
- Chainabuse.com
ステップ5 — 侵害されたウォレットを放棄する
悪意あるpermitに署名したウォレットは、何も失っていなくても二度と使わないでください。状況によっては、署名のnonceが今後も悪用される可能性があります。
専門家の見解
- **Vitalik Buterin(イーサリアム共同創設者)**は、2024年にXでPermit2のリスクについて公に警告しました。
- Chainalysisは、「悪意あるpermit署名」を従来のERC-20 approvalを上回る2025年の暗号資産盗難手口の第1位と位置づけました。
- PeckShieldは、2025年だけで300件以上の悪意あるpermit攻撃を記録しました。
まとめ:見えない署名こそ新たな脅威
目に見えるオンチェーントランザクションの時代は終わりました。2026年、最も危険な詐欺は、承認した時点で目に見える痕跡を一切残しません。オフチェーンの静かで遅延のある署名ひとつで、翌日にはウォレットが空になります。
唯一の有効な防御策: 承認する前に、すべての署名をわかりやすい言葉でデコードして表示するウォレットを使うことです。Lumina Walletは、Permit、Permit2、そしてあらゆる悪意あるEIP-712署名に対して、まさにそれを行います。
今すぐ身を守りましょう:
暗号資産を守る準備はできていますか?
Lumina Walletをダウンロードして、デジタル資産を安全に完全管理しましょう。