Bitcoin.com News
Bereitgestellt von

Kasplex KRC-20 Indexer Signature entleert zwei Token-Pools

An diesem Wochenende entwendete ein Angreifer 186,4 Millionen ZEAL und 54,4 Milliarden NACHO aus einer Kaspa-KRC-20-Bridge-Wallet, ohne über den privaten Schlüssel zu verfügen. Anschließend schleuste er die Token über Layer-2-Netzwerke (L2) um und verkaufte sie in Liquiditätspools. Das Seltsame daran ist, dass Kaspa selbst nicht gehackt wurde. Fünf gültige Transaktionen täuschten einen Off-Chain-Indexer so, dass er Übertragungen anerkannte, die niemand tatsächlich signiert hatte. Dadurch blieben die über die Bridge übertragenen Token ungedeckt, und einige Pools verloren bis zu 99,6 % ihres Wertes auf der KAS-Seite.

GESCHRIEBEN VON
TEILEN
Kasplex KRC-20 Indexer Signature entleert zwei Token-Pools

Wichtige Erkenntnisse

  • Ein Angreifer transferierte 54,4 Milliarden NACHO, ohne den privaten Schlüssel der Bridge-Wallet zu besitzen.
  • Zealous-Swap-Pools verloren nach den gefälschten Transfers 94 % bis 99,6 % ihres Wertes auf der KAS-Seite.
  • Igra hat wichtige Auszahlungen ausgesetzt, während sich die KRC-20-Betreiber darauf vorbereiten, das System zu patchen und neu zu indizieren.

Fünf Transaktionen, kein privater Schlüssel

Ein privater Schlüssel soll eigentlich den Unterschied ausmachen zwischen dem Besitz von Kryptowährung und der bloßen Kenntnis darüber, wo sie sich befindet. Am 20. September fand jemand einen Weg, diese Annahme für KRC-20-Token zu umgehen, ohne die Basis-Blockchain von Kaspa in irgendeiner Weise zu beeinträchtigen.

Der Angreifer transferierte 186.425.259 ZEAL und 54.397.983.246 NACHO von einer Bridge-Verwahrungsadresse, obwohl er deren privaten Schlüssel nicht kontrollierte. Diese Token wurden anschließend als gewöhnliche Bridge-Einzahlungen an dieselbe Verwahrungsadresse zurückgesendet, auf der EVM-Schicht von Igra Labs und auf Kasplex L2 geprägt und in die Liquiditätspools von Zealous Swap eingezahlt.

Als sich die Lage beruhigt hatte, waren die L2-Guthaben des Angreifers in ZEAL und NACHO leer, während die betroffenen Pools zwischen 94 % und 99,6 % ihres Wertes auf der KAS-Seite verloren hatten. Hier liegt der Haken: Die Layer-1-Schicht (L1) von Kaspa hat genau das getan, was sie tun sollte.

Eine leere Signatur, die dennoch akzeptiert wurde

Die Eigentumsverhältnisse bei KRC-20-Token werden nicht direkt durch den Kaspa-Konsens durchgesetzt. Token-Anweisungen sind in Kaspa-Transaktionen enthalten, während ein Off-Chain-Kasplex-Indexer diese Anweisungen auswertet und ermittelt, wem was gehört. Normalerweise enthält eine KRC-20-Übertragung einen öffentlichen Schlüssel, Token-Anweisungen und eine gültige Signatur. Der Angreifer behielt diese bekannte Struktur bei, lieferte jedoch eine leere Signatur und fügte nach OP_ENDIF ein OP_NOT hinzu.

X screenshot
Bildquelle: X

Eine leere Signatur führt dazu, dass OP_CHECKSIG den Wert „false“ zurückgibt, anstatt die Transaktion sofort abzubrechen. Das zusätzliche OP_NOT kehrte dieses Ergebnis wieder auf „true“ um, sodass Kaspa eine gültige Transaktion vorfand. Auf der Konsens-Ebene war nichts aus dem Ruder gelaufen. Beim Indexer sah die Sache anders aus. Er erkannte den KRC-20-Umschlag, verlangte jedoch nicht, dass das Skript exakt dem kanonischen Format entsprach. Folglich wertete er die gefälschte Übertragung als legitim aus. Die eigene API von Kasplex gab bei der ersten gefälschten ZEAL-Transaktion sogar „opAccept: 1“ zurück.

