NFT詐欺被害対応マニュアル【前編:被害状況の判断と対応】
こんにちは。チビ画伯ママです。
はじめに
このマニュアルを作った背景
2017年にはじめて仮想通貨を触り、2021年にNFTデビューをしたわたしですが、幸いなことにまだ詐欺被害には遭わずに済んでいます。
しかしNinjaDAOでは毎日のように詐欺被害に遭われた方が報告にいらっしゃいます。
大切なお金(ETH)や、大切なNFTを盗まれるのはどれほどつらいことか・・・
今回、残念ながら詐欺に遭ってしまった場合の対応マニュアルを作りました。
本来はブロックチェーンやプログラミングに詳しい方が書かれたほうが良いと思うのですが、初心者でも全体が把握できるようなものが見つけられなかったため、作成することにしました。
初心者の方でもわかりやすいよう、できるだけ簡易な方法や説明を心がけています。詳しい方には説明が足りないと感じる部分もあるかもしれません。
明らかなまちがいや、わたしの説明のせいで良くない影響(たとえば二次被害など)が起きそうな箇所は、ぜひ教えていただけたら幸いです。
被害に遭ったみなさんへ
おつらいことと思います。まずはご自分を責めず、冷静に対応してくださいね。
残念ながら、盗まれた資産は戻りません。誰かに「取り戻せる」と言われたら、それは新たな詐欺なので注意してください。
このマニュアルはわたしの経験上の知識をできるだけ詰め込みつつわかりやすく解説したつもりですが、ご存じのとおりこの世界はDYORです。
すべてをうのみにせず、ご自身でも調べてみた上で、ご自身の責任で対応なさってください。
NFT詐欺被害フローチャート
NFT詐欺に遭ったときの対応をかんたんなフローチャートにしてみました。
これで「どのような被害パターンなのか(シードフレーズか秘密鍵の流出か、フィッシング詐欺か)」と「何をすべきなのか(ABCの3パターン)」がわかります。
これでは対応できないパターンもあるのは百も承知ですが、少なくともわたしが受けた詐欺被害報告の95%くらいはこれで網羅できていると思います。
「自分がどのケースなのかわからない!」という方のために、フローチャートのどのパターンなのかを調べる方法を解説していきますね。
質問1:
被害はNFTやETHのトランスファーのみですか?
まず、被害の状況を把握していきましょう。
OpenSeaで被害時刻を確認
被害に気づいたら、まずOpenSeaのアクティビティを見てみてください。
Profile→Activityタブです。
あなたのNFTが(勝手に)トランスファーされている被害時刻を覚えておいてください。OpenSeaの表示はPCの設定と同じになるので、多くの場合日本時間です。
DeBank/Apeboardで起きた被害を確認
PCの方はDeBankに接続して自分のウォレットアドレスを入力。
入力後すぐにエンターボタン押すとエラーになるので、入力後ちょっと待って、検索窓の下に出てきたアカウントをクリックしてください。(下の画像参照)
アカウントが表示されたら、「History」タブをクリック。
被害時刻の前後に、記憶にないマイナスのアクティビティが表示されていたら、それが被害の詳細です。(DeBankでは直近の履歴の時刻は表示されず、〇時間〇分前、のように表示されます)
こちらは別の被害の履歴。
DeBankはPCのみなので、スマホしかお持ちでない場合はApeboardにアクセス。
ApeboardにアクセスするとNansen Portfolioへの移動をうながされますが、×でOK。
使い方はDeBankとほぼ同じです。
ただ、ApeboardはNFTの移動が表示されないので、NFTの移動はOpenSeaのアクティビティを併用して確認してください。
Apeboardの時刻は端末の設定と同じなので、日本時間です。
トランスファー以外のアクティビティ(自分は操作してないのにリストしたりオファーを受けているなど)があった場合は、シードフレーズや秘密鍵がもれている可能性があります。
「パターンC:シードフレーズor秘密鍵が流出した場合の対応」へ飛んでください。
ただトランスファーされているだけなら、この質問には「YES」と答え、次の質問2「被害時刻にメタマスクを操作していましたか?」へどうぞ。
質問2:
被害時刻にメタマスクを操作していましたか?
OpenSeaのアクティビティであなたのNFTが抜かれた被害時刻のことを思い出してください。(ETHのみの被害の場合は、DeBankやApeboardでETHが抜かれている時刻)
被害が起きた時間、あなたはメタマスクを操作していましたか?
操作していたのであれば、ほぼ確実に詐欺サイト(フィッシングサイト)で悪意のあるコントラクトにご自身で許可を与えてしまっています。
ツイッターやDMで送られてきたミントサイト(エアドロップと表記してることも)は公式を装ったニセモノです。すべて詐欺ですので、ご注意ください。
被害時刻にメタマスクを操作していたなら、「YES」で「質問3:被害時刻にSetApprovalForAllをしていますか?」に進んでください。
「NO」の場合は、シードフレーズか秘密鍵がもれている可能性があります。「パターンC:シードフレーズor秘密鍵が流出した場合の対応」に飛んでください。
質問3:
被害時刻にSetApprovalForAllをしていますか?
SetApprovalForAllとはなんでしょうか?ChatGPTに聞いてみましょう。
ようするに、「このトークン(仮想通貨の場合はトークン単位、NFTの場合はコレクション単位)の所有権をあなたに渡します」という許可です。
つまりSetApprovalForAllに許可を与えるということは、ご自身で「わたしの持つこのNFTコレクションをあなたにあげます」という操作を行ったということになります。
こういう表示のこともあります。
これはCNPRについてSetApprovalForAllを行い、トランスファーされてしまったウォレットのDeBankのHistoryです。
3段目のSetApprovalForAllは、CNPRに対する転送許可を行うものです。
これにより1段目の、CNPR(Narukami)のトランスファーが実行されています。
2段目のConnectWalletについてはパターンBで解説しています。
DeBankでは時刻の下のトランザクションハッシュ(①②の部分)をクリックするとイーサスキャンに飛ぶことができるのでみてみましょう。
SetApprovalForAllのトランザクション
ひとつ上の画像の、①のSetApprovalForAllのトランザクションをクリックしてみると、イーサスキャンのトランザクションの画面が開きます。
「Log」タブをクリックすると、「SetApprovalForAll」と「True」の表示がみえます。これは「SetApprovalForAll」を許可したという意味です。
(Revokeした場合はFalseになります)
コレクションのコントラクト
ちなみにCNPRのコントラクトをクリックすると、右下にCNP Rookies(CNPR)の表示があります。このSetApprovalForAllがCNPRに対するものだということがわかります。
(SetApprovalForAllの結果による)トランスファーのトランザクション
ではつづいて、②のCNPRナルカミがトランスファーされているトランザクションをクリックしてみましょう。
すると、このようにだれからだれに、どのToken IDのCNPRがトランスファーされたのかが詳細に表示されています。
SetApprovalForAllをした場合はこのまま次で対応を確認してください。
被害時刻にSetApprovalForAllはしていない場合は「パターンB:SetApprovalForAllではなく、SafetransferFrom / Transfer / Send / ConnectWalletなどでトランスファーした場合の対応」まで飛んでください。
パターンA:SetApprovalForAllを許可した場合の対応
この場合、以下の対応が必要です。
悪意のあるSetApprovalForAllをRevokeする
くわしくみてみましょう。
悪意のあるSetApprovalForAllをRevokeする
Revoke.cashで行う方法もありますが、偽サイトもあるのでイーサスキャンからRevokeする方法を解説します。
https://etherscan.io/tokenapprovalchecker
イーサスキャン→More→Token Approvalsをクリック。
Connect to Web3ボタンから、メタマスクを接続します。
するとこんなふうに、
Last Updated(UTC):SetApprovalForAllを行った日時
(イーサスキャンはUTCなので、+9時間すると日本時間になります)Asset:コレクション
Approved Spender:許可を与えた相手
Revokeボタン
が表示されます。詐欺サイトで行ったSetApprovalForAllをここでRevokeしましょう。(ガス代がかかります)
Revokeしなかったらどうなるの?
RevokeはそのNFTコレクションを勝手にトランスファーする許可なので、Revokeせずに同じNFTコレクションをまた入手したら、犯人のウォレットにトランスファーされてしまいます。
なのでRevoke作業が大切なのです。
この作業を完了すれば、被害に遭ったウォレットアドレスは引き続き使うことが可能です。
ただ、被害の全容を自分で把握する自信が無い方は、念のため新しいウォレットに切り替えることをオススメします。1回限りの被害だと思っていたが、実は秘密鍵が漏れていて継続的に被害にあってしまう、という場合もあります。
パターンB:
SetApprovalForAllではなく、SafetransferFrom / Transfer / Send / ConnectWalletなどでトランスファーした場合の対応
DeBankのHistoryを見ても、SetApprovalForAllはしてないんだよなぁという場合、おそらくSafetransferFrom / Transfer / Send/ ConnectWalletなどでETHやNFTをトランスファーしている可能性が高いです。
これはSendでETHをトランスファーしてしまった履歴です。つまり、ご自身でETHをトランスファーする許可を与えています。
ウォレット接続では資産を盗まれることはないと思っていたのですが、下の履歴のように、最近ConnectWalletでETHをトランスファーされるケースが多く発生しています。
パリピエンジニアのけいすけさんによると、これはいわゆる「ウォレット接続(署名だけでガス代は不要)」とは別物で、ConnectWalletという名前の関数を使い、油断させておいて中身はトランスファーさせるコントラクトになっているパターンなのだそう。ガス代も発生します。
このConnectWalletのトランザクションをイーサスキャンでみてみるとこんな感じ。
自分のウォレットアドレスから、悪意のあるコントラクトを介して、0.0504ETHが転送されているようです。
それでは、こういった被害に遭ってしまった場合はどうすればいいのでしょうか。
実は、やるべきことは特にありません。被害に遭ったウォレットアドレスは引き続き使うことが可能です。
ただ、被害の全容を自分で把握する自信が無い方は、念のため新しいウォレットに切り替えることをオススメします。1回限りの被害だと思っていたが、実は秘密鍵が漏れていて継続的に被害にあってしまう、という場合もあります。
パターンC:
シードフレーズor秘密鍵が流出した場合の対応
正直なところ、これがいちばん被害が甚大です。
シードフレーズか秘密鍵があれば、あなたのウォレットはいかようにも操作できるからです。
やるべきことは以下の3つです。
1.別端末でシードフレーズの異なるウォレットを作成する
2.残っている資産を新しいウォレットに移す
3.メタマスクを使用していた端末をクリーンインストールする
1.別端末でシードフレーズの異なるウォレットを作成する
「自分で偽物のメタマスクにシードフレーズを入力してしまった」「ヘルプデスクと称する人に、シードフレーズを伝えてしまった」という場合は原因がわかっていて再発しないので、同じ端末で新しくウォレット作成してもかまいません。
しかし、そうでない場合はどこからシードフレーズか秘密鍵が流出したのかわかりません。ウィルス感染が原因の場合は新しいウォレットを作って残った資産を移しても、またシードフレーズか秘密鍵が盗まれてしまい、意味がありません。
したがって、できるだけ別端末でシードフレーズの異なるウォレットを新しく作りましょう。わたしならまだメタマスクをいれていないiPadや夫の端末で作ります。
ガス代は余計にかかりますが、信頼できる人のウォレットに資産をを避難させてもらうのも手だと思います。
「アカウントの追加」では犯人に操作できるウォレットが増えるだけなのでNGです。
メタマスクをいれたことのない端末の場合はそのまま新規で作ればいいのですが、どうしても同じ端末しかないという場合は以下のブログを参考にしてください。(ウィルス経由でまたハッキングされるリスクはあります)
2.残っている資産を新しいウォレットに移す
まだNFTなどの資産が残っている場合、救出は犯人とのスピード勝負になります。高価なNFTから救出しましょう。
ガス代がかかるので、ETHをすべて抜かれている場合は少額を送金→すぐにNFTをトランスファー、を繰り返します。
(多めに送って一気にやってもいいですが、犯人にETHを転送されるリスクもあります)
3.メタマスクを使用していた端末をクリーンインストールする
ウィルス感染の可能性がある以上、それまでメタマスクを使っていた端末はクリーンインストール(OSの再インストール)を行いましょう。
スマホの場合は工場出荷状態に戻します。
救出と端末のクリーンインストールが終わったら、被害に遭ったウォレットは今後使わないようにしましょう。
長くなりすぎてしまったので、警察やOpenSeaへの報告については別途記事にします。
詐欺に遭う人がひとりでも減りますように。。
ぜひ拡散・いいねなどで困っている方に届くようサポートいただけるとうれしいです。
ここまでお読みいただき、ありがとうございました。
チビ画伯への投紙(投資)はこちら:お絵かき帳や画材の購入に充てさせていただきます♪
0x07180741906499347bd3035AA7DDF4B419d860FD
サポートいただいたお金はチビ画伯のお絵かき用品に充てさせていただきます!ありがとうございます。