新しいcryptoプロジェクトと対話するとき、ページで最初にトークンを承認(Approve)する必要があると促されることがよくあります。このステップは、プロジェクトが私たちのウォレット内のコインを取引、ステーキング、貸し出し、またはその他の方法で操作することを許可するために必要です。
現在、市場に出ている99%のプロジェクトは、この承認機能をスマートコントラクトに記述する際に、トークンの承認値を無制限に設定します。これは、ユーザーが将来の対話で毎回追加の承認ステップを実行する必要がないようにするためです。
しかし、これによりスマートコントラクトの運用における最も懸念されるセキュリティ脆弱性の1つが生まれました。これは、私たちのコインをプロトコルに置いていなくても、プロジェクトチームが私たちの同じアドレスからコインを引き出す権限を持っていることを意味します。この操作には、私たちのプライベートキーで署名する必要はありませんので、承認を行う際には十分に注意する必要があります。
お知らせ:リカバリーフレーズが漏洩した場合、ハードウェアウォレットを使用していても、すべてのコインが失われます。過度の承認が無効にされていない場合、プロジェクトチームが悪事を働くと、ハードウェアウォレットを使用していても、すべてのコインが失われます。プロジェクトチームがバックアウトした場合、ハードウェアウォレットを使用していても、すべてのコインが失われます。