Трейдер потерял почти $50 миллионов в USDT после атаки типа «address poisoning», когда мошенник подменил адрес получателя, маскируя его под настоящий. Инцидент произошёл 20 декабря и завершился переводом 49,999,950 USDT на кошелёк злоумышленника. По данным onchain‑исследователя Specter, это подчёркивает уязвимость привычных пользовательских действий в сочетании с особенностями интерфейсов кошельков.
Что произошло?
Суть инцидента — подмена адреса в истории транзакций: злоумышленник сгенерировал фальшивый vanity‑адрес, совпадающий с легитимным по первым и последним четырём символам, и внес в историю жертвы небольшую транзакцию от этого адреса. Жертва сначала выполнил тестовую отправку в 50 USDT на свой настоящий адрес, а затем скопировал адрес из истории и переслал оставшуюся сумму — 49,999,950 USDT — на поддельный кошелёк. В результате почти $50 млн ушли к мошеннику, что привело к быстрой цепочке обменов и отмыванию средств.
Механизм мошенничества
Атака была проста по идее, но эффективна на практике: сначала жертва сделал тестовую транзакцию в 50 USDT на свой реальный адрес, что позволило злоумышленнику отследить активность. Мошенник сразу сгенерировал spoofed vanity‑адрес, совпадающий с первыми и последними четырьмя символами легитимного адреса, после чего отправил незначительную сумму с этого фейкового адреса, «отравив» историю транзакций жертвы. Из‑за того, что многие интерфейсы показывают адресы усечённо с эллипсисами, поддельный адрес выглядел идентично на первый взгляд, и жертва случайно скопировал неправильный адрес из истории.
Движение украденных средств
В течение получаса после перевода 49,999,950 USDT средства были обменяны на DAI, затем DAI конвертировали в примерно 16,690 ETH, после чего средства пропустили через Tornado Cash. Такое последовательное перемещение и конвертация усложнили отслеживание и возврат активов, что также демонстрирует способы быстрой ликвидизации крупных сумм в криптовалютах. Для сравнения с другими крупными переводами и движением ETH см. примеры крупных переводов USDT и случаи с выводом ETH.
Реакция жертвы
После обнаружения кражи владелец отправил onchain‑сообщение злоумышленнику с предложением $1 млн в качестве white‑hat‑вознаграждения за возврат 98% средств. Несмотря на это, по состоянию на 21 декабря активы не были возвращены. Случай привлёк внимание сообщества и экспертов, которые предупреждают о росте подобных low‑tech, high‑reward атак.
Рекомендации по безопасности
- Всегда берите адрес получателя из вкладки «Получить» в собственном кошельке, а не из истории транзакций или внешних источников.
- Вносьте проверенные адреса в белый список в кошельке — это снизит риск ручной ошибки при вводе или копировании адреса.
- Рассмотрите использование аппаратных или других устройств, которые требуют физического подтверждения полного адреса получателя, чтобы исключить подмену через усечение адреса в интерфейсе.
Почему это важно
Даже одна ошибка при копировании адреса может привести к катастрофической потере средств, независимо от объёма ваших мощностей — от одного устройства до тысячи. Для майнера в России это означает, что привычная операция с кошельком, выполненная по шаблону, может обернуться полной потерей ликвидности, если вы переводите или объединяете крупные суммы. Экономическая и оперативная доступность обменных инструментов позволяет мошенникам быстро конвертировать и скрыть краденые активы.
Что делать?
- Перед переводом средств всегда сначала отправьте небольшую тестовую сумму и подтвердите, что адрес — тот же, но не копируйте адрес из истории; используйте «Получить» в кошельке.
- Добавьте критические адреса (например, собственный холодный кошелёк или доверенные обменники) в белый список, чтобы не вводить их вручную.
- Если перевод серьёзен — требуйте физического подтверждения полного адреса на устройстве и сверяйте первые и последние символы адреса перед подтверждением.
- Сохраняйте логи и транзакции — при утрате средств это пригодится для коммуникации с сообществом и попыток отслеживания средств.