Фейковий Uniswap, що вичистив усе
Листопад 2024 року. Користувач із Києва гуглить «uniswap». Перший рекламний результат — uniswap-app[.]org, точнісінько як справжній app.uniswap.org. Він підключає гаманець, щоб обміняти ETH на USDC. Сайт просить підписати PermitBatch для «дозволу на токени без оплати газу». Він підписує.
Підписаний пакет Permit2 охоплював USDC, USDT, DAI, WBTC і ще чотири токени — усі, на які він раніше, під час попередніх обмінів, уже давав дозвіл Permit2. За вісім хвилин зникло 312 000 USD.
Чому Permit2 у руках фішерів особливо небезпечний
Permit2 — універсальний контракт дозволів від Uniswap. Одна адреса контракту має права в безлічі підключених до нього dApp. Підпишіть шкідливий PermitBatch — і одна адреса зловмисника одним підписом отримає право списати будь-які токени зі списку. Окремої перевірки кожного токена немає: гаманець показує запит структурованих даних зі списком символів і єдиною кнопкою «Sign».
Чотири перевірки перед будь-яким підписом на Uniswap
- Адреса сайту —
app.uniswap.org. Неuniswap-app[.]org, неuniswap.exchange, неuniswap.fi. Збережіть справжню адресу в закладках і більше ніколи не шукайте її через пошук. - Перевіряйте spender, а не контракт. Розгорніть повні деталі запиту. Контракт Permit2 —
0x000000000022D473030F116dDEE9F6B43aC78BA3в основній мережі Ethereum — у фішинговому підписі виглядає точнісінько так само, як у справжньому, тож він нічого не доводить. Важить поле spender: у справжньому обміні на Uniswap це контракт-маршрутизатор Uniswap, указаний в офіційній документації. Не можете звірити spender із цією документацією — відмовляйтеся. - Список токенів відповідає тому, що ви обмінюєте. Обмін ETH → USDC витрачає нативний ETH, і дозвіл на токени йому взагалі не потрібен. Обмін, що починається з одного токена, має стосуватися лише цього токена, а не восьми.
- Строк дії не розтягнутий на роки. Дозвіл, чинний рік і довше, разом зі spender, якого ви не впізнаєте, — це підпис дрейнера «на потім, коли руки дійдуть».
Якщо ви вже підписали
У вас лічені хвилини. Відкрийте гаманець і переведіть кожен токен зі списку дозволу на новий гаманець — від найдорожчого до найдешевшого. Дрібниці пропустіть — газ теж коштує грошей. Потім на revoke.cash відкличте дозвіл Permit2 на кожен токен разом з усіма дозволами, які там ще значаться. Відкликання дозволу Permit2 відрізає всіх, хто витрачає через нього, — зокрема й зловмисника.
Правило закладок
Не користуйтеся Google, щоб переходити на DeFi-протоколи. Під час першого візиту збережіть сайт у закладки, звірте адресу з офіційним акаунтом проєкту в X і більше від цього не відступайте. Пошуковик сьогодні — не інструмент, а один зі шляхів атаки.