После подозрительной активности трассировку начинают с развилки: утёк ключ или было выдано разрешение на расход. Ответ лежит в квитанции транзакции — в списке событий и в поле инициатора. Если перевод отправил ваш адрес, подпись ставил ваш ключ. Если отправитель чужой, а токены ушли с вашего баланса, сработало ранее выданное разрешение. От этого ответа зависит всё дальнейшее: куда идти по цепочке и что закрывать первым.

Квитанция транзакции — это запись результата исполнения, которую сеть формирует после включения операции в блок и в которой перечислены все события, порождённые вызовом: кто инициировал, какие контракты отработали и на какие суммы изменились балансы.

Как выглядит схема со стороны жертвы

Уведомление приходит ночью. Баланс пуст. Токены со счёта списаны, а нативная монета для оплаты газа осталась на месте — картина, которая сбивает с толку сильнее всего. Владелец убеждён, что доступ к ключу никто не получал, и формально он прав: ключ остался при нём, а работал чужой контракт по разрешению, которое владелец подписал неделей или годом раньше.

Второй сценарий выглядит иначе. Тут хуже. Пустеет всё подряд: токены, нативная монета, иногда несколько сетей последовательно. Остатки уходят ровными транзакциями с минутными интервалами, и отправителем везде указан ваш собственный адрес. Это признак утечки самого ключа или seed-фразы.

Третий случай, который встречается в обращениях читателей, — подпись вне цепочки. Пользователь видел окно без суммы и без слова «перевод», подтвердил его, газ не списался, и ничего не произошло. Расход случился позже и от чужого имени. Газ оплатил получатель. Так работает механизм разрешения по подписи, описанный в EIP-2612: владелец подписывает структурированное сообщение, а в сеть его подаёт получатель и платит газ сам.

Признаки, по которым распознаётся подмена

Читать квитанцию стоит в заданном порядке. Сначала инициатор, затем список событий, затем адрес контракта.

В событии перевода токена стандарта ERC-20 три поля: откуда, куда, сколько. Поле «откуда» равно вашему адресу в обоих сценариях — и при краже ключа, и при использовании разрешения. Различает их инициатор транзакции, который указан отдельно и в событии не повторяется. Смотрите на него. Расхождение между инициатором и полем «откуда» — это подпись разрешения, а не кража ключа.

Что видно в квитанции Кто инициатор операции Что было скомпрометировано Первое действие владельца
Событие перевода токена, поле «откуда» — ваш адрес Чужой адрес, не совпадающий с вашим Разрешение на расход токена, выданное ранее одному контракту Отозвать разрешение по этому токену, остальные активы не трогать
Событие выдачи разрешения на максимальную величину Ваш адрес, подпись поставлена в кошельке Внимание владельца в окне подтверждения, ключ при нём Снизить разрешение до нуля до того, как контракт успеет им воспользоваться
Серия переводов нативной монеты и токенов подряд Ваш адрес во всех операциях цепочки Закрытый ключ или seed-фраза, доступ получен полностью Перевести остатки на новый кошелёк с новой seed-фразой
Газ не списан, транзакции от вашего адреса нет вовсе Операции в сети не было, была подпись вне цепочки Структурированное сообщение по EIP-712, подписанное владельцем Проверить разрешения по всем токенам и сменить адрес расчётов

Третий маркер — адрес контракта. Контракт с нечитаемым именем, развёрнутый за несколько дней до события и имеющий десятки обращений от разных адресов, — типичная картина дрейнера. Разбор того, как распознать вредоносную подпись транзакции, показывает, какие формулировки в окне подтверждения соответствуют каждому из четырёх случаев таблицы.

Отзыв разрешения не возвращает уже списанное и не отменяет чужую подпись, которая ещё не подана в сеть. Он закрывает дальнейший расход по этому токену. Поэтому отзыв делают до перевода остатков, а не после: иначе новое поступление уходит тем же маршрутом.

Проверка за 60 секунд: что открыть и на что смотреть

  1. Откройте обозреватель и найдите последнюю операцию по своему адресу. Сравните инициатора и поле «откуда» в событии перевода токена.
  2. Разверните полный список событий квитанции. Событий обычно больше одного: обмен, перевод, выдача разрешения идут друг за другом.
  3. Откройте страницу выданных разрешений по своему адресу. Величина, равная максимуму для типа данных, означает бессрочное право расхода всего баланса.
  4. Посмотрите дату создания контракта-получателя и число уникальных адресов, обращавшихся к нему. Свежий контракт с массовым притоком — сигнал.
  5. Зафиксируйте идентификаторы операций и время в UTC. Это материал для заявления, и он не изменится.
