web3securityevm
EVMのトークン承認(Approve)を見直す方法|Revokeの手順と判断基準(チェックリスト)
|
4 min read
古い承認(Approve/SetApprovalForAll)は被害の入口になりやすい。承認の意味、消すべき条件、チェーン/アカウントを間違えずに棚卸しする安全手順を、実務チェックリストとしてまとめる。
目次
EVMの承認(Approve)を安全に棚卸ししてRevokeするには?
結論(Conclusion)
被害の入口は送金より“承認”が多い。 安全側のデフォルトはこれ。
- 不明/未使用/無制限 の承認は消す(Revoke)
- 必要なら最小量で再Approveする
回せる手順:
- チェーン/アカウント確認
- 信頼できる承認ビューア(広告回避)
- spender と allowance を見る
- 優先順にRevoke
背景(Explanation)
ERC-20の approve(spender, amount) は
「spenderが transferFrom で最大 amount まで引き出してよい」許可。
送金ではないので軽く見られがちだが、 spenderが悪意化/侵害されると、残っている承認だけで抜かれる。
NFTはさらに危険で、
SetApprovalForAll はコレクション丸ごと権限になる。
実務手順(Practical Guide)
手順1:前提確認
- 正しいチェーン(Ethereum/Base/Arbitrum等)
- 正しいアカウント/アドレス
手順2:信頼できる承認ビューアを開く
注意:
- 偽物の“revokeサイト”がある
判断基準:
- ブックマーク/公式導線から入る(検索広告を避ける)。
手順3:承認は2項目だけ見る
- spender(許可先)
- allowance(許可量/無制限か)
手順4:優先順にRevoke
優先:
- 不明なspender
- もう使わないdApp
- 無制限(Unlimited)
- NFTの
SetApprovalForAll
ガスがかかるので、棚卸しはまとめてやると効率が良い。
手順5:必要なら最小量で再Approve
- 使う量 + 少し余裕
- 「面倒だから無制限」は避ける
失敗パターン(Pitfalls)
- revokeサイト自体が偽物
- NFT全権限を見落とす
- チェーン/アカウント違いで作業してしまう
- 1トークンだけ消して安心する(別トークン/別チェーンに残る)
チェックリスト(Checklist)
- [ ] チェーンが正しい
- [ ] アカウント/アドレスが正しい
- [ ] 入口はブックマーク/公式導線(広告回避)
- [ ] spenderが認識できる
- [ ] 無制限承認が残っていない(意図がない限り)
- [ ] 未使用dAppの承認を消した
- [ ] 不明な承認を最優先で消した
- [ ] NFTの
SetApprovalForAllも確認した - [ ] 棚卸し頻度を決めた(週次/月次)
- [ ] 新しいdAppを触ったら“使い終わったらRevoke”を検討する
FAQ
Q1. 全部Revokeすべき?
必ずしも全部ではない。不明/未使用/無制限を優先。頻繁に使う信頼できるdAppでも、無制限は基本おすすめしない。
Q2. legitなdAppでもRevokeする意味ある?
ある。侵害は起きる。承認を消しておけば、侵害時の爆発半径を下げられる。
Q3. Revokeしたのに抜かれたのはなぜ?
別のトークン/チェーン/アカウントに承認が残っている可能性がある。チェーン/アカウントを必ず確認して広く棚卸しする。
内部リンク(Internal links)
- 親記事(Hub):Web3安全運用:まずはここから
- 関連記事:
参考(一次情報)
- ERC-20 Approve: https://eips.ethereum.org/EIPS/eip-20
- OpenZeppelin ERC20: https://docs.openzeppelin.com/contracts/
免責
投資助言ではありません。セキュリティの一般的な注意喚起です。