Bezpieczeństwo portfela – prosto wyjaśnione
Address poisoning: jak fałszywy adres portfela trafia do historii transakcji
Oszust nie potrzebuje Twojego seed ani klucza prywatnego. Wystarczy, że w historii pojawi się podobny adres i skopiujesz go bez weryfikacji.
Szybka odpowiedź
Czym jest address poisoning?
Address poisoning to oszustwo polegające na umieszczeniu w historii portfela fałszywego adresu łudząco podobnego do prawdziwego. Sam wpis nie daje dostępu do portfela – ryzyko pojawia się dopiero, gdy skopiujesz ten adres i zatwierdzisz przelew.
Nieznany przelew o zerowej wartości lub dust nie oznacza, że portfel został przejęty. Nie wchodź w interakcję i nie używaj tego adresu jako odbiorcy.
Spis treści
3 maja 2024 · Ethereum
$68 milionów trafiło na zły adres — a potem wróciło
Chainalysis podaje, że pierwszy niewielki przelew na właściwy adres był prawdopodobnie testem. Kilka minut później portfel wysłał około 1 155 WBTC na inny adres, który po skróceniu wyglądał niemal identycznie. Ten drugi adres należał do oszusta.
Ofiara podpisała przelew na zły adres. Ethereum poprawnie zrealizowało instrukcję. Oszust zwrócił pierwotne 68 mln USD 9 maja po publicznych wiadomościach on-chain, ale taki zwrot nie oznacza, że transakcje są odwracalne lub bezpieczne.
Zwrot nastąpił w ETH, a nie w oryginalnych WBTC. Chainalysis szacuje, że oszust i tak zatrzymał około 3 milionów dolarów dzięki wzrostowi wartości aktywa.
Testowy przelew pomaga tylko wtedy, gdy ponownie używasz potwierdzonego odbiorcy z zaufanego źródła. Skopiowanie nowego, podobnego adresu z historii nadal grozi utratą środków.
Przebieg ataku
Jak działa address poisoning – krok po kroku
Atak wykorzystuje moment wyboru odbiorcy. Nie wymaga łamania kryptografii portfela.
- 01
Prawdziwa transakcja staje się publiczna
Ofiara wysyła krypto do prawidłowego odbiorcy. Blockchain zapisuje oba adresy publicznie.
- 02
Schemat odbiorcy jest obserwowany
Oszust obserwuje publiczne transakcje i wybiera adres, który ofiara może ponownie wykorzystać.
- 03
Tworzenie podobnego adresu
Fałszywy adres ma te same widoczne znaki co prawdziwy odbiorca, ale należy do oszusta.
- 04
Fałszywy wpis trafia do historii
Przelew o zerowej wartości, tzw. dust lub token sprawia, że podobny adres pojawia się w historii portfela.
- 05
Skopiowano zły adres
Później ofiara wybiera znajomo wyglądający wpis zamiast wrócić do zaufanego źródła.
- 06
Prawidłowa transakcja trafia do oszusta
Ofiara podpisuje przelew. Blockchain wysyła środki dokładnie na zatwierdzony adres.
Pułapka wizualna
Początek i koniec mogą się zgadzać, a adres być inny
Portfele często skracają długie adresy, by zaoszczędzić miejsce – ale to może ukryć fragment zmieniony przez oszusta.
0x91A4b7C2e6F1930DABCD8a45B6cE19fA003172F80x91A4f3D8c4E7192BCAFE6a90C1dE48B700A972F8Co może pokazać skrócona historia
0x91A4…72F8
0x91A4…72F8Dlaczego pojawia się w portfelu
Historia publiczna przyjmuje wpisy, o które nie prosiłeś
W publicznym blockchainie każdy może sprawdzić adresy i wysłać dozwolone transakcje lub tokeny. Portfel może pokazać taką aktywność, nawet jeśli jej nie zatwierdzałeś.
Przelew o zerowej wartości
Zdarzenie tokena bez wartości może pojawić się w historii portfela lub eksploratora.
Przelew dust
Wysyłana jest drobna kwota, by podobny adres pojawił się w historii transakcji.
Fałszywa aktywność tokena
Bezwartościowy lub mylący token może naśladować nazwę lub kwotę wcześniejszego przelewu, przez co wpis wydaje się znajomy.
Skopiowane dane transakcji
Fałszywy wpis może powtarzać wcześniejszą kwotę lub czas, by wyglądał znajomo.
Nie da się usunąć zatwierdzonego wpisu z publicznego blockchaina. Niektóre portfele mogą ukryć lub zamazać podejrzane wpisy, ale sam wpis nie pozwala wydać Twoich środków.
Nie. Nie odpisuj, nie odsyłaj dustu, nie klikaj w linki tokenów ani nie kopiuj adresu nadawcy. Zignoruj wpis i samodzielnie weryfikuj przyszłych odbiorców.
Sprawdź, co zostało zaatakowane
Address poisoning to nie atak na blockchain ani klucz prywatny
Transakcja jest ważna, bo właściciel ją zatwierdza. Oszustwo następuje przed podpisaniem, gdy fałszywy odbiorca zostaje pomylony z prawdziwym.
| Atak | Co jest celem ataku | Klucz prywatny zagrożony? |
|---|---|---|
| Address Poisoning | Wybór odbiorcy a podobieństwo wizualne | Nie |
| Złośliwe oprogramowanie w schowku | Schowek lub zainfekowane urządzenie | Niekoniecznie |
| Phishing | Zaufanie fałszywej stronie, wiadomości lub aplikacji | Niekoniecznie; często taki jest cel |
| Kradzież seed lub klucza prywatnego | Sekret podpisu portfela | Tak |
Pomiar na dużą skalę
Setki milionów prób – to nie przypadek
Badanie USENIX Security 2025 analizowało address poisoning na Ethereum i BNB Smart Chain od lipca 2022 do czerwca 2024. Wykryto następującą aktywność:
To szacunki na podstawie metody wykrywania i definicji badania, a nie liczba wszystkich prób poisoning na każdym blockchainie.
Zabezpieczenia według priorytetu
Jak nie stracić środków przez address poisoning
Zawsze zaczynaj od źródła odbiorcy. Dodatkowe kontrole pomagają, ale nie naprawią adresu skopiowanego z niepewnej historii.
- 01
Nie kopiuj odbiorców z historii transakcji
Wróć do zweryfikowanego źródła odbiorcy. Historia pokazuje tylko, co się wydarzyło na blockchainie – nie potwierdza właściciela adresu.
- 02
Korzystaj ze zweryfikowanej książki adresowej lub listy zaufanych
Zapisuj częstych odbiorców dopiero po weryfikacji innym zaufanym kanałem. Etykiety pomagają łatwiej rozpoznać właściwy wybór.
- 03
Sprawdź cały adres
Korzystaj z potwierdzonej książki adresowej, kodu QR lub sprawdzonego źródła, jeśli to możliwe. Przy ręcznym sprawdzaniu nie ograniczaj się do początku i końca — zweryfikuj cały adres.
- 04
Sprawdź adres na ekranie sprzętowego portfela
Porównaj adres wyświetlany na portfelu sprzętowym z adresem odbiorcy z niezależnego, zaufanego źródła. Urządzenie pokazuje, co podpisuje, ale nie wie, kto powinien otrzymać środki.
- 05
Potwierdź mały przelew testowy
Przy dużych kwotach najpierw wyślij niewielką sumę i poproś odbiorcę o potwierdzenie. Dopiero potem użyj tego samego, zweryfikowanego adresu.
- 06
Nowy odbiorca to osobna decyzja
Zatrzymaj się, gdy portfel ostrzega przed nowym lub podobnym adresem. Zweryfikuj go innym kanałem zamiast ignorować ostrzeżenie.
Portfel sprzętowy zawsze pokazuje adres, który zamierza podpisać, ale nie wie, kto jest odbiorcą. Przed zatwierdzeniem porównaj wyświetlany adres z niezależnym, zaufanym źródłem.
Przed podpisaniem
- Odbiorca pochodził z zaufanego źródła, nie z historii
- Sieć i aktywo zgodne z oczekiwaniami odbiorcy
- Pełny adres zgadza się na zaufanym ekranie
- Testowy przelew potwierdzony przez prawdziwego odbiorcę
Co może zrobić oprogramowanie portfela
Dobre ostrzeżenia zmniejszają ryzyko, ale żaden filtr nie sprawdzi Twoich intencji
Portfele mogą wykrywać podejrzane schematy i spowalniać użytkownika w kluczowym momencie. Nowe adresy atakujących i legalne podobieństwa sprawiają jednak, że stuprocentowa wykrywalność jest niemożliwa.
MetaMask
MetaMask porównuje adres docelowy z wcześniejszymi odbiorcami i ostrzega, gdy początek i koniec są znajome, ale środek się różni. Informuje też o zupełnie nowym odbiorcy.
Trezor Suite
Trezor informuje, że Suite sprawdza podejrzane transfery tokenów, rozmazuje potencjalne wpisy address poisoning i oznacza je jako niezweryfikowane. Portfel sprzętowy pokazuje adres do podpisu, ale należy go porównać z adresem odbiorcy z niezależnego, zweryfikowanego źródła.
Wyeksponuj zaufanego odbiorcę ponad historię
- Ukrywaj lub filtruj wpisy o zerowej wartości i podejrzany dust
- Ostrzegaj, gdy nowy adres przypomina znany kontakt
- Oznaczaj wyraźnie zweryfikowane kontakty i listy zaufanych
- Pokazuj cały adres przy kopiowaniu i podpisywaniu
Propozycja zmiany wyświetlania
ERC-8117 ułatwia rozpoznawanie nietypowych wzorców adresów
ERC-8117 to projekt nowego formatu wyświetlania adresów EVM z długimi ciągami zer na początku. Ma ułatwić zauważenie liczby zer i utrudnić tworzenie podobnych adresów.
To nie zastępuje weryfikacji odbiorcy i nie jest oficjalnym standardem Ethereum. Potrzebne byłoby wsparcie portfeli i eksploratorów.
Badania źródłowe i dokumentacja portfeli
Sprawdź przypadek, skalę problemu i obecne zabezpieczenia
Opis przypadku, pomiary ataków, zabezpieczenia portfeli i status propozycji zweryfikowano na podstawie Chainalysis, USENIX Security, dokumentacji portfeli, Etherscan i oficjalnej strony ERC.
Najczęstsze pytania
Czy pojawienie się address poisoning oznacza, że mój portfel został zhakowany?
Nie. W publicznym blockchainie każdy może wysłać Ci wpis o zerowej wartości, dust lub token bez Twojej zgody. To nie ujawnia seed ani klucza prywatnego. Ryzyko pojawia się, gdy skopiujesz taki adres do kolejnego przelewu.
Czy mogę usunąć fałszywą transakcję z historii portfela?
Zatwierdzonego wpisu w publicznym blockchainie nie da się usunąć. Portfel może ukryć lub zamazać podejrzane wpisy, ale najważniejsze to je zignorować i każdorazowo sprawdzać odbiorcę z zaufanego źródła.
Czy wystarczy sprawdzić pierwsze i ostatnie cztery znaki adresu?
Nie. Podobne adresy są tworzone tak, by pasowały do skróconego widoku portfela. Inny środek oznacza innego odbiorcę – sprawdzaj cały adres lub korzystaj z wcześniej zweryfikowanych kontaktów.
Co zrobić, jeśli wysłałem krypto na adres poisoning?
Zatrzymaj kolejne przelewy, zachowaj szczegóły transakcji, skontaktuj się z portfelem lub giełdą i zgłoś adres odpowiednim podmiotom lub organom ścigania. Przelewy on-chain są zwykle nieodwracalne, więc nikt nie może zagwarantować odzyskania środków.
Czy przelew testowy chroni przed address poisoning?
Test działa tylko, gdy odbiorca potwierdzi i ponownie używasz tego samego, zweryfikowanego adresu. Skopiowanie nowego adresu z historii po teście nie chroni przed utratą środków.
Czy address poisoning to to samo co dusting?
Te pojęcia mogą się pokrywać, ale nie są tożsame. Address poisoning polega na wprowadzeniu w błąd przez wpis w historii, by wpłynąć na wybór odbiorcy. Dust może być wysyłany także do śledzenia, spamu lub innych celów bez podobnego adresu.