Главная
» Новости
»
How to Protect Your Web3 Wallet from Drainer Phishing and Malicious Approvals
How to Protect Your Web3 Wallet from Drainer Phishing and Malicious Approvals
A Web3 wallet can be drained without an attacker ever learning your seed phrase. That is the uncomfortable part of modern phishing: a fake site may simply persuade you to authorize the attacker to move assets that your wallet already controls. The approval or signature can look routine, especially when the page imitates a familiar protocol, airdrop, mint, support portal, or token claim.
This guide was checked against official wallet, protocol, and Ethereum-standard documentation on September 16, 2026. The exact warning screens and security features differ by wallet, network, and app, so the goal is not to memorize one interface. It is to understand what a request can authorize before you approve it.
First, understand what a wallet drainer actually needs
A “drainer” is not one single smart-contract function. In practice, phishing campaigns can try to obtain several different kinds of authority: an ERC-20 token allowance, an NFT operator approval, a signed permit, a direct transfer transaction, or—at the most serious level—the user’s Secret Recovery Phrase or private key.
The risk depends on what was authorized. An ERC-20 approval normally applies to a specific token contract and spender, while an ERC-721 setApprovalForAll authorization can let an operator manage all NFTs from that collection that the owner holds. The Ethereum ERC-721 specification explicitly defines setApprovalForAll as enabling or disabling an operator for all of the caller’s assets in that NFT contract. Read the ERC-721 specification.
Action: when a wallet asks you to approve spending, an operator, or a signature, treat it as an authorization decision—not as a harmless “login” step.
Start with the domain: an unfamiliar or look-alike address should stop the interaction before any wallet request is approved.
Myth 1: “Connecting my wallet lets the site take my funds”
Verified: simply connecting a wallet and granting an app access to your public address is not the same as granting a token allowance. MetaMask’s official documentation makes this distinction explicitly: disconnecting a dapp removes the connection, while revoking an allowance removes the smart contract’s ability to access and move tokens covered by that approval. See MetaMask’s approval-revocation guidance.
Context matters: after connection, a site can still present a transaction or signature request. The dangerous step often comes after the initial connection, so “I only connected” is safe only if you truly did not sign or approve anything else.
Action: if you connected to a suspicious site but rejected every transaction and signature, disconnect it anyway. Then review your wallet’s recent activity and approvals rather than assuming the connection itself moved funds.
Myth 2: “If I disconnect the dapp, I have revoked its token approval”
Verified: this is false. A token approval is an on-chain authorization. Disconnecting the website session does not automatically erase that blockchain state. MetaMask notes that revocation itself is an on-chain transaction and therefore normally requires network gas. MetaMask explains the difference here.
This matters after phishing because a victim may close the browser, disconnect the dapp, and believe the danger is over while a previously approved spender still retains authority.
Action: if you approved a spender you no longer trust, use the approval-management feature in your wallet or the official approval checker offered by the relevant network explorer, and submit an on-chain revocation.
An unlimited spending request deserves deliberate review: check the token, spender, network, and requested amount before approving.
Reduce the blast radius of ERC-20 approvals
ERC-20 allowances are useful because a decentralized exchange or other contract may need permission to transfer tokens on your behalf. They are not inherently malicious. The problem is scope. If you grant a very large or unlimited allowance and the spender is malicious—or a trusted contract later becomes exploitable—the amount at risk can be much larger than the transaction you intended.
MetaMask currently allows users to set a custom spending cap for supported approval flows. Its security documentation recommends checking what a dapp is requesting and limiting access when appropriate. See MetaMask’s spending-cap guidance.
Action: when the wallet offers a custom cap, approve only the amount the immediate action reasonably requires. If a site wants unlimited access for a one-time swap or claim, stop and verify why.
Do not ignore signed permits just because no gas fee appears
Verified: not every authorization begins as a normal on-chain approval transaction. ERC-2612 introduced permit, which allows an ERC-20 allowance to be set through a signed message. The standard states that a valid signature can set the owner’s allowance for a spender up to a specified value and deadline. Read ERC-2612.
That means “this signature costs no gas” is not proof that it is harmless. A signature can carry authorization that another party later submits on-chain. Whether a particular signature can move assets depends on the exact standard, contract, fields, and downstream execution.
Action: read the structured data shown by the wallet. Pay special attention to the spender, token, value, deadline, chain, and contract domain. Reject requests you cannot explain in plain language.
A hardware wallet can isolate private-key material, but it cannot make a malicious approval safe if the user intentionally confirms it.
Myth 3: “A hardware wallet protects me from drainers automatically”
Partly true, but incomplete: hardware wallets can protect private keys from being directly exposed to the browser or ordinary malware, which is valuable. But phishing frequently targets the user’s authorization decision. If the device displays a malicious transaction or approval and the user confirms it, the hardware boundary does not magically invalidate the authorization.
The practical advantage is strongest when the device lets you verify meaningful transaction details on a trusted screen. The protection is weaker when the request is opaque or when the user confirms something they do not understand.
Action: use a hardware wallet for high-value holdings, but still verify the destination, contract, amount, network, and permission on the signing device. Never treat the presence of a hardware wallet as permission to sign blindly.
Watch for NFT-wide operator approvals
For NFTs, the phrase setApprovalForAll deserves special attention. Under ERC-721, setting an operator to approved can allow that operator to manage all NFTs from that contract that you own. This is broader than approving one NFT ID. The Ethereum standard itself distinguishes single-token approval from operator-wide approval. Review the ERC-721 approval functions.
That does not mean every setApprovalForAll request is malicious; NFT marketplaces may legitimately need operator permissions. The right question is whether the operator and use case match what you intended.
Action: if you are only trying to claim an airdrop or sign into a website, an unexpected request for NFT-wide operator control should be treated as a major warning sign.
A repeatable checklist is more reliable than intuition when a phishing page is designed to create urgency or FOMO.
Verify the site before you verify the transaction
Drainer phishing often succeeds because the fake website looks close enough to the real one. A sponsored search result, social-media reply, direct message, fake support account, or copied front end can lead users to a different domain that presents convincing wallet prompts.
Wallet security systems can help, but they are not infallible. WalletConnect’s Verify API, for example, can tell a participating wallet whether a domain is verified, mismatched, unknown, or flagged as malicious. WalletConnect explicitly warns that this detection is not “bulletproof.” See WalletConnect’s Verify API documentation.
MetaMask аналогичным образом описывает свои оповещения о безопасности как информационные сигналы, а не как гарантии, и отмечает, что легитимные сайты не всегда могут иметь подтвержденный индикатор. См. оповещения о безопасности MetaMask .
Действие: переходите к важным децентрализованным приложениям через закладку, созданную на основе независимо проверенного официального источника. Не полагайтесь на первый результат поиска, сокращенную ссылку или URL-адрес, предоставленный в незапрошенном личном сообщении.
Разделение повседневной активности децентрализованных приложений и долгосрочных активов может уменьшить риски, возникающие при подписании одним кошельком некорректного запроса.
Отделите свое «хранилище» от кошелька для децентрализованных приложений.
Это скорее метод управления рисками, чем правило протокола. Кошелек, используемый для экспериментов с новыми выпусками токенов, запросами токенов, играми и незнакомыми децентрализованными приложениями, имеет большую поверхность взаимодействия, чем адрес, используемый только для хранения долгосрочных активов.
Разделение не предотвращает фишинг, а перемещение активов между кошельками создает свою собственную операционную нагрузку. Но оно может ограничить потенциальный ущерб от ошибочного подтверждения, поскольку в интерактивном кошельке просто не хранится основная часть ваших активов.
Рекомендация: рассмотрите возможность хранения долгосрочных или дорогостоящих активов в кошельке, который редко подключается к децентрализованным приложениям, а для операций с Web3 с более высоким риском используйте отдельный кошелек с намеренно ограниченным балансом.
Миф 4: «Проверенный или не помеченный как безопасный сайт обязательно безопасен».
Не подтверждено: отсутствие предупреждения не является доказательством безопасности. Базы данных угроз могут отставать от недавно созданных фишинговых доменов, и даже в самом легитимном приложении может быть скомпрометирован интерфейс или уязвимый контракт. WalletConnect использует явное состояние «НЕИЗВЕСТНО» для доменов, которые он не может подтвердить, и в его документации говорится, что уровень проверки не предназначен для обеспечения безошибочности.
Действие: рассматривайте предупреждения безопасности как один из уровней защиты. Проведите независимую проверку домена, ожидаемого контракта, запрашиваемых разрешений и того, насколько данное действие соответствует вашим целям.
Важны две отдельные проверки: сначала выяснить, откуда поступил запрос, а затем проверить, какие полномочия предоставляет этот запрос.
Проверяйте старые разрешения, прежде чем они станут проблемой завтра.
Подтверждения могут оставаться активными еще долго после того, как вы перестанете использовать децентрализованное приложение. MetaMask рекомендует периодически проверять подтверждения токенов и отзывать разрешения, которые вам больше не нужны. Поскольку отзыв изменяет состояние в блокчейне, он обычно влечет за собой комиссию за газ. См. официальное руководство по отзыву .
Частота проведения аудита зависит от того, как часто вы взаимодействуете с децентрализованными приложениями и какой объем средств находится в кошельке. Универсально правильного графика не существует.
Действие: установите повторяющееся напоминание в календаре — например, ежемесячное, если вы активный пользователь DeFi — для проверки расходов, размеров лимитов, операторов NFT и старых разрешений децентрализованных приложений в используемых вами блокчейнах.
Проверка контрактов и разрешений — это постоянная гигиена кошелька, а не разовая процедура настройки.
Если вы подписали что-то подозрительное, выясните, какой именно случай взлома вас затронул.
Не следует сразу же применять одно и то же решение ко всем инцидентам. Действия зависят от того, что произошло.
Что случилось
Что это может означать
Немедленный приоритет
Вы подключились только к сайту.
Сайт узнал ваш публичный адрес и установил сессию, но этого самого по себе недостаточно для получения символической платы.
Отключитесь от сети и просмотрите историю активности; не подписывайте запросы на дальнейшие действия.
Вы одобрили расходы по программе ERC-20.
Указанный плательщик может перевести утвержденное количество токенов.
Незамедлительно отмените пособие.
Вы одобрили оператора NFT.
Оператор может иметь возможность передавать NFT, на которые распространяется данное разрешение на сбор данных.
Отозвать разрешение оператора
Вы подписали разрешение или иное структурированное соглашение.
В зависимости от содержимого, подпись может разрешить последующие действия в блокчейне.
Точно определите, что было подписано, и, если возможно, аннулируйте или переместите затронутые активы.
Вы раскрыли свою сид-фразу/закрытый ключ.
Сами ключи от кошелька скомпрометированы.
Создайте новый кошелек, используя новую фразу восстановления, и перенесите активы.
В официальных рекомендациях MetaMask по реагированию на инциденты говорится, что при компрометации секретной фразы восстановления пользователям следует создать новый кошелек с новой фразой восстановления, переместить оставшиеся активы и прекратить использование учетных записей, созданных на основе скомпрометированной фразы. Также предупреждается, что транзакции в блокчейне, как правило, необратимы. См. рекомендации MetaMask по действиям в случае взлома или мошенничества .
Действие: если сид-фраза или закрытый ключ были раскрыты, не следует считать отзыв разрешений достаточным. Необходимо считать, что сам орган, осуществляющий подписание, скомпрометирован.
Никогда не вводите фразу восстановления для «исправления» проблемы с подтверждением.
Секретная фраза восстановления — это основные учетные данные для аккаунтов, созданные на её основе. В официальной документации MetaMask указано, что любой, кто её получит, сможет управлять кошельком. Для легитимного управления подтверждением не требуется вводить фразу восстановления на случайном веб-сайте. См. руководство MetaMask по безопасности фраз восстановления .
Действие: храните эту фразу в офлайн-режиме и в тайне. Если веб-сайт, агент службы поддержки, форма, бот или «служба восстановления» запрашивают её, прекратите это делать.
Системы оповещения о безопасности и более строгий контроль учетных записей добавляют полезные функции, но они наиболее эффективны в сочетании с тщательной проверкой авторизации и разделением кошельков.
Практический контрольный список перед подписанием договора
Домен: Это именно тот официальный домен, который вы хотели посетить?
Причина: Соответствует ли запрошенное разрешение инициированному вами действию?
Сеть: Находится ли запрос в ожидаемой цепочке?
Договор или получатель платежа: Соответствует ли адрес получателя или уполномоченного лица ожидаемому адресу?
Область применения: это фиксированная сумма, неограниченное количество, один NFT или разрешение оператора на всю коллекцию?
Поля подписи: Если это введенные данные, можете ли вы определить токен, отправителя, значение, крайний срок и домен?
Информация о содержимом кошелька: Содержит ли этот кошелек больше средств, чем вы готовы раскрыть в ходе этой операции?
Предупреждающие сигналы: Сообщает ли кошелек о вредоносном, несовпадающем, неизвестном или ином подозрительном домене или транзакции?
Если хотя бы одна из этих проверок не пройдёт, отклонение запроса обычно обходится дешевле, чем попытки вернуть активы впоследствии.
Как самостоятельно проверить, работают ли ваши защитные механизмы.
Вам не нужно ждать атаки, чтобы протестировать свою настройку. Убедитесь, что закладки вашего браузера указывают на правильные домены децентрализованных приложений. Откройте инструменты управления подтверждениями в вашем кошельке и убедитесь, что вы распознаете активных пользователей, тратящих средства. Проверьте, изолирован ли ваш кошелек с крупными суммами от обычных экспериментов с децентрализованными приложениями. Убедитесь, что ваша фраза восстановления не хранится в электронной почте, заметках в облаке, скриншотах, журналах чата или поле менеджера паролей на веб-сайте. Убедитесь, что предупреждения безопасности кошелька включены, если ваш кошелек их предоставляет.
Затем проверьте свой собственный процесс принятия решений: прежде чем подписать следующий реальный запрос Web3, объясните вслух, что именно разрешает этот запрос. Если вы не можете описать эффект одним предложением, отклоните его и сначала проведите исследование.
Итог
Большинство фишинговых атак типа «drainer» достигают успеха, превращая легитимные возможности Web3 — подтверждения, разрешения оператора, подписи или транзакции — в инструмент социальной инженерии. Лучшая защита — это не одно расширение, одно аппаратное устройство или один список угроз. Это многоуровневый процесс: проверка сайта, понимание авторизации, минимизация ее масштабов, отделение ценных данных от рискованных взаимодействий, проверка старых разрешений и умение различать вредоносное подтверждение и полностью скомпрометированную фразу восстановления.
Инструменты безопасности могут снизить риски, но ни один из них не может гарантировать, что подписанный вредоносный запрос будет безвредным. В случае самостоятельного хранения данных окончательным подтверждением часто является граница безопасности. Это подтверждение должно быть медленным, конкретным и обдуманным.