Коротко (TL;DR)
Когда вы пользуетесь DeFi-приложением, NFT-маркетплейсом или DEX, вы выдаёте смарт-контракту approval — разрешение распоряжаться вашими токенами. Эти разрешения не исчезают сами: они остаются активными, пока вы их не отзовёте. Если проект позже взломают или вы по ошибке подпишете approval на фишинг-сайте, контракт может вывести токены — иногда спустя годы.
- Коротко (TL;DR)
- Что такое token approval простыми словами
- Риски approvals: чем грозят забытые разрешения
- Четыре типа кражи — и что делать в каждом
- Урок «спящих» контрактов: почему Aztec потерял $2,19 млн
- Как отозвать approvals — пошагово
- approve, Permit и Permit2: в чём разница
- Гигиена кошелька: как не попасть
- Если вы уже подписали лишнее
- FAQ
Главное действие: периодически проверяйте и отзывайте ненужные approvals через Revoke.cash или Token Approval Checker на Etherscan, держите крупные суммы на отдельном кошельке, который никогда не подключаете к dApp, а после крупных взломов отзывайте доступы превентивно. Ниже — как это работает, как отозвать пошагово и чего отзыв НЕ лечит.
(Данные и кейсы актуальны на 15 июня 2026.)
Что такое token approval простыми словами
Token approval — это ончейн-разрешение, которое вы выдаёте смарт-контракту, чтобы он мог тратить ваши токены без отдельной подписи на каждую операцию. Без него dApp не сможет, например, обменять ваш USDT на DEX или выставить NFT на продажу.
Аналогия: approval — это как разрешить приложению автосписание с карты. Один раз согласились — дальше оно списывает само, в пределах выданного лимита, пока вы не отмените доступ.
У ERC-20 токенов разрешение бывает ограниченным (на конкретную сумму) или безлимитным (unlimited). Безлимитный approval удобен — не нужно переподтверждать каждый раз, поэтому его используют и крупные площадки. Но он же опасен: контракт с unlimited-доступом может вывести весь ваш баланс этого токена. Важно понимать границу: разрешение действует только на тот токен или коллекцию, к которым выдано, — approval на WETH не даёт доступа к вашему USDT или USDC. Сам ETH под approval не попадает (это не ERC-20): чтобы отдать его контракту, ETH сначала «оборачивают» в WETH. Перед подтверждением любого approval кошелёк показывает, какому адресу и на какую сумму вы выдаёте доступ, — на это стоит смотреть всегда: именно здесь видно, что незнакомый контракт просит безлимит.
Риски approvals: чем грозят забытые разрешения
Проблема не в самой механике, а в том, что разрешения живут бессрочно. Три причины, почему забытый approval — это риск:
- Лежит годами. Вы попользовались протоколом один раз и забыли, а approval остался. Если проект потом взломают, атакующий выведет токены через ваш старый доступ — даже спустя годы после последнего захода.
- Безлимит — это весь баланс. Если разрешение безлимитное, у злоумышленника нет «потолка»: он заберёт всё, что есть в кошельке по этому токену.
- Доступ может сменить хозяина. Если владелец одобренного контракта передаст его другому лицу (или фронтенд проекта взломают), ваше разрешение окажется в руках того, кому вы ничего не разрешали.
Самый частый способ кражи — фишинг: пользователь заходит на поддельный сайт и подписывает approval (или gasless-подпись), думая, что это легитимное действие. Дальше токены уходят. Масштаб виден по цифрам: по отчёту ScamSniffer, за 2023 год фишинг увёл около $300 млн у примерно 320 000 пользователей; а по данным Hacken, только за I квартал 2026 года Web3 потерял $482 млн в 44 инцидентах.
Отдельно стоит выделить риск подписей: с распространением Permit2 и маркетплейс-подписей злоумышленнику всё чаще не нужна даже ваша ончейн-транзакция — достаточно, чтобы вы поставили одну «бесплатную» (gasless) подпись на поддельном сайте, и все заранее одобренные активы уйдут одной операцией. Поэтому опасны не только висящие approvals, но и невнимательность при подписи: оба пути ведут к одному результату — потере токенов без возможности их вернуть. Хорошая новость в том, что почти все эти сценарии предотвращаются двумя привычками: регулярной чисткой разрешений и проверкой того, что именно вы подписываете.
Четыре типа кражи — и что делать в каждом
Чтобы понять, что произошло и что вообще поможет, сначала определите, что именно украли. Revoke.cash выделяет несколько типичных сценариев:
| Тип | Признак | Что поможет |
|---|---|---|
| Компрометация seed-фразы | Уходят разные активы на нескольких сетях/кошельках; нативный токен (ETH/BNB) исчезает сразу после поступления | Ничего не вернуть — кошелёк бросают, остаток переносят на новый (лучше аппаратный) |
| Marketplace-подпись (OpenSea/Blur/Permit2) | Списаны сразу все заранее одобренные активы одной операцией | Отменить подпись на странице Signatures в Revoke.cash (окно крошечное); на будущее — регулярно чистить approvals |
| Token approval | Украден один или несколько конкретных одобренных активов | Немедленно отозвать approval — иначе атакующий продолжит выводить |
| Прямой перевод | Списан один актив; в истории — функция вроде «Security Update» или «Claim» | Это «один раз»; отзыв не нужен, но смените привычки безопасности |
Ключевой нюанс, который многие путают: marketplace-подпись и approval — это разные вещи. Отзыв approval не отменяет уже подписанную офчейн-подпись (Permit2 или маркетплейса) — для подписей у Revoke.cash отдельная страница, и времени на отмену очень мало.
Урок «спящих» контрактов: почему Aztec потерял $2,19 млн
Свежий пример того, как старый доступ превращается в дыру, — эксплойт Aztec Connect. Этот приватный сервис закрыли ещё в марте 2023-го, но 14 июня 2026 года из его иммутабельного контракта вывели около $2,19 млн (детали — в нашей новости про эксплойт Aztec Connect).
Почему это важно для темы approvals: иммутабельный контракт нельзя ни обновить, ни поставить на паузу — даже его авторам. Иммутабельность обычно плюс (никто не подменит код), но у закрытого, неподдерживаемого протокола она оборачивается ловушкой: когда находят изъян, залатать его невозможно, а средства и разрешения, оставшиеся в контракте, защитить уже нельзя. По имеющимся данным, уязвимый контракт Aztec обновляли ещё в апреле 2024 года — и это обновление, судя по всему, прошло без внешнего аудита, открыв дыру, которую затем некому было закрыть.
Вывод для вас: деньги и активные approvals в протоколах, которыми вы давно не пользуетесь, — это открытая дверь, которую уже никто не охраняет. Выводите остатки из закрытых dApp и отзывайте их разрешения, не дожидаясь «спящего» эксплойта. Случай не первый: ранее старые контракты NFT Trader увели NFT на сумму свыше $3 млн, после чего пользователей просили срочно отозвать approvals двух адресов.
Как отозвать approvals — пошагово
Отозвать доступ можно за пару минут. Два основных инструмента — Revoke.cash и блок-эксплорер (Etherscan и аналоги).
Обязательно отзывайте approval в четырёх случаях:
- вы перестали пользоваться приложением или сервисом;
- у протокола нашли уязвимость или его взломали;
- вы случайно подключились не к тому контракту;
- вас уже скамнули — отзыв не вернёт украденное, но остановит дальнейший вывод по этому разрешению.
Через Revoke.cash (поддерживает 100+ сетей):
- Откройте Revoke.cash — лучше из закладки, чтобы не попасть на фишинг-клон, — и подключите кошелёк или просто введите свой адрес.
- Выберите нужную сеть (Ethereum, BNB Chain, Polygon и т.д.).
- В списке approvals отсортируйте «от новых к старым» — так быстрее найдёте свежие и подозрительные разрешения.
- Нажмите Revoke напротив ненужного approval. Можно не отзывать полностью, а уменьшить лимит (иконка карандаша) — если доступ ещё пригодится.
Через Etherscan (для тех, кто привык к эксплореру):
- Откройте Token Approval Checker (раздел More → Token Approvals) и введите адрес кошелька.
- Выберите тип токена (ERC-20, ERC-721, ERC-1155) и включите «Show all approvals».
- Нажмите Revoke напротив нужного контракта — для каждого отдельно. Для других сетей используйте свой эксплорер: BscScan, Polygonscan и т.п.
Отзыв — ончейн-операция, поэтому за него платится газ. Исключение — gasless и пакетные механизмы (Permit2), где отозвать несколько разрешений можно дешевле и за раз.
approve, Permit и Permit2: в чём разница
Механизм approvals развивался, и от этого зависит, как именно вас могут обмануть и как защититься.Механизм Как работает Газ Особенность approve (ERC-20) Ончейн-транзакция на каждый approval Платится за каждый Безлимит живёт до ручного отзыва Permit (ERC-2612) Офчейн-подпись, контракт исполняет её ончейн Без газа при подписи Подпись на фишинге = доступ без вашей транзакции Permit2 (Uniswap) Безгазовые approvals для любых токенов Без газа Есть авто-истечение и пакетный отзыв — меньше «висящих» доступов
Permit2 удобнее и безопаснее за счёт срока истечения, но именно подписи (Permit и Permit2) — любимый инструмент фишеров: одной gasless-подписью на поддельном сайте можно авторизовать вывод всех заранее одобренных активов. Поэтому подписи проверяйте так же придирчиво, как обычные транзакции.
Гигиена кошелька: как не попасть
Профилактика дешевле потерь. Чек-лист привычек:
- Чистите approvals регулярно — раз в 1–2 месяца и обязательно после крупных взломов в индустрии: отзывайте доступы превентивно, даже если ваш протокол не пострадал напрямую.
- Разделяйте активы. Держите три кошелька: «сейф» для долгого хранения (его никогда не подключают к dApp), рабочий — для торговли на проверенных площадках и «расходник» (burner) — для незнакомых сайтов. Так одна неудачная подпись не уведёт все сбережения.
- Аппаратный кошелёк — не панацея. Он защищает приватный ключ, но не мешает вам подписать вредоносный контракт. О выборе устройства — в сравнении Ledger Nano X и Trezor Model T.
- Проверяйте URL и используйте закладки. Заходите на DeFi-сайты из закладок, сверяйте адрес перед подписью, ставьте защитные расширения (Revoke, Pocket Universe) — они предупреждают о вредоносных подписях.
- Берегите seed-фразу. Не вводите её ни на одном сайте и не храните в облаке — это фундамент всей безопасности (наш разбор: как хранить seed-фразу).
Базовые принципы хранения и защиты мы собрали в отдельном материале о безопасности крипто-кошелька.
Если вы уже подписали лишнее
Действуйте быстро и по порядку:
- Отзовите approval в Revoke.cash — это остановит дальнейший вывод, если кража идёт через разрешение.
- Определите тип кражи по таблице выше. Если украдены разные активы на нескольких сетях, а нативный токен исчезает сразу после поступления, — вероятно, скомпрометирована seed-фраза.
- При компрометации seed-фразы кошелёк уже не спасти: проверьте компьютер на вредоносное ПО, заведите новый кошелёк (лучше аппаратный) и перенесите остаток. Если в скомпрометированном кошельке осталось больше ~$1000, обратитесь в Flashbots Whitehat Hotline — «сборщик» атакующего может перехватывать переводы.
- Не верьте «возвращателям». Украденные ончейн-активы вернуть нельзя; любой, кто за деньги обещает их вернуть, — сам мошенник. Сообщить о случае на биржи и в местные органы имеет смысл ради следа, а не ради гарантий.
FAQ
Отзыв approval вернёт украденные деньги? Нет. Отзыв только останавливает дальнейший вывод через это разрешение. Уже украденные ончейн-активы вернуть невозможно.
Нужно ли платить за каждый отзыв? Обычный отзыв — это ончейн-операция с газовой комиссией за каждое разрешение. Механизмы вроде Permit2 позволяют отзывать дешевле и пакетно; на некоторых сетях газ копеечный.
Безопасно ли давать unlimited approval крупным DEX? Сам по себе безлимитный доступ — не «красный флаг»: его используют и репутационные площадки ради удобства. Риск создают разрешения незнакомым контрактам и забытые approvals закрытых проектов — именно их и нужно чистить.
Защищает ли аппаратный кошелёк от вредоносного approval? Нет. Аппаратный кошелёк бережёт приватный ключ, но если вы сами подпишете вредоносный approval или подпись, устройство это исполнит. Помогают сегрегация активов и привычка проверять, что именно подписываете.
Как часто проверять approvals? Раз в 1–2 месяца как привычка и дополнительно — после каждого крупного взлома в индустрии. Это занимает пару минут и кратно дешевле возможных потерь.
Что выбрать — Revoke.cash или Etherscan? Для большинства удобнее Revoke.cash: единый список по всем сетям и подсветка рискованных разрешений. Etherscan подойдёт, если вы уже привыкли к эксплореру. Результат одинаковый — оба отправляют ончейн-транзакцию отзыва, за которую платится газ.




