Подключение кошелька к приложению само по себе средств не отдаёт: сайт получает публичный адрес и видит баланс, но распоряжаться активами не может. Опасность начинается на следующем шаге, когда приложение просит подпись или транзакцию. Поэтому порядок такой: найти адрес приложения самостоятельно, подключить отдельный кошелёк, прочитать каждый запрос до подтверждения и отозвать разрешения после работы.
Ниже — что именно видит приложение после подключения, четыре типа запросов и чем они различаются по последствиям, порядок подключения, работа с разрешениями и правила смены сети.
Что происходит при подключении
Действие выглядит как вход на сайт, но входом не является.
Кошелёк передаёт приложению публичный адрес — тот же, что виден в обозревателе блоков любому желающему. Приложение получает возможность показать баланс, историю и доступные действия, а также формировать запросы на подпись, которые вы будете подтверждать либо отклонять в интерфейсе своего кошелька.
Ключей оно не получает.
Приватный ключ не покидает кошелёк ни при подключении, ни при подписании — наружу уходит только результат подписи, поэтому «подключился и всё украли» технически невозможно без вашего отдельного подтверждения.
| Что приложение получает | Чего не получает |
|---|---|
| Публичный адрес кошелька | Приватный ключ и резервную фразу |
| Баланс и историю операций | Возможность переводить средства без подтверждения |
| Список токенов, лежащих на адресе | Доступ к другим вашим кошелькам |
| Право формировать запросы на подпись операций | Право подписывать за вас |
Формально подключение кошелька — это предоставление сайту доступа к публичным сведениям об адресе и разрешение отправлять вам запросы на подтверждение операций. Ни один запрос не исполняется без вашего действия в интерфейсе кошелька, поэтому опасность создаёт не подключение, а то, что вы подтверждаете дальше.
Четыре типа запросов
| Запрос | Как выглядит | Последствия | Стоит ли газа |
|---|---|---|---|
| Подключение | Просьба выбрать адрес | Сайт видит баланс. Средства в безопасности | Нет |
| Подпись сообщения | Текст без суммы и комиссии | От безобидного входа до выдачи прав на токены | Нет |
| Разрешение на расходование | Подтверждение доступа к токену | Сторонний адрес получает право списывать токены | Да |
| Транзакция | Перевод, обмен, вызов контракта | Средства двигаются немедленно | Да |
Вторая строка обманчива. Подпись не стоит газа и не выглядит операцией с деньгами, но по отдельным стандартам она равносильна выдаче разрешения — злоумышленнику остаётся отправить её в сеть самому, в удобный момент.
⚠ Подпись «для входа» и подпись, выдающая права на токены, выглядят в кошельке по-разному, но обе не требуют газа. Читайте содержимое окна: безобидный вход показывает текст с адресом сайта и датой, а опасный запрос упоминает доступ к вашим токенам либо неограниченный лимит расходования.
Порядок подключения
- Найдите приложение самостоятельно — через закладку либо поиск по названию проекта, а не по ссылке из переписки или рекламного блока.
- Сверьте адрес в строке браузера посимвольно, включая доменную зону.
- Подключайте отдельный кошелёк для незнакомых приложений: тот, где нет основных активов.
- Выберите один адрес, а не все доступные, если кошелёк это позволяет.
- Проверьте сеть. Приложение часто просит переключиться, и подтверждать это стоит осознанно.
- Прочитайте первый запрос целиком и решите, соответствует ли он тому, что вы собирались сделать.
- Отключите приложение после работы в настройках кошелька.
Третий шаг закрывает последствия. Отдельный адрес с небольшой суммой превращает потенциальную катастрофу в потерю, о которой вы забудете через неделю.
Что стоит помнить. Подключение не стоит газа и не двигает средства, тогда как разрешение на расходование и транзакция стоят и двигают, а выданное разрешение действует бессрочно и переживает отключение приложения, смену устройства и переустановку кошелька. Отключение сайта не отменяет выданных прав.
Как читать окно подтверждения
Кошелёк показывает достаточно, если знать, куда смотреть.
| Что видно в окне | О чём это говорит |
|---|---|
| Указана комиссия сети | Это транзакция: средства или права изменятся немедленно |
| Комиссии нет | Это подпись. Смотрите, что именно подписываете |
| Назван адрес получателя и сумма | Обычный перевод — самый понятный и предсказуемый случай |
| Упомянут доступ к токену | Выдача разрешения на расходование |
| Указан неограниченный лимит | Право распоряжаться всем объёмом этого токена |
| Нечитаемый набор данных | Вызов контракта, содержимое которого кошелёк не разобрал |
Последняя строка — обрыв защиты. Кошелёк честно признаётся, что не понимает операцию, и решение остаётся за вами: доверять источнику запроса или отказаться от подтверждения.
Разумный ответ зависит от суммы на адресе. С отдельного кошелька, где лежит немного, такой запрос можно подтвердить и посмотреть на результат, а с основного — нет, независимо от того, насколько убедительно выглядит приложение.
Разрешения: главное недопонимание
Отключение возвращает не всё.
Это не так. Отключение убирает право сайта видеть ваш адрес и слать запросы, но разрешение на расходование токенов живёт на адресе в блокчейне и продолжает действовать: контракт, которому вы его выдали, вправе списывать токены и через год.
Отсюда два практических правила.
- Ограничивайте лимит суммой операции, если кошелёк позволяет это при подтверждении
- Отзывайте разрешение после разового взаимодействия, а не после того, как что-то случилось
- Раз в квартал просматривайте список активных прав по каждому своему адресу
- Отзыв — это транзакция: он стоит газа, и планировать его лучше на спокойную сеть
- После инцидента отзыв делают в первую очередь, не дожидаясь выяснения обстоятельств
Первый пункт стоит усилий. Неограниченный лимит удобен приложению и не нужен вам: разница между «разрешить на сумму операции» и «разрешить на всё» проявляется в тот день, когда контракт окажется уязвимым или недобросовестным.
Если что-то пошло не так
Порядок действий тот же, что при любом подозрении на компрометацию, и медлить в нём нельзя.
- Откройте сервис проверки разрешений для своего адреса и посмотрите список активных прав по всем сетям.
- Отзовите подозрительные разрешения, начиная с самых крупных позиций.
- Переведите оставшиеся активы на чистый адрес, если разрешение выдано на значимую сумму.
- Отключите приложение в настройках кошелька и удалите сеть, если добавляли её по его просьбе.
- Зафиксируйте всё: адрес сайта, время, хеши операций, снимки экрана.
- Не платите за возврат. Предложения вернуть средства за предоплату — вторая волна обмана.
Порядок первых двух шагов иногда меняется. Если разрешение выдано на токен, которого у вас много, вывод активов срабатывает быстрее отзыва — транзакция отзыва рискует не попасть в блок раньше злоумышленника, наблюдающего за сетью.
Смена сети и что при этом происходит
Запрос выглядит техническим. Потому и проскакивает без внимания.
Смысл простой. Приложение работает в конкретной сети и просит кошелёк смотреть туда же, само переключение безопасно, а вот добавление неизвестной сети вручную — нет.
Проверять стоит три вещи.
- Название и идентификатор сети — они должны совпадать с официальными данными проекта, а не с тем, что подставил сайт.
- Адрес узла, через который кошелёк будет обращаться к сети: подставленный посторонний узел видит вашу активность и способен показывать неверные данные.
- Символ основной монеты: подмена названия — приём, рассчитанный на невнимательность при подтверждении операций.
Второй пункт недооценивают почти все. Узел не может подписать за вас операцию, но может показать неверный баланс и подсунуть некорректные данные для формирования транзакции — и вы подтвердите не то, что видите.
Чек-лист
- ✓ Адрес приложения найден самостоятельно
- ✓ Домен сверен посимвольно, включая доменную зону
- ✓ Подключён отдельный кошелёк без основных активов
- ✓ Тип каждого запроса определён: подключение, подпись, разрешение или транзакция
- ✓ Лимит расходования ограничен суммой конкретной операции
- ✓ Приложение отключено в настройках кошелька после работы
- ✓ Разрешения отозваны, а не только отключён сайт
- ✗ Не подписывать текст, смысла которого не понимаете
- ✗ Не выдавать неограниченный лимит без необходимости
- ✗ Не добавлять сети и адреса узлов по просьбе незнакомого сайта
Порядок проверки страницы до подключения разобран в материале про проверку до подключения кошелька, а признаки поддельных расширений — в тексте про поддельные расширения кошельков.
Частые вопросы
Может ли сайт увести средства сразу после подключения
Нет. Подключение даёт доступ к публичным сведениям и право слать запросы, а любое движение средств требует вашего подтверждения в кошельке. Опасность в том, что подтверждение получают обманом: показывают безобидный текст вместо выдачи прав на токены.
Видит ли приложение мои другие кошельки
Только выбранные вами. Остальные кошельки в том же расширении приложению недоступны, а средства на других устройствах — тем более, поэтому выбор одного адреса вместо всех доступных остаётся разумной привычкой.
Нужно ли отключать приложение после каждой сессии
Смотря каких. Для приложений, которыми пользуетесь постоянно, необязательно, а для разовых взаимодействий — да, вместе с отзывом выданных разрешений. Отключение само по себе прав на токены не снимает.
Что означает запрос неограниченного лимита
Постоянно открытую дверь. Контракт получает право списывать любое количество этого токена с вашего адреса в любой момент, а приложения просят так ради удобства: не придётся подтверждать разрешение перед каждой операцией. На странице раздачи такой запрос означает подготовку к краже.
Защищает ли аппаратный кошелёк при работе с приложениями
Частично. Ключ остаётся в устройстве, а операция подтверждается на его экране, что защищает от подмены адреса вредоносной программой. От выдачи разрешения обманом устройство не спасает: если вы подтвердите запрос, оно исполнит подтверждённое.
Куда идти дальше
Проверка ссылки — первый рубеж. Порядок разбора адреса страницы собран в материале про проверку ссылки перед подключением кошелька, а годовая гигиена хранения — в чек-листе безопасности криптокошелька.
Первоисточники: разбор случая с потерей средств из-за одной подписи и сервис проверки и отзыва выданных разрешений.
Вердикт
Подключение безопасно, подтверждение — нет. Вся разница между спокойной работой и потерей средств умещается в несколько секунд чтения окна перед нажатием кнопки.
Моя позиция такая. Держите отдельный кошелёк под приложения, ограничивайте лимиты суммой операции и раз в квартал снимайте разрешения, которыми больше не пользуетесь.
Разборы схем и предупреждения о новых приёмах публикуем в Telegram-канале Cryptium.
Обсуждение
Добавить комментарий