Перейти к содержимому
← Все статьи

Почему permit-подпись может открыть доступ к токенам без approve?

Permit-подпись даёт контракту право тратить токены без отдельной on-chain транзакции approve. Пользователь подписывает сообщение, а relayer позже передаёт его токен-контракту, устанавливающему allowance. Это экономит шаг и gas, но опасная подпись способна открыть крупный лимит злоумышленнику, даже если окно кошелька выглядит как бесплатный вход или проверка аккаунта.

Цифровая подпись превращается в ключ доступа к хранилищу токенов

Permit-подпись даёт контракту право тратить токены без отдельной on-chain транзакции approve. Пользователь подписывает сообщение, а relayer позже передаёт его токен-контракту, устанавливающему allowance. Это экономит шаг и gas, но опасная подпись способна открыть крупный лимит злоумышленнику, даже если окно кошелька выглядит как бесплатный вход или проверка аккаунта.

Как permit устанавливает allowance?

Стандарт ERC-2612 добавляет функцию permit(owner, spender, value, deadline, signature). Контракт проверяет EIP-712 подпись, срок и nonce, затем записывает allowance и создаёт Approval event. Газ за отправку может заплатить relayer, поэтому владелец токенов не обязательно видит отдельную транзакцию approve в момент подписания.

Почему злоумышленники используют подпись?

Фишинговый сайт может назвать запрос авторизацией, верификацией или claim, хотя внутри указаны адрес spender и высокий лимит. После получения подписи атакующий отправляет permit и вызывает transferFrom. Если кошелёк показывает данные непонятно или сокращённо, пользователь может подтвердить полномочие, не отправляя монету и ошибочно считая действие безопасным.

Что проверить в окне кошелька?

Нужно увидеть домен подписи, сеть, адрес token contract, spender, value, deadline и назначение запроса. Unlimited value и длинный срок требуют особенно ясного объяснения. Открывайте dApp из сохранённого адреса, сверяйте contract в независимом explorer и отклоняйте blind signing. Для редкого взаимодействия безопаснее ограниченный allowance.

Где ограничения и риски?

Не все токены реализуют ERC-2612 одинаково, а Permit2 и собственные схемы имеют другие поля. Nonce не защищает от первого исполнения вредоносной подписи. Отзыв разрешения помогает только до списания и требует on-chain операции. Аппаратный кошелёк защищает ключ, но не исправляет согласие владельца с опасным сообщением.

Какие ключевые выводы?

  • Permit меняет allowance по подписи, а не через обычный approve от владельца.
  • Relayer может отправить действительную подпись в сеть позже.
  • Spender, value, deadline, chain и contract должны быть видны до подписи.
  • Nonce защищает от повторного использования одного permit.
  • Отзыв allowance после ошибки не возвращает уже списанные токены.

Источники

  • ERC-2612
  • Permit signature
  • Allowance safety

Материал носит информационный характер и не является индивидуальной инвестиционной рекомендацией. Торговля на криптовалютном рынке связана с риском потери средств; результаты на исторических данных не гарантируют результатов в будущем.

Читайте дальше

Что такое reverse solicitation в MiCA и может ли биржа без лицензии обслуживать клиентов из ЕС?

Проверьте стратегию на своих данных

ACARO - терминал, который исполняет стратегию на вашем собственном биржевом счёте. Подбор параметров и бэктест на истории входят в подписку.

Смотреть тарифы