Запрос подписи кошелька: что вы подтверждаете?

Запрос подписи кошелька: что вы подтверждаете?

Marcus Reid
8 сентября 2026 г.· Обновлено 10 сентября 2026 г.· 9 мин чтения

Запрос подписи кошелька предлагает использовать приватный ключ выбранного аккаунта для авторизации данных. До подтверждения независимо проверьте сайт, определите тип запроса — транзакция, обычное сообщение, вход или типизированные данные (typed data) — и сверьте действие, аккаунт, сеть, контрагента, активы, лимиты, nonce, срок действия (deadline) и проверяющий контракт (verifying contract).

Ключевые выводы

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

Что может разрешить запрос подписи кошелька?

Фраза «подписать сообщение» слишком широка для решения. Кошелёк подписывает несколько классов данных, и последствия у них разные.

ТипОбычная задачаЧто проверятьГлавный риск
ТранзакцияОтправка актива или вызов контрактасеть, получатель, сумма (value), метод контракта, движение токенов, газИсполнение после отправки
Обычное сообщениеДоказательство владения адресом или согласие с текстомточный текст, контекст домена, nonce, цельНепрозрачные байты или повторное использование
Сообщение входаАутентификация без пароляdomain, URI, аккаунт, сеть, nonce, время выпуска и срокВход на поддельный сервис или повторное использование (replay)
Типизированные структурированные данныеPermit, ордер, делегирование, получение или голосdomain separator, контракт, spender, актив, лимит, nonce, deadlineОфлайн-полномочие, которое позже отправит другая сторона

EIP-712 задаёт стандарт хеширования и подписи структурированных данных с разделением домена и полями, пригодными для показа человеку. При этом документ прямо говорит, что сам стандарт не обеспечивает защиту от повторного использования подписи (replay).[1] Приложение всё равно должно правильно обработать nonce, срок, сеть, контракт и проверку.

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

Как проверить запрос подписи кошелька до подтверждения?

Используйте одинаковую последовательность, чтобы срочность не скрыла поле.

  1. Проверьте источник. Откройте сервис из закладки, официальной документации или вручную набранного адреса. Смотрите на внешнюю адресную строку браузера.
  2. Сверьте аккаунт и сеть. Легитимный запрос для неверного аккаунта или chain остаётся нежелательным.
  3. Определите класс. Это транзакция, обычное сообщение, вход или typed data?
  4. Опишите действие одним предложением. Например: «Контракт X сможет потратить не более Y токенов Z до времени T». Если это невозможно, откажитесь.
  5. Проверьте контрагента. Найдите recipient, spender, operator, delegate или verifying contract в независимом источнике.
  6. Ограничьте область. Посмотрите актив, сумму, approval cap, параметры ордера, коллекцию и отсутствие безлимитного права.
  7. Проверьте актуальность. Сверьте nonce, время выпуска, срок действия, истечение и идентификатор сети.
  8. Сопоставьте цель и эффект. Кнопка проверки кошелька не должна создавать перевод, безлимитный approval, ордер или делегирование.
  9. При сомнении закройте запрос и откройте сервис заново. Подписывать ради наблюдения нельзя.

MetaMask описывает фишинг с подписями (signature phishing) как ситуацию, где человека заставляют подписать данные, пригодные атакующему, пока страница рассказывает о другом действии.[2] Отображаемые кошельком поля важны, но неполный интерфейс не доказывает безопасность скрытого содержания.

Какие поля typed data важнее всего?

Структурированный формат понятнее сырых байтов, однако красивые названия полей не удостоверяют источник. Читайте домен и сообщение вместе.

Поля домена

  • name и version: называют заявленный приложением домен подписи;
  • chainId: при корректной реализации связывает запрос с сетью;
  • verifyingContract: указывает контракт, который должен проверить подпись;
  • salt и дополнительные данные: могут разделять среды и развёртывания.

Поля сообщения

  • owner или signer: должны совпадать с выбранным аккаунтом;
  • spender, operator, delegate, recipient или taker: показывают, кто получает полномочие;
  • token, collection, order или asset: определяют затронутый объект;
  • value, amount, cap, price или quantity: ограничивают экономический масштаб;
  • nonce: препятствует повтору, если проверяющая система правильно его расходует;
  • deadline или expiry: ограничивают время предъявления;
  • поля действия: могут кодировать ордер, голос, claim, вывод, bridge или делегирование.

Адрес контракта проверяйте по официальной документации протокола или независимо открытому обозревателю. Символ токена и имя домена в окне могут поступить от недоверенного кода и не являются удостоверением.

Почему подпись без оплаты газа не обязательно безопасна?

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

Работа Ethereum Foundation над понятными подписями (clear signing) направлена на показ понятного смысла транзакций и разрешений вместо непрозрачных хешей.[3] Более ясный экран уменьшает неоднозначность, но не решает, доверяете ли вы сайту, контрагенту, контракту, области активов и самой задаче.

Фразы «без комиссии значит без риска», «это только проверка» и «сначала подпишите, потом отменим» требуют остановки. Выясните, какой именно проверяющий контракт принимает подпись и какое изменение состояния он способен вызвать.

