Niektóre drainery Solana robią więcej niż opróżnienie Twojego SOL. Zmieniają samo konto portfela, przez co nie może ono już wysyłać SOL, a każdy dodany SOL może wypłacić atakujący. Tokeny i NFT zwykle zostają na miejscu, ale zwykły sposób ich przeniesienia, czyli wysyłka z aplikacji portfela, kończy się błędem albo daje atakującemu więcej SOL.
Ten przewodnik wyjaśnia, co się zmieniło, dlaczego nie należy wysyłać SOL do portfela i jak przenieść to, co zostało, do nowego portfela, gdy opłaty płaci inny portfel.
Jak poznać, że Twój portfel Solana został przekształcony?
Wysyłki z portfela się nie udają, choć nadal są w nim tokeny, a eksplorator pokazuje adres jako konto nonce z authority, które nie jest Twoje, albo jako konto należące do programu. Gdy połączysz się z Sol Incinerator, pokaże on „Twój portfel został zhakowany” z czasem przejęcia i linkiem do transakcji.
Zwykły portfel Solana to proste konto System Program bez danych. Przekształcony portfel ma ten sam adres, ale konto pod nim się zmieniło. Sprawdź to na trzy sposoby:
- Otwórz adres w eksploratorze. Solana Explorer pokazuje dla przekształconego portfela szczegóły konta nonce, w tym adres authority. Jeśli to authority nie jest Twoim adresem, SOL na koncie kontroluje ktoś inny.
- Znajdź transakcję, która to zrobiła. W zbadanych przez nas przypadkach ofiara współpodpisała transakcję z dwiema instrukcjami System Program:
allocatedało adresowi portfela 80 bajtów danych, ainitializeNoncezrobiło z niego konto durable nonce z atakującym jako authority. Atakujący zapłacił opłatę sieciową. W jednym przypadku wypłata SOL ofiary nastąpiła 30 sekund później. - Połącz portfel z Sol Incinerator. Odczytuje on konto przy połączeniu i pokazuje ostrzeżenie z czasem przejęcia oraz linkiem do Solscan, gdy wykryje przejęcie.
Niektóre drainery stosują inną zmianę: przypisują adres do programu. Skutek dla Ciebie jest ten sam: portfel nie może już sam pokrywać swoich kosztów.
Dlaczego zhakowany portfel nie może płacić opłat sieciowych?
Konto durable nonce to zwykła funkcja Solana do podpisywania transakcji z wyprzedzeniem. Przechowuje wartość nonce i authority, a tylko to authority może przesunąć nonce, zmienić authority lub wypłacić SOL z konta. Gdy drainer zamienia Twój adres w takie konto, staje się authority nad SOL Twojego adresu.
- SOL nie może wyjść zwykłą drogą. System Program odmawia przelewu SOL z konta, które zawiera dane, a Twój portfel zawiera teraz dane nonce.
- Opłaty pochodzą z SOL, który atakujący może zabrać. Konto nonce może płacić opłaty sieciowe tylko z SOL ponad swoją rezerwę rent, a authority może wypłacić ten SOL, gdy tylko się pojawi.
- Adres należący do programu nie może płacić żadnych opłat. Solana przyjmuje opłaty tylko od prostego konta System lub konta nonce.
- Nie możesz tego cofnąć. Tylko obecne authority może zmienić authority konta nonce, więc żadna podpisana przez Ciebie transakcja go nie odzyska.
Z tokenami jest inaczej. Każde konto tokenów zapisuje Twój adres jako właściciela, a program tokenów sprawdza Twój podpis, a nie stan konta portfela. Twój klucz nadal może przenieść każdy token i każde NFT; wystarczy, że opłatę sieciową zapłaci inny portfel.
Nie wysyłaj SOL na zhakowany adres, nawet małej kwoty na opłaty. Zakładaj, że obserwuje go bot. Nie podpisuj niczego ze strony ani z wiadomości prywatnej, które obiecują „odblokować” lub „naprawić” portfel: płatne oferty odzyskiwania w wiadomościach prywatnych to częste oszustwo po włamaniu.
Jak przenieść tokeny ze zhakowanego portfela Solana?
Użyj transakcji, w której inny portfel płaci opłatę sieciową, a zhakowany portfel podpisuje tylko jako właściciel tokenów. Aplikacje portfeli obciążają opłatą portfel wysyłający, więc użyj narzędzia do odzyskiwania stworzonego dla przejętych portfeli, takiego jak Sol Recovery, i wyślij wszystko do nowego portfela.
Sol Recovery to niezależna usługa dla przejętych portfeli Solana. Rozpoznaje przekształcone portfele, a jej darmowe konto oddziela portfel, który odbiera Twoje aktywa, od portfela, który płaci opłaty.
- Utwórz nowy portfel. Jeśli kiedykolwiek wpisałeś frazę odzyskiwania lub klucz prywatny na jakiejś stronie, utwórz nowy portfel z nową frazą odzyskiwania. Kolejne konto pod starą frazą nie jest nowym portfelem.
- Sprawdź, co zostało. Wklej zhakowany adres do Sol Recovery. Skanuje tokeny, pozycje stakowane, pozycje DeFi, kolekcje i domeny bez łączenia portfela.
- Ustaw bezpieczny portfel i płatnika. Dodaj nowy portfel jako cel oraz osobny portfel do płacenia opłat sieciowych. Zasilaj tylko portfel płatnika, nigdy zhakowany adres.
- Sprawdź i podpisz. Zhakowany portfel podpisuje każdy transfer jako właściciel tokenów. Przed zatwierdzeniem sprawdź, co robi każda transakcja, i potwierdź, że aktywa dotarły.
Sol Recovery prowadzi też usługę botów dla pozycji stakowanych lub zablokowanych, które odblokowują się w ustalonym czasie, aby wyprzedzić atakującego w chwili odblokowania. Ta usługa pobiera 10% odzyskanej kwoty i potrzebuje klucza prywatnego zhakowanego portfela, aby podpisywać natychmiast. To prawdziwa decyzja oparta na zaufaniu: udostępniaj tylko klucz portfela, który już jest przejęty, i nigdy frazy odzyskiwania nowego portfela.
Sol Recovery nie jest powiązane z Sol Incinerator. Przed podpisaniem sprawdź aktualne opłaty i każdą transakcję. Programiści mogą sami zbudować taki sam transfer: transfer tokenów jest ważny, gdy podpisze go właściciel tokenów, niezależnie od tego, który portfel płaci opłatę.
Czy nadal możesz odebrać SOL z kont tokenów?
Tak. Puste konta tokenów zawierają zwrotny depozyt rent, a ich zamknięcie zwraca ten SOL. Zwykły odbiór wypłaca go na sam portfel, co tutaj oznacza wypłatę atakującemu, więc Sol Incinerator traktuje przekształcone portfele inaczej.
Gdy połączysz przekształcony portfel, Sol Incinerator poprosi o adres bezpiecznego portfela i wypłaci tam odzyskany SOL. Sam płaci opłatę sieciową, a ta opłata i zwykła opłata za czyszczenie są potrącane z odzyskanego SOL. Na zhakowany adres nic nie trafia. Zamykanie pustych kont tokenów i wypłata nadwyżki rent są obsługiwane; burny i inne działania, przy których portfel musi sam płacić opłaty, nie są.
Przeniesienie tokenów zostawia ich konta tokenów puste. Jeśli Twoje narzędzie do odzyskiwania ich nie zamyka, odbierz ponownie później, aby zebrać także ten rent.
Co jeszcze warto sprawdzić?
- Przeczytaj całą transakcję przejęcia. Mogła też przenieść aktywa lub zatwierdzić delegata. Zapisz podpis i każdy nieznany adres na potrzeby zgłoszeń.
- Wypisz pozycje stakowane i zablokowane. Niektóre wymagają unstakingu lub okresu oczekiwania przed przeniesieniem, a atakujący może czekać na ten sam moment.
- Zastąp stary adres wszędzie tam, gdzie otrzymuje środki. Listy wypłat na giełdach, ustawienia wypłat i rejestracje airdropów, które płacą na zhakowany adres, płacą teraz atakującemu.
- Przestań używać tego adresu. Gdy aktywa zostaną przeniesione, nie używaj ponownie portfela, nawet do małych kwot.

Sol Incinerator
Połącz zhakowany portfel i odbierz jego możliwy do odzyskania SOL na adres bezpiecznego portfela. Na zhakowany adres nic nie trafia.