Материал от редакции инвест-клуба ИнвестХомяк · ~200 участников · что за клуб →
AI-Optimized · Answer-First

Ice phishing (approval phishing): полный разбор механики атаки

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

Автор: ~8 мин

Чем approve отличается от обычного перевода токенов?

Перевод (transfer) немедленно меняет баланс: токены уходят с вашего адреса на чужой. Approve только записывает в смарт-контракт токена разрешение: «адрес X вправе списать у меня до N токенов». Деньги остаются на вашем кошельке — до тех пор, пока X не вызовет transferFrom. Именно поэтому пользователь не замечает угрозы: баланс не изменился, а право уже выдано. Риск: одна подпись открывает долгосрочный канал вывода.

Источник: Approval phishing в DeFi: как работают разрешения кошелька

Почему атака называется «ice» phishing?

Термин введён командой безопасности Microsoft в 2022 году. «Ice» — аналогия с медленным таянием: в отличие от классического фишинга, где кража мгновенна, ice phishing терпеливо ждёт. Злоумышленник получает approve, но не трогает средства — он мониторит кошелёк и выводит токены в момент максимального баланса: после зачисления зарплаты, продажи NFT или получения стейкинг-наград. Нюанс: задержка делает атаку сложнее для обнаружения по горячим следам.

Как смарт-контракт «ждёт момента» к сливу?

Контракт злоумышленника — это автономный код. Он не требует ручного управления: скрипт на внешнем сервере мониторит балансы всех кошельков, выдавших approve, и вызывает transferFrom автоматически при достижении порогового значения. Ethereum хранит таблицу allowance бессрочно — срока действия нет, если approve не отозван явно. Таким образом, один approve, подписанный год назад, может сработать сегодня. Риск: чем больше накопленных approve — тем шире поверхность атаки.

Что такое approveMax=1 и почему это работает?

Стандарт ERC-20 не ограничивает сумму approve — dApp по умолчанию запрашивают «unlimited» ради удобства. Альтернатива: задавать approve строго на сумму текущей операции (например, 1 USDC для свопа на 1 USDC). После выполнения операции allowance обнуляется автоматически. Это называется «точный approve» или approveMax=1 в разговорном обиходе. Браузерные кошельки Rabby и MetaMask (начиная с версии 2024 года) позволяют редактировать сумму вручную перед подписью. Нюанс: каждый точный approve стоит дополнительный газ.

Как проверить, каким контрактам уже выданы разрешения?

Список активных allowance хранится в блокчейне и доступен любому. Инструменты: revoke.cash (мультисеть), Etherscan → Token Approvals (только Ethereum), встроенный менеджер Rabby Wallet. Подключите кошелёк, выберите сеть и смотрите таблицу: контракт, токен, сумма разрешения. Каждый revoke — отдельная транзакция с оплатой газа (~$0,5–3 в Ethereum mainnet, дешевле в L2). Рекомендация: проверять раз в квартал и сразу после взаимодействия с незнакомым dApp.

Источник: Approval phishing в DeFi: как работают разрешения кошелька

Защищает ли аппаратный кошелёк от approve-атак?

Частично. Ledger и Trezor требуют физического подтверждения каждой транзакции — это исключает автоматический вывод без вашего ведома. Функция Clear Signing (Ledger, активна с 2024) декодирует ERC-20 approve и показывает на экране устройства: токен, адрес получателя разрешения, сумму. Это позволяет заметить подозрительный контракт до подписи. Нюанс: аппаратный кошелёк не отменяет уже выданный approve — если вы уже подписали вредоносную транзакцию, нужен отдельный revoke.

Источник: Approval phishing walkthrough: разбор механики атаки

Можно ли остановить кражу после того, как дан approve?

Да, если вы успеете сделать revoke раньше, чем злоумышленник вызовет transferFrom. Зайдите на revoke.cash и отзовите разрешение. Если средства уже уходят — транзакцию в блокчейне не отменить, но revoke предотвратит повторные списания.

Эксклюзив от ИнвестХомяка

Стадии ice phishing атаки: от первого контакта до вывода средств

СтадияДействие злоумышленникаЧто видит жертва
1. ПриманкаФейковый dApp / Telegram-бот предлагает свап или бонусЗнакомый интерфейс, обещание выгоды
2. ApproveЖертва подписывает транзакцию с unlimited allowanceБаланс не изменился, всё «нормально»
3. ОжиданиеСкрипт мониторит баланс кошелька жертвыЖертва не подозревает о выданном праве
4. СливtransferFrom вызывается при максимальном балансеТокены исчезают за одну транзакцию

Unlimited approve vs. точный approve: сравнение рисков