Какие несоответствия требуют отказа?

Не подтверждайте запрос, если:

  • домен браузера отличается от сервиса, который вы собирались использовать;
  • выбран неверный аккаунт или сеть;
  • страница обещает вход, а кошелёк выдаёт токен, NFT, ордер или делегирование;
  • spender либо verifying contract неизвестен или не совпадает с официальным адресом;
  • сумма не ограничена либо значительно больше текущей задачи;
  • deadline отсутствует, слишком далёк, истёк или не читается;
  • показаны сырые байты, сокращённые поля или необъяснимое предупреждение;
  • сотрудник «поддержки», личное сообщение или звонящий ведёт вас через подпись;
  • страница фальшивого аирдропа запрашивает seed-фразу, закрытый ключ, файл восстановления или управление экраном.

Не доверяйте одной симуляции с результатом «баланс не изменится». Она может не охватывать дальнейшее использование permit, будущие поступления, внешнее состояние, все внутренние вызовы или другую транзакцию, отправленную с подписью.

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

Что делать, если кошелёк не объясняет запрос?

Откажитесь и независимо выясните, что приложение должно запрашивать. Изучите официальную документацию, поддержку с настоящего сайта, записи контракта и при необходимости интерпретацию другого авторитетного кошелька. Не вставляйте закрытый ключ, seed-фразу или чувствительные подписанные данные в публичный decoder (декодер).

Некоторые профессиональные операции действительно сложны. Сложность меняет способ проверки, а не допустимый риск. Попросите назвать тип, контракт, метод, spender, активы, лимиты и срок. Если эти сведения не совпадают с окном, не подписывайте.

Аппаратный кошелёк удерживает ключ вне компьютера, но не переводит непонятное полномочие на человеческий язык. Если устройство показывает лишь неизвестный хеш или предупреждение о слепой подписи (blind signing), данных для осознанного согласия недостаточно.

Что делать, если вы отклонили подозрительный запрос подписи?

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

Сохраните URL, тип, видимые поля, аккаунт, сеть, время и идентификатор транзакции или подписи без материала восстановления. Сообщите о домене подходящему кошельку, браузеру, платформе и службе злоупотреблений.

Если подпись уже создана, определите её область. Token approval может потребовать безопасного отзыва в сети; permit зависит от nonce и deadline; раскрытая seed-фраза требует нового кошелька; заражённое устройство — изоляции. Объяснение дрейнера связывает эти механизмы с разными ответами.

Как надолго улучшить безопасность подписей в кошельке?

Отделяйте долгосрочные активы от кошелька для новых приложений. Используйте ограниченные approvals, короткие сроки и отдельные аккаунты, если протокол позволяет. Регулярно просматривайте allowances каждой сети.

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

Команде полезнее документировать одобренные контракты и ожидаемые типы подписей, чем пересылать снимок «нормального» окна. Обновление контракта, новая сеть или формат permit могут сделать старый пример неверным.

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

Итоги

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

Часто задаваемые вопросы (FAQ)

Каждая подпись кошелька является транзакцией?

Нет. Кошелёк подписывает транзакции, обычные сообщения, заявления входа и typed data. Некоторые офлайн-подписи позже разрешают действие в сети.

Может ли подпись сообщения переместить токены?

Да, если это permit, ордер, делегирование или другое разрешение, которое принимает контракт. Оценивайте тип и поля, а не слово «сообщение».

Требует ли подпись оплаты газа?

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

Что такое verifying contract?

Это контракт, который должен интерпретировать или проверять typed data. Сверьте адрес и сеть по независимому официальному источнику.

Делает ли короткий deadline запрос безопасным?

Нет. Срок уменьшает окно, но не исправляет вредоносного spender, лишнюю сумму, неверный контракт или неожиданное действие.

Можно ли включить слепую подпись (blind signing), чтобы продолжить?

Только если вы независимо понимаете весь запрос. Давление сайта с требованием обойти нечитаемые поля — причина остановиться.

Можно ли отменить подпись другой подписью?

Не доверяйте «отмене» подозрительного сайта. Некоторые протоколы поддерживают аннулирование nonce или отзыв, но метод должен соответствовать исходному разрешению.

Без транзакции в сети подпись безопасна?

Нет такого доказательства. Она может быть неиспользованной, офлайн, истёкшей или ожидающей отправки. Сохраните поля и проверьте конкретный протокол.

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

Источники:

  1. EIP-712 — Typed structured data hashing and signing — https://eips.ethereum.org/EIPS/eip-712
  2. MetaMask — Signature phishing — https://support.metamask.io/stay-safe/protect-yourself/wallet-and-hardware/signature-phishing/
  3. Ethereum Foundation — Clear Signing — https://blog.ethereum.org/2026/05/12/clear-signing-announcement

Sources checked 8 сентября 2026 г.


Рекомендуемые статьи:

Начните бесплатный 3-дневный пробный период

Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.

*Только для новых пользователей. Один пробный период на пользователя.

Запрос подписи кошелька: что вы подтверждаете? | AethoVPN