Bitcoin.com News
Pokreće

Kasplex KRC-20 zaobilazak potpisa indeksatora ispraznio dva fonda tokena

Ovog vikenda napadač je izvukao 186,4 milijuna ZEAL-a i 54,4 milijarde NACHO-a iz Kaspa KRC-20 bridge walleta bez posjedovanja njegovog privatnog ključa, zatim je reciklirao tokene kroz mreže drugog sloja (L2) i prodao ih u poolove likvidnosti. Čudan dio je to što sama Kaspa nije hakirana. Pet valjanih transakcija prevarilo je off-chain indexer da prepozna prijenose koje nitko zapravo nije potpisao, ostavljajući bridgane tokene bez pokrića i neke poolove ogoljenima do čak 99,6% njihove vrijednosti na KAS strani.

PODIJELI
Kasplex KRC-20 zaobilazak potpisa indeksatora ispraznio dva fonda tokena

Ključne poruke

  • Napadač je premjestio 54,4 milijarde NACHO-a bez posjedovanja privatnog ključa bridge walleta.
  • Zealous Swap poolovi izgubili su 94% do 99,6% svoje vrijednosti na KAS strani nakon krivotvorenih prijenosa.
  • Igra je pauzirao ključne izlaze dok se KRC-20 operateri pripremaju zakrpati i ponovno indeksirati sustav.

Pet transakcija, bez privatnog ključa

Privatni ključ trebao bi biti granica između posjedovanja kripta i pukog znanja gdje se nalazi. Dana 20. rujna, netko je pronašao način da zaobiđe tu pretpostavku za KRC-20 tokene, a da uopće ne probije Kaspa bazni lanac.

Napadač je premjestio 186.425.259 ZEAL-a i 54.397.983.246 NACHO-a s adrese skrbništva bridgea, iako nije kontrolirao njezin privatni ključ. Ti su tokeni zatim poslani natrag na istu skrbničku adresu kao obični bridge depoziti, mintani na EVM sloju Igra Labsa i Kasplex L2 te istovareni u Zealous Swap poolove likvidnosti.

Kad se prašina slegla, napadačevi L2 ZEAL i NACHO saldi bili su prazni, dok su pogođeni poolovi izgubili između 94% i 99,6% svoje vrijednosti na KAS strani. Evo kvake: Kaspa prvi sloj (L1) radio je točno ono što je trebao.

Prazan potpis koji je ipak prošao

Vlasništvo nad KRC-20 tokenima nije provedeno izravno Kaspa konsenzusom. Upute za tokene putuju unutar Kaspa transakcija, dok off-chain Kasplex indexer čita te upute i određuje tko posjeduje što. Uobičajeno, KRC-20 prijenos sadrži javni ključ, upute za tokene i valjan potpis. Napadač je zadržao tu poznatu strukturu, ali je dostavio prazan potpis i dodao OP_NOT nakon OP_ENDIF.

X screenshot
Izvor slike: X

Prazan potpis uzrokuje da OP_CHECKSIG vrati false umjesto da potpuno obori transakciju. Dodatni OP_NOT preokrenuo je taj rezultat natrag na true, ostavljajući Kaspi valjanu transakciju. Na konsenzusnom sloju ništa nije ispalo iz tračnica. Indexer je bio druga priča. Prepoznao je KRC-20 omotnicu, ali nije zahtijevao da skripta točno odgovara kanonskom formatu. Posljedično je pripisao krivotvoreni prijenos kao legitiman. Čak je i Kasplexov vlastiti API vratio opAccept: 1 na prvoj krivotvorenoj ZEAL transakciji.

Svatko je mogao izgraditi krivotvorinu

Najgori obrat bio je to što napadač nije morao otkriti nikakav skriveni credential. Standardna Kaspa adresa izlaže javni ključ potreban za konstruiranje krivotvorene KRC-20 operacije. To znači da premještanje tokena na drugu adresu ne rješava temeljni problem. Dok se indexer ne zakrpa i njegova povijest ponovno ne indeksira, ista se mana teoretski može iskoristiti protiv KRC-20 salda i drugdje.

Pet transakcija krivotvorilo je ZEAL i NACHO prijenose. Devet sitnih povlačenja od jedne jedinice, nasuprot tome, bilo je stvarno potpisano od strane skrbništva i čini se da su bila probe koje su testirale radi li izlazna ruta. Zanimljivo, legitimne transakcije bile su one sitne. Skrbnički wallet držao je otprilike 50 drugih KRC-20 tokena. Napadač je odabrao dva.

Tokeni su još uvijek tamo, ali pokrića nema

U nedjelju ujutro, Igra je rekao da su sva ZEAL i NACHO sredstva iz skrbničkog walleta uzeta, ostavljajući 97.651.212 ZEAL-a i 42.570.879.908 NACHO-a na mrežama drugog sloja bez punog L1 pokrića. Još 4,5 milijardi NACHO-a ostalo je napadaču na L1.

Igra je pauzirao iKAS izlaze na Kaspa L1 i Hyperlane transfere, dok su korisnici upozoreni da ne bridgaju KRC-20 tokene, ne kupuju ZEAL ili NACHO na L2 decentraliziranim burzama (DEX-ovima) niti dodaju likvidnost u pogođene poolove. Nativni KAS, Kaspa konsenzus i Igra sredstva koja nisu bila bridgani KRC-20 tokeni opisani su kao nepogođeni.

Samo popravljanje softvera neće očistiti nered. Zealous Swap kaže da operateri moraju zakrpati indexer i ponovno indeksirati njegovu povijest, odbacujući prazne potpise, neispravne tagove i skripte koje se nastavljaju nakon OP_ENDIF. Nacho the Kat, u međuvremenu, kaže da se zajednica namjerava kretati prema KCC-20, standardu osmišljenom da pravila tokena smjesti u skripte koje provodi sama mreža.

Ovaj problem slijedi nakon niza exploita, bugova, hakova i curenja podataka tijekom posljednjih nekoliko tjedana. U subotu je pružatelj skrbničke i neskrbničke infrastrukture Lightning Networka Blink Wallet objavio da je „nekoliko desetaka” skrbničkih računa ispražnjeno. Kibernetička sigurnosna tvrtka DCENT također je ovog tjedna vidjela kako se DCENT App Walletovi izvlače. Tajming dolazi u trenutku kada su kibernetički napadi pojačani, a neki sumnjaju da AI pomaže ovom valu exploiterâ.

Ovaj je članak preveden s engleskog jezika pomoću umjetne inteligencije. Izvorna engleska verzija mjerodavan je izvor; automatski prijevodi mogu sadržavati netočnosti, osobito u pravnoj i regulatornoj terminologiji.