29 października 2026 roku napastnik wykradł około 6,15 mld USD z Binance w 31 minut. Była to jedna z największych kradzieży w historii kryptowalut, a może nawet całego internetu.
Binance początkowo oszacowało straty na 6,3 mld USD. Firma analizująca blockchain BitOK, śledząc transakcje po kolei, ustaliła je na 6,15 mld USD na dziewięciu łańcuchach bloków.
Napastnik nie zdobył nigdy prywatnych kluczy Binance. Zamiast tego zmusił systemy Binance do zatwierdzenia kradzieży. Ten przewodnik przedstawia przebieg włamania i na bieżąco wyjaśnia techniczne terminy. Wszystkie podane godziny są w UTC.
Podstawy: Jak giełda przesyła środki
Gorące portfele to portfele online giełdy, stale połączone z internetem, by umożliwiać szybkie wypłaty.
Podpisywanie. Każdy przelew musi zostać zatwierdzony za pomocą prywatnego klucza portfela – tajnego numeru. Giełdy używają automatycznych systemów do podpisywania tysięcy wypłat dziennie.
Nonce. To licznik transakcji portfela Ethereum. W przypadku ruchliwego portfela nonce rośnie nieustannie.
Monety z możliwością zamrożenia. Emitenci stablecoinów, tacy jak Tether (USDT) i Circle (USDC), mogą zamrażać adresy. Nikomu nie uda się zablokować natywnych monet takich jak BTC, ETH czy TRX.
28 października: Przygotowania przed atakiem
Każda transakcja na blockchainie wymaga opłaty. By zasilić portfele, nie zostawiając śladu, napastnik użył Tornado Cash – “miksera”. Łączył w nim środki wielu użytkowników tak, by wypłaty nie mogły być połączone z depozytami.
Sześć wypłat z Tornado Cash zasiliło portfel operatora oraz dwóch pomocników.
29 października, 02:28–16:47 UTC: Dwie próby
Zanim zaatakował Binance, napastnik przećwiczył plan na własnych portfelach – jak włamywacz, który najpierw testuje wytrych we własnych drzwiach.
Narzędziem był smart kontrakt: program na Ethereum, realizujący dokładnie to, co nakazuje kod. Ten został stworzony do opróżnienia każdego portfela, który da mu uprawnienia do działania w swoim imieniu. (Funkcja EIP-7702 w Ethereum pozwala na tego typu upoważnienie; więcej o niej niżej.)
- 02:28 — napastnik publikuje testową wersję programu do opróżniania portfeli.
- 13:51–14:24 — pierwsza próba. Przelewa niewielką ilość USDT i USDC do dwóch swoich portfeli, daje testowemu programowi uprawnienia, a następnie go uruchamia. Oba portfele zostają opróżnione. Narzędzie działa.
- 15:59 — publikuje wersję ostateczną – tę, którą później zastosował wobec Binance.
- 16:20–16:47 — druga próba, tym razem z użyciem wersji ostatecznej.
Wersja ostateczna miała dodatkową funkcję – mogła sprawić, że portfel wykona dowolne działanie, a nie tylko wyśle tokeny. Tamtej nocy pozwoliło to nakazać portfelowi Binance przelanie 823 mln USDC. Tak wyspecjalizowane narzędzie sugeruje, że napastnik dobrze znał ustawienia portfeli Binance.
Różnica między dwiema wersjami była kluczowa. Główny kontrakt zawierał funkcję, pozwalającą wykonać dowolne operacje w imieniu portfela, który przekazał mu kontrolę. Napastnik właśnie tej funkcji użył później, by opróżnić 823 mln USDC z inteligentnego portfela Binance.
29 października, 20:04 UTC: 31-minutowa kradzież
Od 20:04:52 do 20:35:53 napastnik opróżnił gorące portfele Binance na XRP Ledger, Solanie, Bitcoinie, Ethereum, Tron, Base, Optimism, Arbitrum i Avalanche. Zdobył między innymi:
- 18 270,2 BTC,
- 197 540 ETH,
- 2,49 mld USDT,
- 823 mln USDC,
- 233,46 mln XRP,
- 970 522 SOL i dziesiątki innych tokenów.
Każdy transfer został podpisany portfelami Binance. BitOK rozpoznał je po pewnych cechach: opłaty 2–2,7 razy wyższe niż zazwyczaj, formaty transakcji inne niż używa oprogramowanie płatnicze Binance i, w przypadku Ethereum, fałszywe transfery wplecione między prawdziwe wypłaty dla klientów.
Napastnik zhakował laptop inżyniera DevOps, potem użył kontenera usługowego (spakowana aplikacja uruchamiana w systemach Binance) do przesyłania fałszywych zleceń wypłat.
20:20 UTC: Sztuczka z 50 kluczami
To był najinteligentniejszy ruch tej nocy. Celem był ruchliwy gorący portfel Ethereum o nazwie Binance 14.
Plan. Dzięki EIP-7702 portfel może podpisać upoważnienie, które pozwala smart kontraktowi działać w jego imieniu. Jeżeli Binance 14 podpisałby takie upoważnienie wskazujące kontrakt napastnika, wtedy napastnik przejąłby kontrolę nad portfelem.
Problem. Upoważnienie działa wyłącznie wtedy, gdy zawiera aktualny numer transakcji (nonce) portfela. Binance 14 ciągle realizował wypłaty do klientów, więc ten numer nieustannie się zmieniał. Upoważnienie z nieaktualnym numerem po prostu system pomija.
Sztuczka. O 20:20:59 atakujący nakazał systemowi podpisywania Binance podpisać jednocześnie 50 potwierdzeń, każde z innym numerem. To jakby spróbować otworzyć zamek 50 kluczami naraz: wystarczy, że jeden pasuje. I tak właśnie się stało. Binance 14 zaczęło wykonywać polecenia kontraktu atakującego, ale nadal działało normalnie, więc środki wciąż wpływały.
Korzyść. Kilka minut później jedna transakcja opróżniła 65 różnych tokenów o wartości ponad 2,2 mld USD, w tym 1,615 mld USDT i 167 464 ETH. O 20:41 i 20:59 kontrakt też zlecił inny portfel Binance wysłanie 823 mln USDC.
Binance 16. Drugi hot wallet został okradziony w prostszy sposób. System Binance otrzymał dziewięć fałszywych transferów, które podpisał i wysłał razem z prawdziwymi wypłatami klientów. Przesłały one 28 005,6 ETH i 55,7 mln USDT.
20:30–21:14 UTC: Wyścig do niezamrażalnych coinów
Na Ethereum 500 mln USDT opuściło główny adres odbiorczy w ciągu sześciu minut. Między 20:34 a 21:09 atakujący zamienił 435 mln USDT na ETH przez Uniswap, zdecentralizowaną giełdę opartą na kodzie. Wpłacił też 60 mln USDT na Aave, protokół pożyczkowy, i pożyczył 19 762 ETH pod ich zastaw, zostawiając zamrażalne zabezpieczenie.
Na sieci Tron 612,7 mln USDT opuściło portfel Binance-Hot 7. W 16 swapach na SunSwap, głównej zdecentralizowanej giełdzie Trona, atakujący zamienił 234 mln USDT na 638,2 mln TRX.
Wyścig do zamrożenia
Aby zamrozić USDT, Tether potrzebował trzech zatwierdzeń z portfela wielopodpisowego, co wymaga kilku zgód. Każde zamrożenie trwało do 2 minut 36 sekund, a oczekujące żądania widać było on-chain. Atakujący widział, że zamrożenie nadchodzi i mógł zdążyć wycofać środki: jeden portfel przesunął 130 mln USDT zaledwie 48 sekund przed blokadą. Jednak na innym adresie atakujący zwlekał i stracił prawie 175 mln USDT.
Wszystkie 823 mln USDC leżały na jednym adresie i zostały zamrożone jednym ruchem.
| Zamrożone przez Tether i Circle | Ilość |
|---|---|
| Ethereum USDT | 1,38 mld USD |
| Ethereum USDC | 823 mln USD |
| Tron USDT | 378,7 mln USD |
| Avalanche USDt | 8,4 mln USD |
| Razem | 2,59 mld USD |
Inni emitenci zamrozili USD1, XAUt, PAXG, wBETH i FDUSD, a wydawca BEAM spalił 984 mln skradzionych tokenów. Rada bezpieczeństwa Arbitrum, 12-osobowy organ awaryjny, przejęła 8426 ETH i 74,56 mln ARB.
W sumie zamrożono, spalono lub przejęto ok. 2,79 mld USD. Nadal jednak 669 mln USDT już zamieniono na ETH i TRX.
21:43–00:10 UTC: Portfel, który ciągle okradano
Binance 14 pozostawał pod kontrolą atakującego.
- 21:43:59 — rutynowy przelew z Binance przesyła 200 mln USDT do Binance 14. Po 12 sekundach kontrakt ściąga środki. USDT wylądowało na już zamrożonym adresie, ale prawie 370 ETH uciekło.
- 22:39 — kolejny transfer przejmuje 128,49 ETH.
- 23:56 — 2961,91 ETH znika minutę po dotarciu na portfel.
- 00:10:35, 30 października — Binance w końcu przerywa przekazanie kontroli.
Atakujący utrzymał portfel przez prawie cztery godziny.
Gdzie trafiło 18 270 BTC
O 20:20:06 jedenaście transakcji przeniosło 18 270,2 BTC z gorącego portfela Binance, płacąc dwukrotnie wyższą opłatę niż zwykle. Coina rozbito pomiędzy 19 adresów, z których 17 trzyma po 1000 BTC. Do 30 października żaden nie wykonał transakcji. Publiczny rejestr Bitcoin pozwala je śledzić, ale nikt nie ma możliwości zamrożenia tych środków.
30 października, 04:02: Połączenie z Bitget
Najważniejsze odkrycie BitOK: skradzione środki z Binance trafiły na ten sam adres Ethereum, który już zbierał środki z hacku Bitget we wrześniu 2026 roku.
Atakujący przesłał TRX i USDT przez THORChain, protokół umożliwiający wymianę monet między blockchainami, i otrzymał ETH na adres 0x15104a9ce0f08a8f0075a0869ae80e795fe0feb7.
Ten adres już wcześniej otrzymał ETH powiązane z atakiem na Bitget. Środki pochodziły z adresów Bitcoin na opublikowanej przez Bitget liście portfeli atakującego, aktywnych od 23 października, a pierwotnie były ZEC — monety, której nigdy nie skradziono z Binance.
Do godziny 06:20 na adres trafiło osiem wypłat powiązanych z Bitget (349,46 ETH) i pięć powiązanych z Binance (13,63 ETH), a następnie środki zostały przesłane na nowe portfele. Sam wspólny adres nie wskazuje, kto stoi za którymkolwiek z tych ataków.
Czy to sprawka Korei Północnej?
Oba ataki opierały się na włamaniu do systemów wewnętrznych bez kradzieży kluczy prywatnych, a Bitget za swój incydent obwinił Koreę Północną. BitOK zauważył też cechy kojarzone z grupami z Korei Północnej: przygotowania, finansowanie przez Tornado Cash, natychmiastowe wymiany zamrażanych tokenów oraz działania prowadzone w godzinach pracy według UTC+9.
„Nowo zidentyfikowany wspólny adres do prania środków jest mocniejszym dowodem na nakładanie się operacji niż same podobieństwa w taktyce. BitOK ocenia, że oba te kradzieże mogą być powiązane z tą samą grupą z Korei Północnej i jeden operator kontrolował obserwowany przepływ środków. To jednak wciąż atrybucja analityczna, a nie dowód tożsamości wszystkich uczestników.”
Odpowiedź Binance
Binance wstrzymał wypłaty z gorących portfeli Bitcoin i Tron około godziny 20:36, ale wpłaty nadal trwały. Zapewniono pokrycie wszystkich strat klientów z funduszu awaryjnego SAFU oraz własnych środków firmy.
Na rynku w ciągu 24 godzin zlikwidowano pozycje z dźwignią o wartości 1,58 mld USD, według danych Coinglass.
Co obecnie trzymają atakujący?
Na godzinę 06:20 dnia 30 października BitOK powiązał atakującego z:
- 197 460 ETH,
- 18 270,2 BTC,
- 233,46 mln XRP,
- około 970 500 SOL,
- 675,9 mln TRX,
- oraz 1,61 mln AVAX.
Same ETH, BTC, XRP i SOL były warte około 2,95 mld USD.
Atakujący przejęli system podpisywania wypłat z Binance. BitOK podzielił się lekcjami dla branży kryptowalut, które wynikają z włamania na Binance.
„Incydent Binance pokazuje, że sama ochrona kluczy prywatnych nie wystarcza. Giełdy muszą też kontrolować dostęp do prawa podpisu, wdrażać zabezpieczenia przed podejrzanymi instrukcjami wypłat, natychmiast unieważniać skompromitowane uprawnienia oraz stale monitorować przepływ aktywów w sieciach.”











