Безопасность при подключении криптокошелька

Простыми словами
Когда вы подключаете кошелёк к сайту или приложению, риск кроется не в самом подключении, а в правах, которые вы этому сайту даёте, нажимая кнопку «Разрешить». Само подключение лишь позволяет сайту увидеть ваш адрес и запрашивать у вас подписи. Само по себе это ещё не рисковое действие. Рискованно то, что вы подтверждаете после него.
Главное такое право называют approve, то есть разрешение. Своей подписью вы выдаёте что-то вроде доверенности на ваш токен: по ней смарт-контракт сможет списывать этот токен, когда сайту это понадобится. Для честного обмена это удобно, но доверенность продолжает действовать и после сделки, пока вы сам её не отзовёте, а если она попала не в те руки или вы выдали её слишком широкой, ею могут воспользоваться против вас.
Запомните сразу: подключение кошелька и approve никогда не требуют seed-фразы. Любая просьба ввести seed-фразу на сайте — это обман, о таком рассказывают статьи фишинг и скам и что такое seed-фраза.
Глубже
Что вы на самом деле подписываете и куда смотреть
Когда сайт просит подпись, кошелёк показывает окно с деталями. Приучитесь читать в нём три вещи: какому контракту, то есть какому адресу, вы даёте право, на какой токен и на какую сумму. Именно из этих трёх полей и понятно, что у вас просят.
Подписи бывают разные, и их важно различать.
Простая подпись-вход лишь подтверждает, что адрес ваш. Она ничего не списывает и ничего не меняет в блокчейне, поэтому она безопасна, и соглашаться на неё нормально.
Разрешение тратить ваш токен, тот самый approve, это уже право распоряжаться деньгами, и вот здесь нужна осторожность. Опасный признак — когда сумма разрешения ничем не ограничена, это называют безлимитным approve. Безлимитное разрешение удобно тем, что не переспрашивает при каждой сделке, но и опаснее: если у контракта найдётся уязвимость или он изначально вредоносный, под угрозой окажется весь ваш баланс этого токена, а не одна разовая сумма. Поэтому, когда кошелёк даёт выбрать сумму, лучше ограничить её тем, что нужно для конкретной операции.
Есть и подписи, которые выглядят безобидно, но по сути тоже открывают доступ к деньгам. Часть таких разрешений бесплатны и не сразу видны в блокчейне. Например, механизм permit, а в новых приложениях общий механизм Permit2, где одно разрешение работает сразу для нескольких сервисов и имеет свой лимит и срок. По последствиям это то же самое approve, просто подписанное другим способом. Правило тут простое: не понимаете, что именно у вас просят и на какую сумму, не подписывайте.
Как уводят средства: фишинг и просто мошенничество
Здесь стоит различать две ловушки.
Первая — фишинг, то есть подделка. Вас приводят на сайт-двойник настоящей биржи или кошелька: картинка та же, а адрес чужой. Вы вводите данные или подписываете approve, думая, что имеете дело с известным сервисом.
Вторая — обычное мошенничество, где сайт вообще не притворяется чужим. Это может быть «супер-обменник без комиссий» или щедрая «раздача» — с виду самостоятельный сервис, которого раньше не было. Подделывать ничего и не нужно: достаточно заманить вас выгодой и получить одну широкую подпись.
Дальше в обоих случаях одно и то же: вредоносный контракт пользуется выданным правом и выводит ваш токен. Блокчейн при этом не взломан, ведь доступ вы подписали сам, а отменить перевод задним числом нельзя. Поэтому и защищаться нужно до подписи, а не после.
Как подключаться и подписывать безопасно
Главное правило одно: не подключайте кошелёк с основными деньгами куда попало. Чем меньше сайтов видели ваш основной адрес и получали от него подписи, тем спокойнее.
Если собираетесь что-то пробовать или заходить на новые сайты, заведите для этого отдельный кошелёк и держите на нём только небольшую сумму под конкретную задачу. Да, придётся держать на каждом кошельке немного монеты сети на комиссию, но это и есть цена страховки: даже если подпишете что-то плохое, на отдельном кошельке терять почти нечего. Сбережения при этом лежат отдельно, а как их хранить, разобрано в статье как хранить криптовалюту.
Дальше идут привычки на каждый день. Понимайте, что именно вы разрешаете: перед подписью смотрите на контракт, токен и сумму, а если что-то непонятно, не подтверждайте. Где можно, ограничивайте сумму разрешения нужным минимумом вместо безлимитного. Время от времени отзывайте старые разрешения, которые больше не нужны: такой отзыв, его называют revoke, тоже операция с комиссией сети, поэтому удобно разобрать их за один заход. Наконец, заходите на сайты вручную, по проверенному адресу, а не по ссылкам из рекламы и писем, сверяя адрес контракта (см. фишинг и скам).
Аппаратный кошелёк здесь помогает вдвойне: он показывает детали подписи на своём экране, так что вы видите, что подтверждаете, даже если компьютер заражён.