Головне завдання при виявленні компрометації — якомога швидше перевести активи на новий, повністю контрольований гаманець. У цій інструкції описано точний порядок дій: від підготовки безпечного місця призначення до фінальної перевірки балансу. Припускається, що ви вже виконали перші кроки з реакції на інцидент, описані в розділі Що робити після компрометації гаманця.
Передумови: новий безпечний гаманець
Перш ніж ініціювати будь-яку транзакцію, переконайтеся, що місце призначення надійне. Без цього кроку переміщення активів не має сенсу — ви просто перенесете їх на іншу скомпрометовану адресу.
Де створювати новий гаманець
- Ізольоване середовище. Використовуйте фізично інший пристрій, ніж той, на якому сталася компрометація. Якщо такого немає — принаймні окремий чистий профіль користувача в операційній системі.
- Офіційне джерело. Завантажуйте гаманець лише з офіційного сайту розробника. Перевірте URL посимвольно.
- Тип гаманця. Для зберігання значних сум найбезпечніший варіант — апаратний гаманець (hardware wallet). Якщо його немає під рукою, підійде програмний некастодіальний гаманець (наприклад, Phantom або Solflare), створений на чистому пристрої.
Що обов'язково зробити одразу після створення
- Запишіть відновлювальну фразу (seed-фразу) на фізичний носій — папір або металеву пластину. Не зберігайте її в цифровому вигляді на жодному пристрої.
- Перевірте, що гаманець відкривається за цією фразою на іншому пристрої — це підтверджує, що фраза записана без помилок.
- Скопіюйте адресу нового гаманця та збережіть її окремо — вона знадобиться для перевірки.
Тільки після цих кроків можна переходити до переміщення коштів.
Покрокове переміщення SOL і токенів
Порядок дій важливий: спочатку переміщуєте нативний SOL, потім — SPL-токени. Причина в тому, що кожна транзакція на Solana вимагає комісії в SOL, і на скомпрометованому гаманці має залишитися достатньо коштів для оплати всіх переказів.
Крок 1. Оцініть ситуацію
- Відкрийте скомпрометований гаманець і зафіксуйте: скільки SOL, які токени та в яких кількостях знаходяться на балансі.
- Перевірте, чи є закриті токен-рахунки (closed token accounts) — вони теж містять мінімальний депозит у SOL, який можна повернути.
- Визначте орієнтовну суму комісій: кожна транзакція зазвичай коштує близько 0.000005 SOL, але для точної оцінки перевірте поточний пріоритет-fee у мережі.
Крок 2. Перемістіть SPL-токени
Саме токени переміщуються першими — поки на гаманці є SOL для комісій.
- У скомпрометованому гаманці натисніть «Send» біля кожного токена.
- Вставте адресу нового безпечного гаманця. Обов'язково порівняйте перші 4 і останні 4 символи адреси призначення з тими, що ви записали раніше.
- Укажіть повну суму токенів.
- Підтвердьте транзакцію.
- Повторіть для кожного токена окремо.
Наслідок помилки при введенні адреси: токени будуть надіслані на чужий гаманець. Повернути їх практично неможливо без згоди власника цієї адреси. Саме тому перевірка адреси — обов'язковий крок, а не рекомендація.
Крок 3. Закрийте токен-рахунки (за потреби)
Кожен SPL-токен на Solana зберігається на окремому рахунку (associated token account), для якого був сплачений депозит. Після переміщення токенів ці рахунки залишаються порожніми, але депозит у SOL на них заблоковано. Щоб його повернути:
- У гаманці знайдіть розділ із закритими або порожніми токен-рахунками.
- Використовуйте опцію «Close account» для кожного порожнього рахунку.
- Депозит (зазвичай близько 0.00203 SOL за рахунок) повернеться на ваш баланс.
Крок 4. Перемістіть SOL
SOL переказується останнім — після того, як всі токени та депозити з токен-рахунків зібрані.
- Натисніть «Send» для SOL.
- Вставте адресу нового гаманця. Знову перевірте перші та останні символи.
- Укажіть суму. Не вказуйте максимальну суму автоматично — залиште трохи SOL на випадок, якщо попередні транзакції ще не підтвердилися або потрібно буде закрити залишкові рахунки. Наприклад, якщо на балансі 0.1 SOL, перекажіть 0.098 SOL.
- Підтвердьте транзакцію.
Крок 5. Перемістіть залишок SOL
Після підтвердження основної транзакції перевірте залишок на скомпрометованому гаманці. Якщо там ще є SOL — перекажіть і його повністю на нову адресу. Тепер можна вказати максимальну суму, оскільки інших транзакцій з цього гаманця не планується.
Перевірка результату: баланс нового гаманця
Переміщення активів не завершено, поки ви не переконалися, що кошти дійсно надійшли на новий гаманець. Не довіряйте лише інтерфейсу гаманця — виконайте незалежну перевірку.
Як перевірити
- Відкрийте новий гаманець на чистому пристрої та звірте баланси SOL і кожного токена з тими, що ви фіксували на етапі оцінки.
- Відкрийте блокчейн-експлорер (наприклад, Solscan або SolanaFM) і введіть адресу нового гаманця.
- Перевірте, що кожна транзакція має статус «Success», а не «Failed» або інший.
- Переконайтеся, що кількість токенів у транзакції збігається з очікуваною.
Що робити, якщо транзакція не підтверджується
- Перевірте статус у блокчейн-експлорері за ідентифікатором транзакції (signature).
- Якщо статус «Dropped» — транзакція не потрапила в блок. Спробуйте повторити з дещо вищою комісією.
- Якщо статус «Failed» — перевірте причину в деталях транзакції. Найчастіша причина — недостатньо SOL для комісії або спроба закрити рахунок, який не порожній.
- Апаратний гаманець. Якщо ви використовували програмний гаманець як тимчасове рішення — плануйте перенести активи на апаратний гаманець, щойно він буде під рукою.
- Перевірка підключень. Новий гаманець не підключайте до застосунків, яким не довіряєте. Кожне підключення (connect wallet) — це новий вектор ризику.
- Моніторинг. Періодично перевіряйте адресу скомпрометованого гаманця в блокчейн-експлорері. Якщо на нього надійдуть кошти (наприклад, airdrop або повернення від деяких протоколів) — не намагайтеся їх забрати через старий гаманець. Зв'яжіться з підтримкою відповідного протоколу та поясніть ситуацію.
Тільки після того, як усі транзакції мають статус «Success» і баланси збігаються, можна вважати переміщення завершеним.
Ризики та типові помилки
Під час переміщення активів зі скомпрометованого гаманця існує кілька специфічних ризиків, які відрізняються від звичайних переказів.
| Помилка | Наслідок | Як уникнути |
|---|---|---|
| Переміщення SOL першим | На гаманці не залишиться SOL для комісій за переказ токенів. Токени будуть заблоковані. | Спочатку токени, потім SOL. Завжди залишайте запас на комісії. |
| Створення нового гаманця на тому ж пристрої | Зловмисник може мати доступ до нового гаманця теж. Переміщення марне. | Ізольоване середовище або інший пристрій. |
| Копіювання адреси з неперевіреного джерела | Адреса підмінена. Активи надійдуть зловмиснику. | Беріть адресу безпосередньо з нового гаманця, перевіряйте посимвольно. |
| Використання максимальної суми SOL одразу | Не вистачить SOL для закриття токен-рахунків або повторних транзакцій. | Залишайте невеликий запас, перекажіть залишок окремо. |
| Паніка й поспішні дії без перевірки | Транзакція на неправильну адресу, подвійний переказ, втрата коштів. | Дійте послідовно за інструкцією. Кожну адресу перевіряйте двічі. |
Специфічний ризик: MEV-боти
У мережі Solana існують боти, які аналізують транзакції в мемпулі й намагаються перехопити великі перекази. Хоча прямий вивід коштів з вашого гаманця без вашого підпису неможливий, бот може спробувати фронтранити вашу транзакцію, якщо ви використовуєте дуже низьку комісію. Щоб мінімізувати цей ризик — встановлюйте адекватну пріоритет-fee (priority fee), щоб транзакція швидко потрапила в блок.
Безпечний наступний крок
Після успішного переміщення всіх активів скомпрометований гаманець стає порожнім і більше не використовується. Не намагайтеся його «відновити» або повторно використовувати — вважайте його назавжди втраченим для вас.
Логічний наступний крок — забезпечити довгострокову безпеку нового гаманця:
Якщо під час переміщення ви помітили, що якась транзакція була підписана без вашої ініціативи, або активи зникали в процесі — перейдіть до інструкції Що робити, якщо підписав підозрілу транзакцію.