Перейти к содержанию

План изоляции кошелька для аирдропов

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

Обновлено

Только в образовательных целях; не является инвестиционным советом или инвестиционной рекомендацией. Инвестиции могут привести к убыткам.

Краткий ответ

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

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

Как это работает

  1. До подключения определите модель угроз и отсеки: хранение, обычная торговля, экспериментальные взаимодействия и карантин. Запишите, являются ли общими ключи, seed-материал, аккаунты владельцев, устройства, профили браузера, RPC endpoints или пути восстановления.
  2. По независимым каналам зафиксируйте точную цепочку, домен проекта, адреса контрактов, реализацию proxy и источник задания. Считайте значок проверенного code, социальный аккаунт или популярную ссылку свидетельством, но не гарантией.
  3. Установите бюджет задачи в нативном gas, токенах и NFTs. Финансируйте непосредственно перед использованием по маршруту, который не требует подключения кошелька хранения к приложению, и учтите gas для моста, обмена, вывода и аварийных действий.
  4. Декодируйте каждую транзакцию и подпись. Проверьте chainId, to, нативное value, селектор функции, токен, spender или operator, сумму, срок, nonce, проверяющий контракт, пакетные вызовы и последствия любого delegatecall, module, session key или делегирования EIP-7702.
  5. Выбирайте точные или ограниченные полномочия, если протокол их поддерживает. Различайте ERC-20 allowance через approve, подпись ERC-2612 permit, NFT setApprovalForAll, разрешения смарт-аккаунта и обычную подпись входа: подпись без gas все равно может разрешить движение активов.
  6. Проведите симуляцию, отправьте через доверенный кошелек и сверяйте фактическое состояние, а не только экран подтверждения. В правильной цепочке проверьте статус квитанции, переводы, allowances, NFT operators, владельцев или modules смарт-аккаунта, балансы, gas и адреса назначения.
  7. После задачи переведите нужные активы по проверенному маршруту, отзовите ненужные полномочия в цепочке, отдельно отключите сайт, сохраните доказательства и поместите кошелек в карантин после подозрительной подписи, раскрытия ключа или необъяснимых изменений. Если ключ мог быть скомпрометирован, эвакуация на новый ключ важнее надежды на отзыв.

Разобранные примеры

  • Финансирование — бюджет, а не жесткий предел убытка. Кошелек получает 0.08 ETH при цене ETH $2,400 и 180 USDC. Рыночная стоимость взаимозаменяемых активов равна 0.08 * $2,400 + $180 = $372. После затрат gas 0.012 ETH остается 0.068 ETH стоимостью $163.20 плюс 180 USDC, всего $343.20. Сумма не учитывает стоимость NFT, будущие пополнения, действующие полномочия, средства в мостах и риск общего ключа, поэтому $372 — бюджет, а не гарантированный максимум убытка.
  • Ограниченный ERC-20 allowance. У кошелька 1,000 USDC, и он разрешает spender S потратить 250 USDC. Законный вызов использует 120 USDC, оставляя баланс 880 USDC и allowance 130 USDC. Если дальнейшее использование не планируется, одобрение в цепочке на 0 USDC удаляет allowance ERC-20. Отключение сайта не выполняет отзыв, а неограниченное разрешение может затронуть и будущие пополнения.
  • Подпись может изменить последующее состояние. Permit ERC-2612 подписывает владельца A, spender S, value 300 USDC, nonce 41, срок через 1,800 seconds, проверяющий токен-контракт и активный chainId. Relayer отправляет его, nonce permit становится 42, а S тратит 180 USDC; из исходных 1,000 USDC остается 820 USDC, allowance — 120 USDC. Подписание не потребовало gas от A, но при отправке создало право расходования.
  • Разделяйте реестр безопасности и экономический реестр. Кампания распределяет 420 USDC. Кошелек потратил 0.035 ETH при цене $2,200 за ETH на gas, $18 на мост и вывод и $9 измеренного проскальзывания. Стоимость до налога равна $420 - $77 - $18 - $9 = $316. Результат не доказывает безопасность подписей, безрисковость награды или прибыльность повторения.

Риски

  • Общая seed-фраза или детерминированное дерево аккаунтов может объединить адреса в один домен компрометации ключа.
  • Скомпрометированное устройство, расширение браузера, буфер обмена или приложение кошелька может пересечь номинальные границы аккаунтов.
  • Поддельный домен, аккаунт поддержки, QR-код или поисковая реклама могут перенаправить осторожный процесс.
  • Проверенный контракт или знакомый frontend могут содержать уязвимость, быть обновлены, неверно настроены или взломаны.
  • Неверная цепочка может привести к отправке активов или разрешению другому развертыванию с похожим адресом.
  • Address poisoning и сокращенный показ мешают проверке только первых или последних символов.
  • ERC-20 allowance может превышать сумму задачи или оставаться применимым к будущим пополнениям.
  • Разрешение operator ERC-721 или ERC-1155 может охватывать всю коллекцию вместо одного токена.
  • Permit ERC-2612 и иные типизированные подписи могут создать полномочие без немедленной транзакции подписанта.
  • Слабое разделение домена, долгий срок или особая обработка nonce создают риск replay или поздней подачи.
  • Слепой personal_sign или непрозрачная calldata могут скрывать ордер, разрешение, смену владельца или перевод.
  • Batch может включать неожиданный вызов, перевод нативной стоимости, delegatecall или частичное выполнение.
  • Modules смарт-аккаунта, session keys, опекуны восстановления и делегаты EIP-7702 могут пережить одну сессию dapp.
  • Отключение сайта не отзывает allowances, operators, permits, modules или delegations в цепочке.
  • Отзыв могут опередить, он может не пройти, попасть не в ту цепочку или прийти после использования разрешения.
  • Мосты добавляют риски исходной и целевой цепочек, сообщений, relayer, ликвидности и финальности.
  • Финансирование с публичного адреса хранения и возврат на него раскрывают связь кошельков и привлекают фишинг.
  • Правила Sybil, проверка личности или условия проекта могут отменить награду при технически успешном взаимодействии.
  • Gas, проскальзывание, налоги токена, неликвидность и бесполезные награды могут сделать кампанию убыточной.
  • Утерянные ключи, неполные записи, вредоносное ПО, санкции, налоги и задержка реагирования могут превратить эксперимент в крупный операционный убыток.

Распространенные заблуждения

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

Связанные темы

Источники

Навигация

Поиск по вики...