Drainer-атаки — один из самых опасных сценариев в Web3. Пользователь не вводит seed-фразу и не “передаёт доступ” к кошельку в классическом смысле, а просто подписывает транзакцию или сообщение. Этого достаточно, чтобы злоумышленник получил право вывести NFT, токены или дать себе постоянный доступ к активам.
Как это работает
- Пользователя заманивают на фишинговый сайт: “airdrop”, “mint”, “claim reward”, “verify wallet”
- Кошелёк предлагает подписать сообщение или транзакцию
- Подпись выглядит безопасно: без явного перевода средств
- На деле подписывается:
Permit / Permit2 — разрешение на списание токенов
SetApprovalForAll — полный доступ к NFT коллекции
IncreaseAllowance — увеличение лимита на токены
офчейн-подпись для последующего исполнения через смарт-контракт
После этого drainer-скрипт автоматически вызывает контракт и выводит активы на адрес атакующего ⚠️
Почему это опасно
Многие считают: если нет seed-фразы, значит кошелёк в безопасности. Но в Ethereum и совместимых сетях approve-механика — это штатная функция. Пользователь сам выдаёт разрешение, а злоумышленник лишь использует его.
Особенно опасны:
- безлимитные approve
- подписи в незнакомых dApp
- транзакции с непонятными hex-данными
- срочные офферы: “только 5 минут”, “claim now” 🚨
Какие активы крадут чаще всего
- NFT через setApprovalForAll
- ERC-20 токены через approve / permit
- стейблкоины, ликвидные токены, governance-токены
- иногда права на будущие списания, а не мгновенный вывод
Как распознать drainer-атаку
- Сайт копирует дизайн известного проекта
- Домен похож на оригинальный, но с лишними символами
- Кошелёк просит “подписать”, хотя вы ничего не покупаете
- В окне подтверждения есть Approve, Permit, Allowance, SetApprovalForAll
- Интерфейс давит на FOMO: “wallet not verified”, “claim expired” 😬
Как защититься
- Проверяйте домен вручную
- Не подписывайте то, что не понимаете
- Используйте отдельный кошелёк для mint и airdrop
- Храните основные активы на cold wallet
- Перед подтверждением читайте тип вызова, а не только кнопку
- Регулярно отзывайте разрешения через revoke-сервисы
- Подключайте симуляторы транзакций и антифишинг-расширения 🛡️
Что делать, если уже подписали
- Срочно revoke всех подозрительных approvals
- Переведите оставшиеся активы на безопасный адрес
- Проверьте историю транзакций и allowances
- Исключите повторное взаимодействие с сайтом
- Если скомпрометирован “горячий” кошелёк — перестаньте использовать его для хранения
Главный вывод
Drainer-атака — это не “взлом кошелька”, а злоупотребление вашим согласием, полученным через подпись. В Web3 самая дорогая кнопка — та, которую нажимают не глядя. 👀
📌 Ниже — мягкая рекомендация: посмотрите подборку каналов про IT, где разбирают кибербезопасность, блокчейн и реальные схемы атак.