Address poisoning to jeden z najprostszych trików na portfele krypto: nikt nie łamie hasła ani nie hakuje giełdy — oszust po prostu podsuwa w historii przelewów adres podobny do twojego. Wyjaśniamy, jak to działa, czemu nie jest na to odporny nawet doświadczony trader, i co powinien zrobić właściciel exchangera, żeby klienci nie tracili pieniędzy przez banalne kopiuj-wklej.
Czym naprawdę jest address poisoning
Address poisoning polega na tym, że oszust wysyła ci drobną albo zerową transakcję z adresu, który wizualnie prawie nie różni się od tego, z którym normalnie pracujesz. Cel jest jeden: trafić do twojej historii przelewów, żeby następnym razem z przyzwyczajenia skopiować nie prawdziwego kontrahenta, a podróbkę.
Większość portfeli pokazuje adresy w skróconej formie, coś jak 0x7a3f...9e21. Człowiek patrzy na początek i koniec ciągu, widzi zgodność i klika "wyślij", bez rozwijania całego adresu. Oszustowi to w zupełności wystarcza.
Jak powstaje adres, który "wygląda prawdziwie"
Atakujący generuje miliony losowych portfeli, aż znajdzie adres z odpowiednimi pierwszymi i ostatnimi znakami — to tak zwany vanity address. Istnieją darmowe narzędzia do takiego wyszukiwania metodą brute force, bez łamania żadnej kryptografii. Potem wystarczy zaczekać, aż ofiara wykona większy przelew, i natychmiast potem wysłać z bliźniaczego adresu transakcję na grosze.
Ta transakcja ląduje w historii portfela ofiary dosłownie obok prawdziwej. Różnica to kilka znaków schowanych w środku ciągu — części, którą prawie nikt nie sprawdza.
Realny scenariusz: exchanger, klient i kosztowne kliknięcie
Wyobraź sobie exchanger, który codziennie wysyła USDT w sieci TRON do kilkudziesięciu klientów. Operator działa szybko: otwiera portfel, znajduje odpowiedni adres wśród ostatnich transakcji wychodzących, kopiuje go i wkleja do nowej wypłaty. Wygodne — do chwili, gdy w tej samej historii wyląduje zatruta transakcja z adresu-bliźniaka.
Jedno nieuważne kliknięcie i wypłata klienta trafia do oszusta. Przelewów w blockchainie nie da się odwrócić, nie ma do kogo się odwołać, a cios w reputację zwykle boli bardziej niż sama strata.
Jak chronić portfel i klientów exchangera przed podmianą adresu
Podstawowa zasada jest prosta: nigdy nie kopiuj adresu z historii "na oko". Kilka nawyków zamyka prawie całe to ryzyko:
- Sprawdzaj adres odbiorcy w całości, nie tylko pierwsze i ostatnie znaki — w razie wątpliwości wklej obie ciągi do pliku tekstowego i porównaj znak po znaku.
- Prowadź wewnętrzną książkę zweryfikowanych, oznaczonych adresów dla stałych kontrahentów i wypłacaj tylko z niej.
- Korzystaj z kodów QR, gdzie to możliwe — dużo trudniej podmienić je niezauważalnie niż ciąg tekstu.
- Ustaw w portfelu albo systemie back-office ostrzeżenie o każdym nowym, wcześniej nieużywanym adresie.
- Rozdziel role: jedna osoba przygotowuje wypłatę, druga potwierdza adres — taka prosta weryfikacja krzyżowa wychwytuje prawie każdą podmianę.
Częste błędy przy sprawdzaniu adresu odbiorcy
Zazwyczaj zawodzi nie niewiedza, a pośpiech i przyzwyczajenie. Powtarzają się te same błędy:
- Porównywanie tylko pierwszych i ostatnich 4-6 znaków adresu.
- Kopiowanie adresu prosto z "ostatniej aktywności" bez sprawdzenia, kto go faktycznie wysłał.
- Brak drugiego kanału potwierdzenia dla dużych lub nowych kontrahentów.
- Ignorowanie ostrzeżenia portfela o nowym adresie tylko dlatego, że "się spieszę".
Wniosek
Address poisoning nie wykorzystuje dziury w blockchainie, a przyzwyczajenie do ufania własnym oczom i historii transakcji. Nie ma na to technicznego zabezpieczenia — jest tylko dyscyplina: pełna weryfikacja adresu, książka zweryfikowanych kontrahentów i rozdzielone role przy większych wypłatach. W exchangerze ta dyscyplina musi być wpisana w proces pracy, a nie zależeć od uwagi jednego operatora — własna infrastruktura portfela z gotowymi książkami adresów i podziałem ról w iEXWallet zdejmuje część tej rutyny z zespołu.


