Sel nädalavahetusel võttis ründaja Kaspa KRC-20-silla rahakotist välja 186,4 miljonit ZEAL-i ja 54,4 miljardit NACHO-t, omamata selle privaatvõtit, ning suunas tokenid seejärel teise kihi (L2) võrkude kaudu ringlusse ja müüs need likviidsusfondidesse. Kummaline on see, et Kaspa ise ei olnud häkitud. Viis kehtivat tehingut petasid ahela-välise indekseerija, pannes teda tunnistama ülekandeid, mida keegi tegelikult allkirjastanud ei olnud, mille tulemusena jäid sillatatud tokenid tagatiseta ja mõnedest fondidest kadus koguni 99,6% nende KAS-poolse väärtusest.
Kasplex KRC-20 indekseerija „Signature Bypass” tühjendab kahte tokenite reservi

Peamised järeldused
- Ründaja liigutas 54,4 miljardit NACHO-tokenit, omamata silla rahakoti privaatvõtit.
- Zealous Swap'i fondid kaotasid võltsitud ülekannete järel 94% kuni 99,6% oma KAS-poolse väärtusest.
- Igra peatas peamised väljumised, kuna KRC-20 operaatorid valmistuvad süsteemi parandama ja uuesti indekseerima.
Viis tehingut, ilma privaatvõtmeta
Privaatvõti peaks olema piir krüptovaluuta omamise ja lihtsalt selle asukoha teadmise vahel. 20. septembril leidis keegi viisi, kuidas seda eeldust KRC-20-tokenite puhul ümber minna, ilma et Kaspa põhiahelat üldse rikuks.
Ründaja kandis 186 425 259 ZEALi ja 54 397 983 246 NACHO-d üle silla hoiustamisadressilt, kuigi tal puudus selle privaatvõtme kontroll. Need tokenid saadeti seejärel tagasi samale hoiustamisele aadressile tavaliste silla hoiustustena, vermiti Igra Labsi EVM-kihil ja Kasplex L2-l ning suunati Zealous Swapi likviidsusfondidesse.
Kui olukord oli rahunenud, olid ründaja L2 ZEAL-i ja NACHO saldod tühjad, samas kui mõjutatud reservid olid kaotanud 94% kuni 99,6% oma KAS-poolse väärtusest. Siin on konks: Kaspa esimene kiht (L1) tegi täpselt seda, mida ta pidi tegema.
Tühi allkiri, mis ikkagi läbi läks
KRC-20-tokenite omandiõigust ei rakendata otseselt Kaspa konsensuse kaudu. Tokenite juhised sisalduvad Kaspa tehingutes, samal ajal kui ahela-väline Kasplexi indekseerija loeb neid juhiseid ja määrab kindlaks, kellele miski kuulub. Tavaliselt sisaldab KRC-20 ülekande avalik võti, tokeni juhised ja kehtiv allkiri. Ründaja säilitas selle tuttava struktuuri, kuid esitas tühja allkirja ja lisas OP_ENDIF-i järele OP_NOT-i.

Tühi allkiri põhjustab selle, et OP_CHECKSIG tagastab väärtuse „false”, selle asemel et tehingut kohe katkestada. Lisatud OP_NOT muutis selle tulemuse tagasi „true”-ks, jättes Kaspa jaoks kehtiva tehingu. Konsensuse tasandil ei läinud midagi valesti. Indekseerija oli aga teine lugu. See tuvastas KRC-20 ümbriku, kuid ei nõudnud, et skript vastaks täpselt kanonilisele formaadile. Seetõttu tunnistas ta võltsitud ülekande õiguspäraseks. Isegi Kasplexi enda API tagastas esimesel võltsitud ZEAL-tehingul opAccept: 1.
Igaüks võis võltsingu luua
Kõige vastikum pööre oli see, et ründajal ei olnud vaja avastada mingeid peidetud volitusi. Tavaline Kaspa aadress paljastab avaliku võtme, mida on vaja võltsitud KRC-20 tehingu koostamiseks. See tähendab, et tokenite teisele aadressile viimine ei lahenda põhiprobleemi. Kuni indekseerija pole parandatud ja selle ajalugu uuesti indekseeritud, saab sama viga teoreetiliselt kasutada ka mujal KRC-20 saldode vastu.
ZEALi ja NACHO ülekandeid võltsiti viie tehinguga. Seevastu ühe ühiku suurused üheksa väikest väljavõtmist olid hoiukoti poolt tõepoolest allkirjastatud ja näivad olevat olnud katsed, millega kontrolliti, kas väljumistee toimis. Huvitaval kombel olid õiguspärased tehingud just need väikesed. Hoiukotis oli ligikaudu 50 muud KRC-20 tokenit. Ründaja valis neist kaks.
Tokenid on endiselt olemas, kuid tagatis puudub
Pühapäeva hommikul teatas Igra, et hoiukoti kogu ZEAL-i ja NACHO-i varud võeti ära, jättes 97 651 212 ZEAL-i ja 42 570 879 908 NACHO-i 2. kihi võrkudesse ilma täieliku 1. kihi tagatiseta. Veel 4,5 miljardit NACHO-tokenit jäi ründaja kätte L1-võrgus.
Igra peatas iKAS-i väljamaksed Kaspa L1-le ja Hyperlane’i ülekanded, samal ajal kui kasutajaid hoiatati KRC-20-tokenite sillutamise, ZEAL-i või NACHO ostmise eest L2 detsentraliseeritud börsidel (DEX-idel) või likviidsuse lisamise eest mõjutatud poolidesse. KAS-i natiivtokenid, Kaspa konsensus ja Igra varad, mis ei olnud sillutatud KRC-20-tokenid, jäid mõjutamata.
Ainuüksi tarkvara parandamine ei aita segadust lahendada. Zealous Swap väidab, et operaatorid peavad indeksija parandama ja selle ajaloo uuesti indekseerima, lükates tagasi tühjad allkirjad, valesti vormistatud sildid ja skriptid, mis jätkuvad pärast OP_ENDIF-i. Nacho the Kat ütleb samal ajal, et kogukond kavatseb liikuda KCC-20 suunas – see on standard, mis on loodud selleks, et paigutada tokenite reeglid skriptidesse, mida rakendab võrk ise.
See probleem järgneb viimaste nädalate jooksul toimunud arvukatele turvaaukudele, veadele, häkkimistele ja andmelekkidele. Laupäeval teatas Lightning Networki hooldus- ja mittehooldusinfrastruktuuri pakkuja Blink Wallet, et „mõned tosinad” hoolduskontod tühjendati. Ka küberturvalisusettevõte DCENT täheldas sel nädalal, et DCENT App Walleteid tühjendati. See toimub ajal, mil küberturvalisuse rünnakud on sagenenud, ning mõned kahtlustavad, et tehisintellekt aitab kaasa sellele ründajate laine tekkele.
See artikkel tõlgiti inglise keelest tehisintellekti abil. Ingliskeelne originaalversioon on autoriteetne allikas; automaatsed tõlked võivad sisaldada ebatäpsusi, eriti juriidilises ja regulatiivses terminoloogias.











