レッドピル攻撃は、多くの暗号資産ウォレットの仕組みに存在する盲点を悪用した巧妙な詐欺です。アプリでトランザクションを承認する前に、ウォレットは起こるべき内容のプレビューを表示します。しかしそのプレビューはあくまでシミュレーションに過ぎず、実際のトランザクションがプレビューと一致することを強制する仕組みはこれまで存在しませんでした。そのため、悪意のあるコントラクトが簡単にすり抜けてしまう可能性があります。
MetaMaskの新しいセキュリティ機能「Added Protection」はこの問題を解決します。アプリでトランザクションを実行する際、プレビューに表示された結果が実際の結果と一致しない限り、トランザクションは実行されません。
レッドピル攻撃:トランザクションプレビューに潜む詐欺
レッドピル攻撃が成立するのは、悪意のあるコントラクトがプレビュー中であることを検知できるためです。プレビュー時には「0.1 ETHを受け取ります」といった無害な結果を表示して安心させます。そして署名後に実行されると、まったく異なる動作——たとえばウォレットの資金を全額引き出すといった行為——を行います。プレビューが問題なく見えたため、ユーザーは疑う理由がありません。
MetaMask Added Protectionの仕組み
アプリ経由でトランザクションに署名する前に、MetaMaskはそのトランザクションをシミュレートし、期待される結果をプレビューとして表示します。この結果はトランザクションの必須条件としてロックされます。トランザクションが実際に実行される際、その結果は表示された内容と一致しなければなりません。一致しない場合——たとえばレッドピルコントラクトが約束と異なる動作をしようとした場合——トランザクションは自動的に失敗し、資金がウォレットから流出することはありません。
その場合に失うのは、試みに対するネットワーク(ガス)手数料のみで、資金は安全に保護されます。MetaMaskはこのセキュリティ機能に対して、また実行されなかったトランザクションに対しても、一切料金を請求しません。Added Protectionは操作された結果から守るものであり、通常の市場変動には対応しません。バックグラウンドで静かに機能し、高額なトランザクションを承認する際や、よく知らないコントラクトを扱う際に特に役立ちます。
コントロールを維持するセキュリティ
MetaMaskが構築するすべての機能と同様に、Added Protectionはコントロールを奪うことなく、より安全な環境を提供します。MetaMaskがユーザーの意図したトランザクションをブロックすることはありません。このセキュリティ機能が保証することはただ一つ:EthereumまたはEVMアプリで承認したトランザクションが、実際に実行されるトランザクションであるということです。リスクを自分で管理したい場合は、確認画面からいつでも機能をオフにできます。選択は常にユーザー自身にあります。
MetaMask Added Protectionは、スマートアカウント(EIP-7702)をサポートする13のEVMネットワークにおいて、拡張機能(v13.45)で現在利用可能です。モバイル版は近日公開予定です。