Фейковый Uniswap, который вычистил всё

Ноябрь 2024. Москвич гуглит «uniswap». Первый рекламный результат — uniswap-app.org, выглядит идентично настоящему app.uniswap.org. Он подключает кошелёк, чтобы свапнуть ETH на USDC. Сайт просит подпись PermitBatch для «безгазового одобрения токенов». Он подписывает.

Подписанный Permit2 batch включал USDC, USDT, DAI, WBTC и четыре других токена — все ERC-20 в кошельке. За восемь минут утекло 312 000 USD.

Почему Permit2 при фишинге особенно опасен

Permit2 — универсальный контракт одобрений от Uniswap. Один адрес контракта держит права во множестве интегрированных dApp. Подпишите вредоносный PermitBatch — и один атакующий адрес получает право списать любые токены в списке одной подписью. Никакого пер-токен-обзора: кошелёк показывает typed-data-промпт со списком символов и единственной кнопкой «Sign».

Четыре шага верификации перед любой подписью на Uniswap

  • URL — app.uniswap.org. Не uniswap-app.org, не uniswap.exchange, не uniswap.fi. Закладка на настоящий и больше никогда через поиск.
  • Подпись показывает spender-адрес. Откройте «Show full» в MetaMask. Легитимный Permit2 на Ethereum mainnet — 0x000000000022D473030F116dDEE9F6B43aC78BA3. Если spender другой — отказывайтесь.
  • Список токенов соответствует тому, что вы свапаете. Свап ETH → USDC должен запрашивать permit максимум на USDC, а не на восемь токенов.
  • Дедлайн короткий. Реальный Permit2 от Uniswap по умолчанию ставит 30 дней. Дедлайн «год 2099» — это «когда руки дойдут» от дрейнера.

Если подписали

У вас минуты. Откройте кошелёк, переведите каждый токен из списка Permit на свежий, в порядке убывания долларовой стоимости. Мелочь пропустите — газ важен. После — на revoke.cash, отзовите каждый активный permit на Permit2.

Правило закладок

Я не использую Google для навигации к DeFi-протоколам. Закладка при первом визите, верификация через Twitter-кроссчек, и никогда не отклоняться. Поисковые системы — это вектор атаки сейчас, а не инструмент.