なぜ「送金していないのに減る」のか
ERC-20 などのトークンには、指定した相手にトークンの引き出しを許可する「承認(Approve)」という仕組みがあります。分散型取引所を使うときに必要な操作ですが、承認先が悪意のある契約だった場合、以後は利用者の操作なしに残高を引き出せる状態になります。出金のたびに署名を求められないため、「送金していないのに減った」と感じられます。
公開事実にもとづく記述
被害の相談では、エアドロップの受け取り画面や、取引所を装ったサイトで承認を求められた例が多く見られます。承認の上限額が無制限に設定されているケースが大半です。
オンチェーン分析にもとづく記述
まず確認すること
| 確認したいこと | 一般的な可否 |
|---|---|
| 承認を与えた日時と承認先の契約 | 確認できる |
| 引き出されたトークンと数量 | 確認できる |
| 承認先の契約の運用者 | 条件による |
| 資金の最終的な受取人 | 法的手続きが必要 |
オンチェーン分析にもとづく記述
被害の拡大を止める手順
- 残っている資産を、新しく作成したウォレットへ移す(承認は移動先には引き継がれません)
- ブロックチェーンエクスプローラの承認管理画面から、身に覚えのない承認を取り消す
- 取り消しの取引にもガス代が必要なため、少額の手数料分を残しておく
- 秘密鍵やリカバリーフレーズを入力した可能性がある場合は、承認の取り消しでは不十分です。ウォレット自体を作り直してください
承認を取り消しても、すでに引き出された資金が戻るわけではありません。取り消しは、それ以降の出金を止めるための操作です。
公開事実にもとづく記述