
「MetaMaskで接続・確認する時に、本当に承認して良いのかいつも不安」
「怪しいサイトや偽サイトでないか、イマイチ見分けが付かない」
「まずはハッキング対策を強化したい」
そんな方に向けて。
コントラクトアドレス(Contract Address)とは、契約情報が書かれたアドレスのこと。
各サイト(トークン)固有で唯一無二のものであり、これが本物と一致しているか否かで真偽を見分けます。
MetaMask(メタマスク)にコントラクトアドレスを事前に登録しておくと、サイトと接続した際に本物かどうかを一目で判断でき、偽サイトによるハッキングから防ぐことができます。
このページではコントラクトアドレスの調べ方と、メタマスクにアドレスを登録する方法を画像付きでメモっていきます。
・MetaMaskが接続したサイトのコントラクトアドレスの調べ方が分かる
・MetaMaskにアドレス登録する手順が分かる
・MetaMask内のNFTや仮想通貨をハッキングから守れる
1. コントラクトアドレスの確認方法
ここ最近、TwitterやNinja DAO内で、

「自分のメタマスクが盗まれて、NFTが無くなった!」
「気が付いたら、CNPが転売されていた!」
といった報告が増えてきました。
ハッキングの手口&対策は様々ですが、有効な手段の一つとして、偽サイトにメタマスクを接続させない、というのがあります。
その方法は単純で、予め正規のコントラクトアドレスをメタマスクに登録するだけ。
取引・契約時の承認・確認場面にて、登録されたアドレスが本物か偽物かの判別ができるようになります。
なので、まずはどれが正しいコントラクトアドレスなのかを確認&知っておきましょう。
STEP.1:Revokeサイトを訪問
まずは「Revoke.cash」という名前の公式サイトを開きましょう。
■Revoke.cash
https://revoke.cash/
こちらで今までメタマスクがNFTや仮想通貨の送付許可=Approve(承認)を行ったサイト・アドレスが確認できます。
なお、上記のURLは正規のモノです。
よく確認の上、くれぐれも偽サイトには注意してください。
※Revokeとは……?
日本語で「取り消す」の意味。
すでにApproveとなっている状態をキャンセルすることです。
「Revoke.cash」では、ずっと承認済みとなっているサイト・アドレスを取り消すしたり、整理したりすることが可能です。
STEP.2:MetaMaskに接続
ロゴ下の「Connect Wallet」をクリック。
上部の「MetaMask」を選択しましょう。
メタマスクが起動しました。
URLが「https://revoke.cash」となっているかダブルチェックしましょう。
問題が無ければ、「次へ」をクリック。
続いて「接続」を押せば、完了です。
STEP.3:「NFTs」を選択
画面に自分のウォレットアドレスが表示されました。
その下「Tokens/NFTs」のボタンをクリックして、「NFTs」に切り替えましょう。
すると、これまでにNFTの購入や送付を承認してきたNFTの一覧が表示されます。
STEP.4:知りたい名前をクリック
ボクは極力怪しいサイトでNFTを買わないようにしています。
なので、アクセスしたサイトは多くありません(表示されているのはOpenSeaだけ)。
とりあえず、今回はOpenSeaのコントラクトアドレスを調べてみます。
青色の箇所をクリックです。
STEP.5:コントラクトアドレスを確認
「Etherscan」というページが開きました。
こちらにOpenSeaのコントラクトアドレスが表示されています。

お疲れさまでした!
コントラクトアドレスを確認することができました。
2. MetaMaskにコントラクトアドレスを登録する手順
引き続き、コントラクトアドレスをメタマスクに登録する方法を説明していきます。
今回はOpenSeaのアドレスを使って行います。
STEP.1:コントラクトアドレスをコピー
先ほどのEtherscanの画面です。
右側のコピーアイコンをクリックして、コントラクトアドレスを入手しましょう。
- OpenSeaのコントラクトアドレス(2022年8月時点)
0x1E0049783F008A0085193E00003D00cd54003c71
なお、「Revoke.cash」にて「OpenSea(Old)」となっている場合があります。
こちらは古いモノなので、コピー&登録しても意味はありません。
留意しておきましょう。
STEP.2:MetaMaskの「連絡先」ページを開く
次はGoogle Chromeの拡張機能よりメタマスクを起動。
メタマスクのポップアップ画面が現れたら、右上のアイコンをクリック。
メニューが表示されるので、「設定」を選んでください。
次に「連絡先」を押しましょう。
STEP.3:コントラクトアドレスを登録
初めての操作なので、何もアドレスは登録されていません。
「連絡先を追加」をクリックです。
「新しい連絡先」のページが開きました。
こちらに以下の情報を記入します。
- ユーザー名
分かりやすい名前に指定しましょう。 - パブリックイーサリアムアドレス
コントラクトアドレスのこと。
先ほどコピーしたOpenSeaのアドレスを貼り付けましょう。
OpenSeaの場合は、↓のような感じです。
「保存」を押せば、コントラクトアドレスの登録は完了。
「連絡先」にOpenSeaが追加されました。

お疲れさまでした!
コントラクトアドレスを登録できました。
STEP.4:実際の表示を確認
下記のイメージはメタマスクに登録前の、OpenSeaでのApprove画面。
承認先がコントラクトアドレス(英数字の羅列)のまま表示されています。
一方、↓は登録後のApprove画面です。
先ほど設定したユーザー名に変わっています。
これで次回またOpenSeaでApproveが必要になった時に、本物か否かを見分けられるようになりました。
※「Set Approval For All」の意味
上のイメージには「SET APPROVAL FOR ALL」と記載されています。
これは「(許可先に)全ての承認を設定する」という意味で、NFTの購入や販売を行う承認をすると同時に、「自分のNFTを転送してもよい」ということも含まれています。
OpenSeaでNFTを取引する際には「Set Approval For All」が使われていますが、もし正規のサイトで無かった場合、見知らぬ第三者に全ての権限を与えてしまい、メタマスクを自由に操作される恐れがあります。
よって、ハッキング対策としては、メタマスクの認証画面が出てきたら、内容をよく確認しましょう。
怪しい名称があるなら、触らない方が良いでしょう。

メタマスクやNFT・仮想通貨がハッキングされる手口のほとんどが、
- SNSのDMを通じて紹介されたサイトへのアクセス
- 偽サイトとメタマスクの連携・接続
- フリーミントを装ってデータを盗み取るサイトへの誘導
です。
さらに昨今は巧妙化しつつあり、さらに複雑かつ気付かれにくい手法が取られています。
とは言え、「DMは詐欺」であり、「本物のサイトはブックマーク保存」しつつ、「無料という甘い言葉に安易に乗っからない」のが対策の一つです。
Web3.0によって中央集権から解放された一方で、ハッキング被害からは誰も守ってくれません。
(当然ながら、盗まれたNFTが戻ってきたり、保障があったりするわけでは無く、全て自己責任です)
兎にも角にも、自分の身は自分で守る意識・リテラシーを高める必要があるでしょう。