Поддельный Uniswap, который забрал всё
Ноябрь 2024 года. Пользователь из Бишкека ищет в Google «uniswap». Первая реклама ведёт на uniswap-app[.]org — точную копию настоящего app.uniswap.org. Он подключает кошелёк, чтобы обменять ETH на USDC. Сайт просит подпись PermitBatch для «одобрения токенов без газа». Он подписывает.
В подписанный пакет Permit2 вошли USDC, USDT, DAI, WBTC и ещё четыре токена — все, что он раньше при обменах одобрял для Permit2. За восемь минут ушло 312 000 $.
Почему Permit2 особенно опасен при фишинге
Permit2 — универсальный контракт одобрений от Uniswap: один адрес контракта хранит разрешения для множества подключённых dApp. Подпишите вредоносный PermitBatch — и один адрес злоумышленника получает право одной подписью списать любые токены из списка. Проверки по каждому токену нет: кошелёк показывает запрос структурированной подписи со списком тикеров и одной кнопкой «Sign».
Четыре шага верификации перед любой подписью на Uniswap
- URL —
app.uniswap.org. Неuniswap-app[.]org, неuniswap.exchange, неuniswap.fi. Сохраните настоящий адрес в закладки и больше никогда не заходите через поиск. - Проверяйте spender, а не контракт. Раскройте полные детали запроса. Контракт Permit2 —
0x000000000022D473030F116dDEE9F6B43aC78BA3в сети Ethereum — в фишинговой подписи стоит точно так же, как в настоящей, поэтому сам по себе ничего не доказывает. Важно поле spender: при настоящем обмене на Uniswap это контракт-маршрутизатор Uniswap из официальной документации. Не можете сопоставить spender с документацией — отказывайтесь. - Список токенов должен совпадать с тем, что вы обмениваете. Обмен ETH на USDC тратит нативный ETH, которому permit вообще не нужен. Обмен одного токена должен касаться только этого токена, а не восьми.
- Срок действия не измеряется годами. Permit, который действует год и дольше, да ещё со spender, которого вы не можете опознать, — это подпись дрейнера «на потом».
Если подписали
У вас считаные минуты. Откройте кошелёк и переведите каждый токен из списка Permit на новый кошелёк — начиная с самых дорогих. Мелочь пропустите: газ тоже стоит денег. После — на revoke.cash отзовите одобрение каждого токена для Permit2, а заодно все оставшиеся там разрешения Permit2. Отзыв одобрения для Permit2 отрезает всех, кто тратит через него, включая атакующего.
Правило закладок
Не заходите в DeFi-протоколы через Google. При первом визите сверьте адрес с официальными каналами проекта, сохраните его в закладки и дальше открывайте только из закладки. Сегодня поисковая выдача — это скорее канал атаки, чем инструмент.