Security

Дрейнеры и подписи permit: фишинг, который не стоит газа

21 октября 2026 г.
5 мин чтения

Сайты-дрейнеры крадут токены через approve и подписи permit, за которые не платят газ. Что означает каждый запрос подписи и как его прочитать до подтверждения.

Пять уровней запросов подписи в кошельке: от безопасного входа до опасных подписей permit и Permit2.
Подписи permit и Permit2 не стоят газа, но работают как разрешения. Открыть схему крупнее

Дрейнер — фишинговый сайт, который добивается от вас подписи, передающей токены злоумышленнику. Опасные запросы обычно не обычные переводы: это разрешения на токены (approve), «разрешить всё» для NFT (setApprovalForAll) и подписи вне блокчейна вроде EIP-2612 permit или Permit2 от Uniswap. Офчейн-подпись не стоит газа и не выглядит как транзакция — поэтому её и подписывают не думая. Затем злоумышленник отправляет её в сеть и забирает токены.

Четыре типа запросов: от безопасного к опасному

Кошелёк показывает разные типы запросов. Понимая, какой на экране, вы понимаете, чем рискуете.

Что вам предлагают подписать и что это позволяет
ЗапросПлатите газ?Что он позволяет
Сообщение для входа (текст, «Sign in with Ethereum»)НетДоказывает владение адресом, ничего не двигает
Перевод монеты или токенаДаОтправляет указанную сумму на указанный адрес
approve / setApprovalForAllДаПолучатель разрешения может забирать токены или все NFT коллекции, пока не отзовёте
permit / Permit2 (EIP-712)НетРазрешение вне сети: владелец подписи может отправить её и потратить сумму до дедлайна

Последние две строки — то, что нужно дрейнеру. Разрешение на 115792089237316195423570985008687907853269984665640564039457584007913129639935 (2²⁵⁶−1) — «безлимитное». Permit с дедлайном через годы и такой суммой — то же самое, только без транзакции.

Почему подписи без газа так удобны злоумышленникам

Люди привыкли, что транзакция стоит денег и требует внимания. Окно подписи без комиссии выглядит безобидно, как вход на сайт. Дрейнеры этим пользуются: страница просит подпись для «бесплатного получения», а кошелёк показывает длинный блок структурированных данных, который мало кто читает. В сеть ничего не уходит — нет висящей транзакции и нет комиссии, которая заставила бы задуматься. Злоумышленник может выждать часы или дни, и потеря уже не связывается в голове с посещённым сайтом.

Как дрейнеры заманивают

  • Фальшивые минты и аирдропы: страницы «заберите токены», которые рекламируют взломанные аккаунты в X и Discord. См. фальшивые аирдропы.
  • Поисковая реклама, стоящая выше настоящего результата для DeFi-приложения или моста.
  • Взломанные фронтенды настоящих проектов. В декабре 2023 года опубликовали вредоносную версию библиотеки Ledger Connect Kit, и она ненадолго встроила дрейнер в несколько dApp, которые её загружали.
  • Сообщения «поддержки» с просьбой «валидировать» или «разблокировать» кошелёк — см. фальшивая поддержка.

Как прочитать запрос до подписи

  1. Сначала проверьте домен. Дрейнер работает с похожего или постороннего домена; проверка фишинговых ссылок ловит типичные приёмы.
  2. Посмотрите тип запроса. Если там permit, Permit2, PermitSingle, PermitBatch или указаны spender и сумма — это разрешение, даже если газа нет.
  3. Прочитайте spender. Это должен быть контракт приложения, которым вы пользуетесь, а не случайный адрес. Скопируйте typed data и вставьте в декодер подписей EIP-712 — он покажет получателя, сумму и дедлайн человеческим языком.
  4. Для транзакций вставьте данные в декодер input data. Он распознаёт approve, transferFrom, setApprovalForAll, обёртки multicall и помечает безлимитные суммы.
  5. Если кошелёк не может расшифровать запрос (сырой hex, «eth_sign»), не подписывайте. Современным dApp слепые подписи не нужны.

Привычки, которые ограничивают ущерб

  • Держите отдельный «горячий» кошелёк с небольшим балансом для новых dApp и минтов, а сбережения — в кошельке, который к ним никогда не подключается.
  • Давайте разрешение на точную сумму, а не безлимит, когда приложение это позволяет.
  • Раз в месяц проверяйте разрешения и отзывайте ненужные — как отозвать разрешения токенов.
  • На аппаратном кошельке не держите слепую подпись включённой постоянно — см. что такое blind signing.

Если вы подписали запрос дрейнера

  1. Немедленно отзовите разрешение в нужной сети (revoke.cash или проверка разрешений в обозревателе). Ещё не отправленный permit можно обезвредить, изменив разрешение транзакцией, но важна скорость.
  2. Переведите оставшиеся токены на новый адрес. Если вы где-то вводили сид-фразу, потерян весь кошелёк — создайте новый на чистом устройстве.
  3. Сообщите домен дрейнера разработчику кошелька и в базы фишинга, подайте заявление в полицию с хешами транзакций.

Обычный обмен в KOT.CASH не требует ничего из этого: вы отправляете монеты или токены обычным переводом на адрес депозита заказа, а сайт никогда не просит подключить кошелёк, дать разрешение или подписать typed data. Если страница, похожая на KOT.CASH, просит подключить кошелёк или подпись, вы не на kot.cash.

Частые вопросы

Может ли подпись без газа украсть токены?

Да, если это подпись permit или Permit2. Это разрешение, которое кто-то другой может отправить в сеть позже.

Опасен ли «Sign in with Ethereum»?

Текстовое сообщение для входа ничего не двигает. Прочитайте его: там должен быть домен сайта и не должно быть получателя и сумм.

Отзыв разрешения отменяет уже подписанный permit?

Если permit ещё не использован, изменение разрешения транзакцией в большинстве реализаций делает старую подпись недействительной. Если уже использован — токены ушли.

Дрейнеры бывают только в Ethereum?

Нет. Похожие приёмы есть в BNB Smart Chain, Polygon, Arbitrum и Base, в Solana через вредоносные транзакции, в TRON через разрешения.

Просит ли KOT.CASH подключить кошелёк?

Нет. Обмен — обычный перевод на адрес депозита, указанный на странице заказа.

Декодер подписей EIP-712Декодер input data транзакцииКак отозвать разрешения токеновapprove и allowance в ERC-20

Источники

Готовы обменять крипту?

Быстрые, прозрачные свопы — регистрация не нужна.

Начать обмен
Дрейнеры и подписи permit: фишинг, который не стоит газа | KOT.CASH