Подключение кошелька к приложению само по себе средств не отдаёт: сайт получает публичный адрес и видит баланс, но распоряжаться активами не может. Опасность начинается на следующем шаге, когда приложение просит подпись или транзакцию. Поэтому порядок такой: найти адрес приложения самостоятельно, подключить отдельный кошелёк, прочитать каждый запрос до подтверждения и отозвать разрешения после работы.

Ниже — что именно видит приложение после подключения, четыре типа запросов и чем они различаются по последствиям, порядок подключения, работа с разрешениями и правила смены сети.

Что происходит при подключении

Действие выглядит как вход на сайт, но входом не является.

Кошелёк передаёт приложению публичный адрес — тот же, что виден в обозревателе блоков любому желающему. Приложение получает возможность показать баланс, историю и доступные действия, а также формировать запросы на подпись, которые вы будете подтверждать либо отклонять в интерфейсе своего кошелька.

Ключей оно не получает.

Приватный ключ не покидает кошелёк ни при подключении, ни при подписании — наружу уходит только результат подписи, поэтому «подключился и всё украли» технически невозможно без вашего отдельного подтверждения.

Что приложение получает Чего не получает
Публичный адрес кошелька Приватный ключ и резервную фразу
Баланс и историю операций Возможность переводить средства без подтверждения
Список токенов, лежащих на адресе Доступ к другим вашим кошелькам
Право формировать запросы на подпись операций Право подписывать за вас

Формально подключение кошелька — это предоставление сайту доступа к публичным сведениям об адресе и разрешение отправлять вам запросы на подтверждение операций. Ни один запрос не исполняется без вашего действия в интерфейсе кошелька, поэтому опасность создаёт не подключение, а то, что вы подтверждаете дальше.

Четыре типа запросов

Запрос Как выглядит Последствия Стоит ли газа
Подключение Просьба выбрать адрес Сайт видит баланс. Средства в безопасности Нет
Подпись сообщения Текст без суммы и комиссии От безобидного входа до выдачи прав на токены Нет
Разрешение на расходование Подтверждение доступа к токену Сторонний адрес получает право списывать токены Да
Транзакция Перевод, обмен, вызов контракта Средства двигаются немедленно Да

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

⚠ Подпись «для входа» и подпись, выдающая права на токены, выглядят в кошельке по-разному, но обе не требуют газа. Читайте содержимое окна: безобидный вход показывает текст с адресом сайта и датой, а опасный запрос упоминает доступ к вашим токенам либо неограниченный лимит расходования.

Порядок подключения

  1. Найдите приложение самостоятельно — через закладку либо поиск по названию проекта, а не по ссылке из переписки или рекламного блока.
  2. Сверьте адрес в строке браузера посимвольно, включая доменную зону.
  3. Подключайте отдельный кошелёк для незнакомых приложений: тот, где нет основных активов.
  4. Выберите один адрес, а не все доступные, если кошелёк это позволяет.
  5. Проверьте сеть. Приложение часто просит переключиться, и подтверждать это стоит осознанно.
  6. Прочитайте первый запрос целиком и решите, соответствует ли он тому, что вы собирались сделать.
  7. Отключите приложение после работы в настройках кошелька.

Третий шаг закрывает последствия. Отдельный адрес с небольшой суммой превращает потенциальную катастрофу в потерю, о которой вы забудете через неделю.

Что стоит помнить. Подключение не стоит газа и не двигает средства, тогда как разрешение на расходование и транзакция стоят и двигают, а выданное разрешение действует бессрочно и переживает отключение приложения, смену устройства и переустановку кошелька. Отключение сайта не отменяет выданных прав.

Как читать окно подтверждения

Кошелёк показывает достаточно, если знать, куда смотреть.

Что видно в окне О чём это говорит
Указана комиссия сети Это транзакция: средства или права изменятся немедленно
Комиссии нет Это подпись. Смотрите, что именно подписываете
Назван адрес получателя и сумма Обычный перевод — самый понятный и предсказуемый случай
Упомянут доступ к токену Выдача разрешения на расходование
Указан неограниченный лимит Право распоряжаться всем объёмом этого токена
Нечитаемый набор данных Вызов контракта, содержимое которого кошелёк не разобрал

Последняя строка — обрыв защиты. Кошелёк честно признаётся, что не понимает операцию, и решение остаётся за вами: доверять источнику запроса или отказаться от подтверждения.

Разумный ответ зависит от суммы на адресе. С отдельного кошелька, где лежит немного, такой запрос можно подтвердить и посмотреть на результат, а с основного — нет, независимо от того, насколько убедительно выглядит приложение.

Разрешения: главное недопонимание

Отключение возвращает не всё.

Это не так. Отключение убирает право сайта видеть ваш адрес и слать запросы, но разрешение на расходование токенов живёт на адресе в блокчейне и продолжает действовать: контракт, которому вы его выдали, вправе списывать токены и через год.

Отсюда два практических правила.

  • Ограничивайте лимит суммой операции, если кошелёк позволяет это при подтверждении
  • Отзывайте разрешение после разового взаимодействия, а не после того, как что-то случилось
  • Раз в квартал просматривайте список активных прав по каждому своему адресу
  • Отзыв — это транзакция: он стоит газа, и планировать его лучше на спокойную сеть
  • После инцидента отзыв делают в первую очередь, не дожидаясь выяснения обстоятельств

