Управление разрешениями на токены
Главное
Разрешения на токены это права, выданные
смарт-контрактам, чтобы они тратили токены из кошелька без отдельного подтверждения каждый раз.Если пользователь не знает о выданных правах, ими могут воспользоваться злоумышленники.
Инструменты вроде Revoke.cash позволяют легко проверить и отозвать разрешения на токены.
Введение
DeFi отдаёт пользователю контроль над активами, включая приватные ключи, и даёт невиданную власть над собственными деньгами. Но чем больше власть, тем больше ответственность: заботиться о сохранности активов приходится самому.
Пользователям DeFi стоит знать о четырёх частых видах мошенничества:
-
Кража сид-фразы: злоумышленники пытаются выманить сид-фразу, чтобы без спроса добраться до денег. С вашей сид-фразой атакующий выведет всё и будет повторять это каждый раз, когда вы пополните кошелёк. Восстановиться здесь невозможно, единственный выход это завести совершенно новый кошелёк с новой
сид-фразой. -
Прямые переводы ETH: мошенники прячут перевод ETH за вызовом функции, например под именем «Security Update». Старый способ с сырой подписью из MetaMask убрали, поэтому современные фишинговые наборы используют обычные с виду запросы подписи в расчёте, что вы подпишете, не читая, что показывает кошелёк. Попались на такое, и деньги не вернуть, но кошельком дальше можно пользоваться безопасно.
-
Объявления на маркетплейсах NFT: остерегайтесь поддельных объявлений и вредоносных контрактов, которые используют разрешения, выданные площадкам вроде OpenSea. Мошенники могут подсунуть на подпись
офчейн-сообщение, которое выставит ваши одобренныеNFTна продажу, причём никакой транзакции с токеном не произойдёт. -
Разрешения на токены: атакующие могут подменить права и добраться до большей суммы, чем вы одобрили. «Одобрения» (approvals) это транзакции в блокчейне, дающие доступ к вашим токенам или NFT. «Разрешения» (permits) дают такой же доступ, но требуют лишь офчейн-подписи без газа. Uniswap и большинство современных торговых приложений работают через эту систему (она называется Permit2). Подписи permit не видны как одобрения в блокчейне, пока их не используют, и у них может быть срок действия. Проверить и отменить их можно во вкладке «Signatures» на Revoke.cash.
Смарт-контракты набирают популярность, и
разрешения на токенынужны, чтобы доверенные контракты проводили транзакции, не получая доступ к приватным ключам. Разрешения позволяют dApp автоматически перемещать токены в вашем кошельке от вашего имени. Это удобно и быстро, но открывает пользователя для мошенничества и доступа без спроса.
В этой статье мы разберём разрешения на токены и покажем созданный сообществом инструмент для управления ими.
Разрешения на токены: понять, настроить, обезопасить
Разрешения на токены это права, выданные смарт-контрактам заранее, чтобы они могли тратить токены из кошелька. Они нужны, чтобы не подтверждать каждый прямой перевод активов отдельно. Но при злоупотреблении разрешения на токены становятся дырой в защите невнимательного пользователя. Поэтому пользователям DeFi важно быть осторожными, разбираться в вопросах безопасности и понимать, как разрешения на токены работают на самом деле.
Выдача прав стороннему контракту состоит из двух шагов:
-
Подключение кошелька: подключая кошелёк к dApp, вы просто сообщаете его интерфейсу свой
адрес, чтобы приложение показало балансы и активность. Само подключение не даёт никаких прав в блокчейне. -
Одобрение токена: чтобы работать с dApp, вы затем одобряете его смарт-контракту право перемещать определённые токены от вашего имени. Именно этот шаг даёт реальную возможность тратить.
Управляя разрешениями заранее, пользователь может быть уверен, что ни один контракт не снимет с кошелька больше указанной суммы. К счастью, сообщество создало инструменты, которые дают пользователям DeFi уверенность и спокойствие.
Пошаговая инструкция: Revoke.cash
Revoke.cash позволяет легко управлять разрешениями на токены через простой сайт, где видно и удобно отслеживать разрешения, выданные разным dApp. Разберём по шагам, как этим мощным инструментом сообщества защитить активы и вернуть контроль над кошельком.
1. Подключите кошелёк:
Чтобы начать отзыв разрешений, откройте Revoke.cash и нажмите «Connect Wallet» в правом верхнем углу. Можно и просто ввести публичный адрес кошелька в строку поиска. Когда загрузка закончится, вы увидите список всех своих одобрений токенов в этой сети.

2. Изучите разрешения:
После подключения кошелька можно рассмотреть выданные одобрения. Их можно сортировать, фильтровать и искать по адресу того, кому разрешено тратить. Сортировка «Newest to Oldest» особенно полезна, если вы подозреваете недавнее вредоносное одобрение. Пользуйтесь сортировкой и фильтрами, чтобы увидеть общую картину выданных разрешений. Разрешения выдаются отдельно в каждой сети, поэтому переключайте сеть и повторяйте проверку для каждой, которой пользуетесь.

3. Отзовите ненужные разрешения:
Найдя одобрения, которые хотите отозвать, просто нажмите кнопку «Revoke» рядом с каждым. При желании можно изменить сумму одобрения: нажмите на карандаш рядом с суммой, если разрешение ещё понадобится, но риск хочется снизить.