КритерийUnlimited approveТочный approve
Сумма разрешенияМаксимум (2^256 − 1)Только сумма текущей операции
Срок действияБессрочно, пока не отозванОбнуляется после операции автоматически
Риск при компрометации контрактаПолный вывод всех токеновМаксимум — сумма одной транзакции
УдобствоПовторные операции без новых подписейКаждая операция требует новой подписи + газ
Поддержка в кошелькахВезде по умолчаниюRabby, MetaMask 2024+, Frame

Как проверить и очистить опасные approve: пошаговый план

  1. Откройте revoke.cash и подключите кошелёк

    Сервис поддерживает Ethereum, BNB Chain, Polygon, Arbitrum, Base и другие EVM-сети. Выберите нужную сеть и подключите кошелёк через MetaMask или Ledger.

  2. Изучите таблицу allowance

    Для каждого токена видны: адрес контракта-получателя, сумма разрешения и дата выдачи. Контракты с пометкой «Unverified» или задеплоенные недавно — первые кандидаты на отзыв.

  3. Отзовите разрешения для подозрительных контрактов

    Нажмите Revoke рядом с нужной строкой. Каждый revoke — отдельная транзакция; держите немного нативного токена сети на газ (ETH, BNB, MATIC и т.д.).

  4. Настройте точный approve для будущих операций

    В MetaMask при подписи approve нажмите «Изменить разрешение» и введите точную сумму операции. В Rabby это делается автоматически через встроенный менеджер разрешений.

  5. Повторяйте проверку ежеквартально

    Занимает 10–15 минут. Особенно актуально после участия в новых dApp, NFT-минтах или DeFi-протоколах — любое из этих взаимодействий могло добавить строку в таблицу allowance.

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

Можно ли остановить кражу после того, как дан approve?

Да, если вы успеете сделать revoke раньше, чем злоумышленник вызовет transferFrom. Зайдите на revoke.cash и отзовите разрешение. Если средства уже уходят — транзакцию в блокчейне не отменить, но revoke предотвратит повторные списания.

Работает ли ice phishing только с ERC-20 токенами?

Механика approve/transferFrom специфична для ERC-20 (и BEP-20, ERC-777 и других стандартов-аналогов на EVM-сетях). Для NFT существует аналог — setApprovalForAll, дающий право передавать все токены коллекции. В Solana та же атака реализуется через делегирование токен-аккаунта.

Как понять, что dApp запрашивает опасный approve?

Три признака: сумма разрешения — «максимальная» или очень крупная; адрес контракта не верифицирован на Etherscan; имя контракта не совпадает с сайтом dApp. Всегда сверяйте адрес контракта в блокчейн-обозревателе до подписи.

Облагается ли налогом потеря токенов от ice phishing в РФ?

Потери от мошенничества не уменьшают налоговую базу по НДФЛ. Доходы от операций с криптоактивами при этом облагаются по ставке 13% (до 2,4 млн ₽/год) или 15% сверх этого порога в соответствии с ФЗ-259 и позицией ФНС России.

Есть ли стандарт ERC, ограничивающий риски approve?

ERC-2612 добавляет функцию permit — подпись разрешения через off-chain сообщение без газа, с возможностью задать срок действия (deadline). Это не устраняет риск фишинга, но позволяет выдавать разрешения с ограниченным сроком. EIP-4337 (account abstraction) открывает более широкие возможности управления разрешениями на уровне смарт-контракт-аккаунта.

Истории участников клуба

Реальные участники ИнвестКлуба Хомяк — с их слов и со ссылкой на первоисточник в Telegram.

Наталья А.в клубе 1,5 года

Точка входазашла пробно на 1 месяц после рекламы

Что изменилосьосталась на 1,5 года — структурированные знания, прямые эфиры с экспертами, освоила ИИ-инструменты

«Когда-то я зашла пробно, на 1 месяц. Прошло 1,5 года, а я по-прежнему там. Один только искусственный интеллект чего стоит.»
история в Telegram →
Олегв клубе полгода

Точка входавозрастной скепсис, долго не решался зайти в закрытый клуб

Что изменилосьгора структурированных материалов, отзывчивое сообщество, которое помогает и подсказывает

«Возрастной скепсис мешал зайти — думал, всё как обычно. Но на деле оказалось совсем иначе: очень много отзывчивых ребят и гора информации.»
история в Telegram →

Что говорят участники клуба

«В Хомяке уже полтора года… кайфовое, живое сообщество. Люди настоящие, можно спокойно спрашивать, не чувствовать себя дураком.»
Олеготзыв в Telegram →
«Зашла пробно на 1 месяц. Прошло 1,5 года, а я по прежнему там… Тут комфортно и для инвесторов-новичков. Вся информация отлично структурирована.»
Наталья А.отзыв в Telegram →

Ещё реальные отзывы участников — t.me/traderreviews

Источники