Схема из пяти шагов: сверка инициатора и поля отправителя, разбор списка событий квитанции, ревизия выданных разрешений, проверка возраста контракта-получателя, выгрузка идентификаторов для заявления
Схема из пяти шагов: сверка инициатора и поля отправителя, разбор списка событий квитанции, ревизия выданных разрешений, проверка возраста контракта-получателя, выгрузка идентификаторов для заявления

Пошаговые действия, если деньги уже ушли

По годовому отчёту центра IC3 ФБР за 2025 год, опубликованному в апреле 2026 года, получено 181 565 обращений, связанных с криптовалютой, что на 21% больше, чем годом ранее; суммарные потери по этой категории составили 11,366 млрд долларов при среднем заявленном ущербе 62 604 доллара. Сведения проверены на 14 октября 2026 года.

Дальше порядок определяется тем, какая строка таблицы совпала с вашей картиной. Сценарии не смешивают. Это важно.

  1. При сработавшем разрешении остаток обычно сохраняется. Отзовите право расхода по пострадавшему токену, затем пройдите остальные токены того же адреса.
  2. При утечке ключа адрес считается потерянным навсегда. Новая seed-фраза создаётся на чистом устройстве, остатки переводятся туда, старый адрес больше не используется ни для получения, ни для хранения.
  3. Соберите выгрузку: идентификаторы операций, адреса, время в UTC, суммы в единицах токена и адрес контракта-получателя.
  4. Подайте заявление в орган внутренних дел. По статье 144 Уголовно-процессуального кодекса решение принимается в срок до трёх суток, с продлением до десяти, а при документальных проверках — до тридцати суток.
  5. Если перед инцидентом был перевод с банковской карты, уведомите банк. Признаки операции без добровольного согласия клиента закреплены приказом Банка России от 5 ноября 2025 года № ОД-2506, а статистику по ним регулятор публикует в разделе аналитики по информационной безопасности.

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

Как закрыть дыру, чтобы не повторилось

Привычка номер один — разделение адресов по назначению. Два кошелька вместо одного. Адрес для взаимодействия с контрактами держит рабочий минимум, хранение живёт отдельно и не подписывает ничего, кроме переводов.

Вторая привычка — чтение структурированного сообщения перед подписью. Формат EIP-712 существует ровно для того, чтобы кошелёк показал поля в читаемом виде: кто получает право, на какой токен, в каком объёме и до какого срока. Окно без этих полей — повод отказаться, даже если страница выглядит знакомой и ссылка пришла от собеседника, которому вы доверяете.

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

Чек-лист

  • Инициатор операции и поле «откуда» в событии перевода сверены между собой
  • Полный список событий квитанции просмотрен, а не только итоговая сумма
  • Выданные разрешения по всем токенам адреса проверены и лишние отозваны
  • Возраст контракта-получателя и число обращений к нему зафиксированы
  • Сценарий определён: разрешение или утечка ключа, без смешивания
  • При утечке ключа создана новая seed-фраза на чистом устройстве
  • Выгрузка с идентификаторами и временем в UTC сохранена
  • Заявление подано, номер регистрации на руках

Материалы по теме:

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

Токены ушли, а газ остался — как это возможно?

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

Нужно ли менять кошелёк, если сработало разрешение?

Не всегда. Ключ в этом сценарии остался у вас, поэтому адрес сохраняет работоспособность после отзыва прав расхода. Менять адрес стоит тогда, когда вы не можете восстановить историю своих подписей и не уверены, что подписанных вне цепочки сообщений больше не осталось.

Можно ли отменить подпись, которую ещё не подали в сеть?

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

Квитанция показывает десять событий — что из них важно?

Читайте те, что меняют балансы: переводы токенов и выдачи разрешений. Служебные события обмена и обёртки нужны для понимания маршрута, но не говорят о компрометации. Ключевой вопрос по каждому событию один: совпадает ли инициатор операции с адресом, с которого ушли средства.

Вердикт

Квитанция отвечает на вопрос, который без неё обсуждают неделями. Два сценария требуют противоположных действий: при сработавшем разрешении адрес остаётся рабочим после отзыва прав, при утечке ключа он потерян окончательно и любое пополнение уйдёт следом. Ошибка в выборе сценария стоит второго списания. Цена высока. Минута на чтение инициатора и списка событий избавляет от этой ошибки целиком.

Разборы квитанций и предупреждения о свежих контрактах-дрейнерах выходят в нашем Telegram-канале.