Address poisoning (zatruwanie adresów) to oszustwo, w którym atakujący „podrzuca” do historii transakcji Twojego portfela adres łudząco podobny do adresu, z którym zwykle się komunikujesz – z tymi samymi kilkoma pierwszymi i ostatnimi znakami. Liczy na to, że przy kolejnym przelewie skopiujesz adres z historii, sprawdzisz tylko początek i koniec, i wyślesz środki do niego. Nikt nie włamuje się do portfela – to Ty zatwierdzasz przelew.
Jak przebiega atak
- Wysyłasz środki, np. stablecoiny z giełdy na swój portfel. Transakcja jest publiczna w blockchainie.
- Automat oszustów widzi ją i generuje adres z tymi samymi pierwszymi i ostatnimi znakami co adres, na który wysłałeś środki.
- Z podobnego adresu trafia do Twojej historii transakcja: przelew 0 tokenów, drobny „pył” albo fałszywy token o tej samej nazwie (np. „USDT”, który nie jest prawdziwym USDT).
- W historii portfela lub eksploratora widzisz teraz dwa niemal identyczne wpisy.
- Przy następnym przelewie kopiujesz adres z historii – ten zatruty.
Atak jest najpopularniejszy na sieciach z tanimi transakcjami i dużym ruchem stablecoinów (Ethereum i sieci L2, TRON, BNB Chain), ale dotyczy każdej sieci, w której portfel pokazuje historię adresów. W maju 2024 roku jedna osoba wysłała w ten sposób na adres oszusta 1155 WBTC – po negocjacjach środki zostały zwrócone, co jest wyjątkiem, a nie regułą.
Dlaczego to działa
Adresy są długie i nieczytelne. Portfele i eksploratory często skracają je do postaci „0x1a2b…9f8e”, więc widzisz dokładnie te znaki, które oszust podrobił. Do tego przelewy o wartości 0 mogą wyglądać tak, jakby to Ty je wysłał, co jeszcze bardziej uwiarygodnia fałszywy wpis.
Przykład 1: ile znaczy „sprawdziłem początek i koniec”
Adres Ethereum zapisany jest 40 znakami szesnastkowymi. Jeśli porównujesz tylko 4 pierwsze i 4 ostatnie znaki, oszust musi dopasować 8 znaków, czyli trafić w jedną z 168 ≈ 4,3 mld kombinacji. Dla nowoczesnego sprzętu to kwestia chwili. Przy porównaniu 10 znaków na początku i 10 na końcu kombinacji jest 1620 – to już poza realnym zasięgiem tanich generatorów. Wniosek: sprawdzanie kilku znaków daje złudne poczucie bezpieczeństwa.
Przykład 2: przelew 20 000 USDT
Załóżmy, że co miesiąc przesyłasz stablecoiny z portfela na giełdę. W historii masz przelew na adres zaczynający się od „TQx7” i kończący na „8kPz”. Dzień po nim pojawia się wpis z adresem o tym samym początku i końcu. Za miesiąc chcesz wysłać 20 000 USDT, kopiujesz adres z historii – ten nowszy, bo jest wyżej na liście. Sprawdzasz „TQx7…8kPz”, wszystko się zgadza, zatwierdzasz. 20 000 USDT trafia do oszusta, a transakcji nie da się cofnąć.
Gdybyś wysłał najpierw test 10 USDT, a potem całość, to też nie gwarantuje bezpieczeństwa. Oszust może zareagować na Twój test i od razu podrzucić zatruty wpis. Jeśli główny przelew skopiujesz z historii, a nie ze źródła, test nic nie da. Koszt testu – kilka dolarów opłat – ma sens tylko wtedy, gdy za każdym razem kopiujesz adres z tego samego, pewnego źródła.
Jak się chronić
- Nigdy nie kopiuj adresu z historii transakcji ani z eksploratora. Bierz go ze źródła: z ekranu wpłat giełdy, z własnego portfela sprzętowego, z zapisanej książki adresowej.
- Książka adresowa i biała lista – zapisz zweryfikowane adresy w portfelu. Na giełdzie włącz białą listę adresów wypłat, żeby wypłaty szły tylko na zatwierdzone adresy.
- Sprawdzaj cały adres, a przynajmniej fragmenty z początku, środka i końca, zwłaszcza przy dużych kwotach.
- Weryfikuj na ekranie portfela sprzętowego – porównaj adres wyświetlony na urządzeniu z adresem źródłowym.
- Test i ponowna weryfikacja – po teście potwierdź na giełdzie lub w portfelu docelowym, że środki doszły, i skopiuj adres główny ponownie ze źródła.
- Ukryj spam – włącz w portfelu filtrowanie transakcji o zerowej wartości i nieznanych tokenów.
- Nie wchodź w interakcje z nieznanymi tokenami w portfelu – ich „sprzedaż” lub „odebranie” może prowadzić na stronę z drainerem.
Address poisoning a inne ataki
| Atak | Co robi oszust | Gdzie powstaje błąd |
|---|---|---|
| Address poisoning | podrzuca podobny adres do historii | kopiujesz z historii |
| Clipper | malware podmienia adres w schowku | wklejasz podmieniony adres |
| Dusting attack | wysyła pył, żeby śledzić powiązania adresów | łączysz pył z innymi środkami |
Najczęstsze błędy
- Sprawdzanie tylko kilku pierwszych i ostatnich znaków.
- Kopiowanie adresu z historii „bo tak szybciej”.
- Przekonanie, że transakcja testowa rozwiązuje problem.
- Brak białej listy wypłat na giełdzie.
- Pośpiech przy dużych przelewach, np. w trakcie dynamicznego rynku.
Perspektywa tradera
Trader często przerzuca stablecoiny między giełdami i portfelem – regularne, powtarzalne przelewy to idealny cel. Traktuj każdy przelew jak zlecenie z ryzykiem: przy stałej trasie zapisz adres raz, zweryfikuj go dokładnie i korzystaj tylko z książki adresowej. Gdy się spieszysz, bo chcesz złapać ruch na rynku, pamiętaj, że strata z pomylonego adresu jest nieodwracalna – w przeciwieństwie do przegapionej okazji.
Najczęstsze pytania
Dostałem przelew 0 tokenów z nieznanego adresu. Co robić?
Nic z nim nie rób i nie kopiuj tego adresu. To typowy ślad zatruwania historii. Twoje środki są bezpieczne, dopóki sam nie wyślesz nic na fałszywy adres.
Czy address poisoning może ukraść środki bez mojego udziału?
Nie. Atak polega na tym, że sam wysyłasz środki na zły adres. Oszust nie ma dostępu do portfela.
Czy transakcja testowa chroni przed address poisoning?
Tylko częściowo. Oszust może podrzucić zatruty adres zaraz po teście. Chroni dopiero kopiowanie adresu za każdym razem z pewnego źródła.
Które sieci są najbardziej narażone?
Te z tanimi transakcjami i dużym ruchem stablecoinów, bo oszust może tanio „zatruć” wiele portfeli. Mechanizm działa jednak w każdej sieci z publiczną historią.
Czy da się odzyskać środki wysłane na zatruty adres?
Zwykle nie. Czasem pomaga szybkie zgłoszenie do emitenta stablecoina lub giełdy, na którą trafiły środki, ale nie ma na to gwarancji.
Tekst ma charakter edukacyjny i nie stanowi rekomendacji inwestycyjnej.