Отозвать или уменьшить разрешение на токены стоит, если:
-
Недавно развёрнутый смарт-контракт взломали, и он создал уязвимость в
децентрализованной бирже, которой вы регулярно пользуетесь.В апреле 2023 года похожий взлом случился с популярной
DEXSushiSwap: у пользователей украли около 3,5 миллиона долларов. Те, кто не отозвал разрешения на токены, оставались под угрозой. -
Вредоносное предложение по управлению обновляет несколько контрактов, чтобы вывести деньги пользователей.
Более 2,5 миллиона долларов активов пострадали, когда протокол
DeFiAtlantis Loans в сети BNB исполнил предложение по управлению, нацеленное сразу на несколько контрактов. Те, кто ограничивал сумму одобрений, снизили риск полного опустошения кошелька.
Не забудьте про делегирования
После обновления Pectra в сети Ethereum (май 2025 года) проверять стоит не только разрешения. Новая возможность кошельков (EIP-7702) позволяет кошельку делегировать работу дополнительному коду. Отсюда удобства вроде пакетных транзакций, но отсюда же и новый трюк дренеров: одна вредоносная подпись установит код-«подметальщик», который мгновенно отправляет атакующему всё, что вы кладёте в кошелёк, а сид-фраза при этом никуда не утекает. В 2025 году исследователи из Wintermute обнаружили, что более 97% ранних делегирований кошельков вели к одному и тому же коду-подметальщику.
Revoke.cash показывает активные делегирования во вкладке «Delegations», но делегированием управляют не приложения, а сам кошелёк, поэтому ненужное делегирование отзывают внутри кошелька. В MetaMask откройте детали аккаунта и переключите его обратно на обычный аккаунт. Если вы никогда не переводили кошелёк в смарт-аккаунт, считайте любое найденное делегирование враждебным.
Пора укрепить оборону кошелька! Надеемся, вам понравился этот выпуск Справочника Исследователя: «Управление разрешениями на токены».
Не забудьте собрать эту запись, если хотите иметь свою копию под рукой в путешествиях или поддержать будущие материалы Bankless Academy. Счастливого пути, Исследователь!
Частые вопросы
Когда пользоваться Revoke.cash?
Заходите на Revoke.cash время от времени, особенно когда каким-то dApp вы не пользуетесь активно, и в первую очередь ради маркетплейсов NFT. Чем меньше одобрений, тем меньше риск потерять деньги из-за взлома, эксплойта или фишинга. Отсортировав одобрения по свежести, вы быстро найдёте подозрительные и отзовёте их, не дав ущербу вырасти.
Защитит ли меня отключение кошелька от эксплойтов с одобрениями?
Отключение кошелька от dApp не защищает ни от эксплойтов с одобрениями, ни от любых других. Выданные ранее одобрения токенов остаются активными и после отключения, потому что они записаны в блокчейне.
Как избежать эксплойтов с разрешениями на токены и похожих рисков?
Разумный подход к разрешениям на токены такой:
-
выдавайте разрешения только доверенным dApp.
-
время от времени пересматривайте разрешения на токены.
-
убирайте ненужные и подозрительные разрешения.
-
проверяйте, нет ли незнакомых делегирований кошелька.
-
следите за обновлениями безопасности в используемых dApp.
Присмотритесь и к сторонним инструментам, например к расширению для браузера от Revoke.cash: оно работает на опережение. Расширение предупредит, если вы собираетесь подписать что-то потенциально опасное, и защитит от фишинга и других вредоносных действий.
Можно ли вернуть деньги через Revoke.cash?
К сожалению, Revoke.cash не возвращает украденное. Это средство профилактики, которое снижает шанс стать жертвой эксплойта с одобрениями. Но если отозвать одобрения, через которые уводили деньги, дальнейшие кражи прекратятся.
Почему кошелёк опустошают каждый раз, когда я его пополняю?
В кошельке может работать «бот-подметальщик»: скрипт следит за скомпрометированным кошельком и мгновенно уводит любые новые поступления, прежде чем вы успеете среагировать. Одна причина это утёкшая сид-фраза. Тогда отзыв одобрений не поможет: бросьте кошелёк и заведите новый. Но не менее вероятная причина это вредоносное делегирование кошелька: код-подметальщик установили через подпись, которую у вас выманили, а сид-фраза при этом не утекала. Проверьте вкладку «Delegations» на Revoke.cash. Если найдёте незнакомое делегирование, отзовите его внутри кошелька (например, через детали аккаунта в MetaMask). Если делегирований нет, а деньги продолжают уходить, считайте сид-фразу скомпрометированной и переходите на новый кошелёк.
Автор
Marcus издаёт рассылку ENS DAO Newsletter. Он исследует, как излишек дохода от комиссий протокола может финансировать разработку на уровне приложений и другую инфраструктуру с открытым исходным кодом.
Редакторы
Tetranome руководит проектом в Bankless Academy и занимается пользовательским опытом, интерфейсом, дизайном и материалами.
Trewkat пишет и редактирует тексты в BanklessDAO. Ей интересно изучать криптовалюты и NFT, особенно то, как лучше всего рассказывать об этом другим.
Меценат
Эта статья без спонсора входит в бесплатное образование Bankless Academy. Соберите статью, чтобы поддержать будущие материалы!