Jeder hätte die Fälschung erstellen können

Die fieseste Wendung war, dass der Angreifer keine versteckten Zugangsdaten aufspüren musste. Eine Standard-Kaspa-Adresse legt den öffentlichen Schlüssel offen, der zum Erstellen der gefälschten KRC-20-Transaktion benötigt wird. Das bedeutet, dass das Verschieben der Token auf eine andere Adresse das zugrunde liegende Problem nicht löst. Solange der Indexer nicht gepatcht und sein Verlauf neu indiziert wird, kann dieselbe Schwachstelle theoretisch auch bei KRC-20-Guthaben an anderer Stelle ausgenutzt werden.

Fünf Transaktionen fälschten die ZEAL- und NACHO-Überweisungen. Im Gegensatz dazu wurden neun winzige Abhebungen von jeweils einer Einheit tatsächlich von der Verwahrstelle signiert und scheinen Testläufe gewesen zu sein, um zu prüfen, ob der Ausweg funktionierte. Interessanterweise waren die legitimen Transaktionen die winzigen. Die Verwahrstelle hielt etwa 50 weitere KRC-20-Token. Der Angreifer wählte zwei aus.

Die Token sind noch da, aber die Deckung fehlt

Am Sonntagmorgen teilte Igra mit, dass der gesamte ZEAL- und NACHO-Bestand der Verwahrungs-Wallet entwendet worden sei, wodurch 97.651.212 ZEAL und 42.570.879.908 NACHO in den Layer-2-Netzwerken verblieben, ohne vollständige L1-Deckung. Weitere 4,5 Milliarden NACHO verblieben beim Angreifer auf L1.

Igra setzte iKAS-Auszahlungen an Kaspa L1 sowie Hyperlane-Transfers aus, während Nutzer davor gewarnt wurden, KRC-20-Token zu überbrücken, ZEAL oder NACHO auf dezentralen L2-Börsen (DEXs) zu kaufen oder den betroffenen Pools Liquidität hinzuzufügen. Native KAS, der Kaspa-Konsens und Igra-Assets, bei denen es sich nicht um überbrückte KRC-20-Token handelte, wurden als nicht betroffen beschrieben. Die Behebung des Softwarefehlers allein wird das Chaos nicht beseitigen. Zealous Swap erklärt, dass Betreiber den Indexer patchen und dessen Historie neu indizieren müssen, wobei leere Signaturen, fehlerhafte Tags und Skripte, die über OP_ENDIF hinausgehen, abgelehnt werden müssen. Nacho the Kat hingegen sagt, die Community beabsichtige, auf KCC-20 umzusteigen – einen Standard, der darauf ausgelegt ist, Token-Regeln in Skripte zu integrieren, die vom Netzwerk selbst durchgesetzt werden.

Das Problem folgt auf eine ganze Reihe von Exploits, Bugs, Hacks und Datenlecks in den letzten Wochen. Am Samstag gab Blink Wallet, ein Anbieter von verwahrenden und nicht-verwahrenden Infrastrukturen für das Lightning Network, bekannt, dass „ein paar Dutzend“ verwahrende Konten leergeräumt wurden. Auch das Cybersicherheitsunternehmen DCENT musste diese Woche feststellen, dass Gelder aus DCENT-App-Wallets abgezogen wurden. Dies geschieht zu einer Zeit, in der Cyberangriffe zugenommen haben, und manche vermuten, dass KI diese Welle von Angreifern unterstützt.

Dieser Artikel wurde mithilfe von KI aus dem Englischen übersetzt. Die englische Originalversion ist die maßgebliche Quelle; automatische Übersetzungen können Ungenauigkeiten enthalten, insbesondere bei rechtlicher und regulatorischer Terminologie.