Первый пункт стоит усилий. Неограниченный лимит удобен приложению и не нужен вам: разница между «разрешить на сумму операции» и «разрешить на всё» проявляется в тот день, когда контракт окажется уязвимым или недобросовестным.

Если что-то пошло не так

Порядок действий тот же, что при любом подозрении на компрометацию, и медлить в нём нельзя.

  1. Откройте сервис проверки разрешений для своего адреса и посмотрите список активных прав по всем сетям.
  2. Отзовите подозрительные разрешения, начиная с самых крупных позиций.
  3. Переведите оставшиеся активы на чистый адрес, если разрешение выдано на значимую сумму.
  4. Отключите приложение в настройках кошелька и удалите сеть, если добавляли её по его просьбе.
  5. Зафиксируйте всё: адрес сайта, время, хеши операций, снимки экрана.
  6. Не платите за возврат. Предложения вернуть средства за предоплату — вторая волна обмана.

Порядок первых двух шагов иногда меняется. Если разрешение выдано на токен, которого у вас много, вывод активов срабатывает быстрее отзыва — транзакция отзыва рискует не попасть в блок раньше злоумышленника, наблюдающего за сетью.

Смена сети и что при этом происходит

Запрос выглядит техническим. Потому и проскакивает без внимания.

Смысл простой. Приложение работает в конкретной сети и просит кошелёк смотреть туда же, само переключение безопасно, а вот добавление неизвестной сети вручную — нет.

Проверять стоит три вещи.

  1. Название и идентификатор сети — они должны совпадать с официальными данными проекта, а не с тем, что подставил сайт.
  2. Адрес узла, через который кошелёк будет обращаться к сети: подставленный посторонний узел видит вашу активность и способен показывать неверные данные.
  3. Символ основной монеты: подмена названия — приём, рассчитанный на невнимательность при подтверждении операций.

Второй пункт недооценивают почти все. Узел не может подписать за вас операцию, но может показать неверный баланс и подсунуть некорректные данные для формирования транзакции — и вы подтвердите не то, что видите.

Чек-лист

  • ✓ Адрес приложения найден самостоятельно
  • ✓ Домен сверен посимвольно, включая доменную зону
  • ✓ Подключён отдельный кошелёк без основных активов
  • ✓ Тип каждого запроса определён: подключение, подпись, разрешение или транзакция
  • ✓ Лимит расходования ограничен суммой конкретной операции
  • ✓ Приложение отключено в настройках кошелька после работы
  • ✓ Разрешения отозваны, а не только отключён сайт
  • ✗ Не подписывать текст, смысла которого не понимаете
  • ✗ Не выдавать неограниченный лимит без необходимости
  • ✗ Не добавлять сети и адреса узлов по просьбе незнакомого сайта

Порядок проверки страницы до подключения разобран в материале про проверку до подключения кошелька, а признаки поддельных расширений — в тексте про поддельные расширения кошельков.

Частые вопросы

Может ли сайт увести средства сразу после подключения

Нет. Подключение даёт доступ к публичным сведениям и право слать запросы, а любое движение средств требует вашего подтверждения в кошельке. Опасность в том, что подтверждение получают обманом: показывают безобидный текст вместо выдачи прав на токены.

Видит ли приложение мои другие кошельки

Только выбранные вами. Остальные кошельки в том же расширении приложению недоступны, а средства на других устройствах — тем более, поэтому выбор одного адреса вместо всех доступных остаётся разумной привычкой.

Нужно ли отключать приложение после каждой сессии

Смотря каких. Для приложений, которыми пользуетесь постоянно, необязательно, а для разовых взаимодействий — да, вместе с отзывом выданных разрешений. Отключение само по себе прав на токены не снимает.

Что означает запрос неограниченного лимита

Постоянно открытую дверь. Контракт получает право списывать любое количество этого токена с вашего адреса в любой момент, а приложения просят так ради удобства: не придётся подтверждать разрешение перед каждой операцией. На странице раздачи такой запрос означает подготовку к краже.

Защищает ли аппаратный кошелёк при работе с приложениями

Частично. Ключ остаётся в устройстве, а операция подтверждается на его экране, что защищает от подмены адреса вредоносной программой. От выдачи разрешения обманом устройство не спасает: если вы подтвердите запрос, оно исполнит подтверждённое.

Куда идти дальше

Проверка ссылки — первый рубеж. Порядок разбора адреса страницы собран в материале про проверку ссылки перед подключением кошелька, а годовая гигиена хранения — в чек-листе безопасности криптокошелька.

Первоисточники: разбор случая с потерей средств из-за одной подписи и сервис проверки и отзыва выданных разрешений.

Вердикт

Подключение безопасно, подтверждение — нет. Вся разница между спокойной работой и потерей средств умещается в несколько секунд чтения окна перед нажатием кнопки.

Моя позиция такая. Держите отдельный кошелёк под приложения, ограничивайте лимиты суммой операции и раз в квартал снимайте разрешения, которыми больше не пользуетесь.

Разборы схем и предупреждения о новых приёмах публикуем в Telegram-канале Cryptium.