DeFiプロトコルでトークンを取引する際、ウォレットには天文学的なデフォルト金額の承認リクエストが表示されます。これが「無制限承認」です。多くのユーザーが何も考えずに確認しますが、その背後には巨大なセキュリティリスクが潜んでいます。

無制限承認とは?
ERC-20標準でDEXでのトレードには、スマートコントラクトにトークンの使用を「承認」する必要があります。限定承認は必要な金額のみ。無制限承認はウォレット内の全残高(2^256-1)を承認します。
リスク
- コントラクトの脆弱性 — ハッカーが承認を利用してトークンを奪取
- 悪意のあるプロジェクト — バックドアによるトークン窃取
- コントラクトのアップグレード — 更新後に悪意のあるコードが含まれる可能性
- 有効期限なし — オンチェーン承認は永久に有効
MetaMaskでカスタム金額を設定する方法
承認リクエスト時に「編集」をクリックし、実際に必要な金額に変更します。
承認の確認と取り消し
ツール: Revoke.cash、Etherscan Token Approvals、DeBank
手順:Revoke.cashに接続 > 無制限承認をフィルタ > Revokeをクリック > ガス代を支払い

代替手段
Permit2、EIP-2612 Permit、アカウントアブストラクション。
セキュリティ
- 無制限承認を盲目的に受け入れない
- 監査済みの有名プロトコルのみ承認
- 使用後に取り消し
- 月次クリーンアップ
- 別のウォレットを使用
- セキュリティアラートを監視
Binanceはプラットフォームレベルのセキュリティを提供。Binanceアプリ、iOS:iOSガイド。
無制限承認と悪意のある署名の違い?
承認はオンチェーンで取り消し可能。悪意のある署名はオフチェーンで検出が困難。
毎回金額設定は面倒?
高価値トークンにはわずかなコストで大きな安心。低ガスチェーンではほぼ無料。
まだ被害がなくても取り消すべき?
はい。リスクがトリガーされていないだけです。
ハードウェアウォレットで防げる?
完全には防げません。秘密鍵は保護しますが、承認したコントラクトのトークン移動は防げません。