🛡️ Уровень 2 — «Безопасная работа»

Учебные атаки и защита на testnet · узнавать ловушки, отклонять, отзывать доступы

Уровень 1 учил пользоваться кошельком: адрес, сеть, газ, перевод, approve. Уровень 2 учит не потерять средства: как выглядят типовые атаки (drainer'ы), по каким красным флагам их узнавать и как закрывать выданные разрешения.

Пройди по порядку: сначала три ловушки (увидишь атаку и сработавший детектор кошелька), затем защиту (сам отзовёшь опасное разрешение), и в конце — итог с чеклистом.

⚙️ Где что крутится. Ловушки работают на локальной тест-цепи (anvil, Docker) — подними её командой tools/anvil.sh start перед трапами (и stop после). Урок защиты (revoke) идёт на живой Sepolia, Docker не нужен. Всё на тестовых сетях, реальные средства не задействованы.
Атаки — узнай и отклони
1

«Наградной сайт» — approve-drainer ✓ открывал

dApp просит неограниченный approve на твой токен «для награды» — и контракт-дрейнер уводит весь баланс одним transferFrom. Красный флаг — Ф1-детект «НЕОГРАНИЧЕННО».

Открыть ловушку → нужен anvil (Docker)
2

«Награда по подписи» — permit-drainer ✓ открывал

permit (EIP-2612) — оффчейн-подпись разрешения, опаснее обычного approve: газ не платишь, а доступ выдаёшь. Детект покажет «Permit — это разрешение», неограниченный value, spender и deadline.

Открыть ловушку → нужен anvil (Docker)
3

«Тебе airdrop!» — fake-airdrop ✓ открывал

Незапрошенный «подарок» — наживка. Чтобы «забрать», тебя просят approve на твой настоящий токен, а не на подарок. Правило: не взаимодействовать с незапрошенными токенами, проверять адрес целиком.

Открыть ловушку → нужен anvil (Docker)
Защита — закрой дыру
4

Отзыв разрешений (revoke) ✓ открывал

Обратная сторона: сам выдашь unlimited approve на живом testnet и отзовёшь его (allowance ∞ → approve 0). Плюс гигиена: Etherscan «Token Approvals», revoke.cash.

Открыть урок → Sepolia · без Docker
5

Похожий адрес — address poisoning ✓ открывал

Атакующий «отравляет» историю переводом с адреса-двойника: совпадают начало и конец, середина другая. Скопируешь получателя из истории — деньги уйдут ему. Учимся сверять весь адрес и ловить флаг.

Открыть урок → Sepolia · без Docker
Итог

🎓 Что ты усвоил на Уровне 2

Четыре ситуации — одна привычка: читать окно кошелька. В трёх у тебя выманивают доступ к средствам (approve/permit/airdrop), в четвёртой — подменяют получателя (похожий адрес). Узнавай красный флаг, отклоняй, а уже выданное — отзывай.

Вывод: approve и подпись — это выданный ключ, а не «кнопка ОК». Давай минимум под операцию, отзывай после, периодически проверяй список выданных разрешений (Etherscan «Token Approvals», revoke.cash — только по проверенной закладке; настоящий инструмент никогда не просит seed-фразу).

← Уровень 1 (8 шагов) · выпускной L1 ·