Original-Link: https://rekt.news/singularitynet-rekt

Quellen: SingularityNET, SlowMist, Bitquery, PeckShield, ASI Alliance, Blockaid, Uniswap, Baltex, AMLBot, NuNet, Fetch.ai.

Erklärung: Dieser Artikel ist eine Wiedergabe. Leser können über den Original-Link weitere Informationen erhalten. Wenn der Autor gegenüber der Wiedergabeform Bedenken hat, kontaktieren Sie uns bitte; wir werden gemäß den Vorgaben des Autors Änderungen vornehmen. Die Wiedergabe dient nur dem Informationsaustausch, stellt keine Anlageberatung dar und spiegelt nicht die Positionen und Ansichten von Wu Shuo wider.

SingularityNET arbeitet seit Jahren daran, einen Marktplatz zu fördern, der für selbstgesteuerte KI-Agenten gedacht ist.

Doch am Abend des 19. September war der eifrigste „Agent“ im Netzwerk nicht etwa ein Skript, das vom SingularityNET-Team geschrieben wurde.

Der Angreifer drang in die Cloud-Infrastruktur dieses Projekts ein, erlangte die freigelegten Signaturberechtigungen und zapfte allein mit einer Signatur die FET-Liquidität in den Umtauschverträgen auf Ethereum ab. Anschließend mintete er innerhalb von neun Stunden aus dem Nichts insgesamt 2,3 Milliarden Token – AGIX, NTX, WMTX und CGV. Einige Berichte führten den gestohlenen Betrag mit 16,77 Millionen US-Dollar an. Doch die Rekonstruktion der einzelnen Transaktionen zeigt: Die tatsächlich realisierten Mittel, die der Angreifer erhielt, belaufen sich auf etwa 2,29 Millionen US-Dollar; die meisten der geminteten Token wurden nicht verkauft. Alle Schlüssel, die zum Signieren verwendet wurden, waren echt und gültig. Jeder Contract, der Anweisungen ausführte, lief ebenfalls nach dem vorgesehenen Logikschema.

Doch die Auswirkungen dieses Angriffs gehen weit über den reinen Vermögensverlust hinaus. Tage später haben die betroffenen Parteien immer noch keinen vollständigen Post-Incident-Untersuchungsbericht veröffentlicht.

Wenn der Schlüssel des gesamten AI-Projektverbunds in derselben Cloud-Infrastruktur gespeichert ist: Wer kontrolliert diese Maschine wirklich?

Quellen: SingularityNET, SlowMist, Bitquery, PeckShield, ASI Alliance, Blockaid, Uniswap, Baltex, AMLBot, NuNet, Fetch.ai.

Der erste ausgewiesene Vermögensschaden war FET – aber der Angriff blieb nicht dabei stehen.

Um 19. September 20:21 schloss der Angreifer die Übertragung von FET ab. Nur 2 Minuten und 24 Sekunden später waren die abgezogenen rund 870.000 FET vollständig gegen 522,78 ETH getauscht. Um 21:40 schickte Blockaid für den Abfluss dieser FET-Mittel eine Alarmmeldung und wies darauf hin, dass dasselbe Wallet außerdem große Mengen von NTX erhielt, die durch die Deployers-Adresse von NuNet gemintet wurden. Blockaid hatte es zunächst als Angriff auf Fetch.ai bezeichnet, doch SingularityNET bestätigte anschließend: Kompromittiert war die eigene Infrastruktur. Der Vorfall, der anfangs so aussah, als beträfe er nur Fetch.ai, hat einen größeren Umfang, als zunächst angenommen.

Um 2:47 Uhr am 20. September hatte SlowMist bereits den Angriffsvorgang identifiziert: Solange man den Schlüssel des Autorisierers kontrolliert, reicht das aus, um die Cross-Chain-Bridge abzuzapfen. Eine geleakte Schlüsseldatei – plus ein Vertrag, der ihr vertraut – diese Geschichte spielt sich wiederholt ab.

Das Abziehen von FET war nicht das Ende des Angriffs. 29 Minuten später, also um 20:50 am 19. September, nutzte der Angreifer die Minting-Berechtigung von NuNet und erstellte direkt auf dem Token-Contract etwa 408,5 Millionen NTX. Eine noch größere Minting-Welle begann am nächsten Tag ab 03:13: Der Angreifer mintete AGIX unautorisert in Batches à 10 Millionen Token; um 03:38 begann dann das illegitime Minting von WMTX. Das Minting von AGIX dauerte bis 04:21; anschließend durchlief CGV zwischen 04:34 und 04:38 genau 50 Minting-Calls.

Bis zum Tagesanbruch hatte die öffentliche Alarmierung den Umfang des Vorfalls bereits erweitert: von aus einer Cross-Chain-Bridge abgezapftem Kapital hin zu einem kompromittierten Berechtigungszugriff mehrerer Token. Frühe Wallet-Snapshots schätzten den nominalen Wert der Angreiferbestände auf etwa 16,77 Millionen US-Dollar, doch diese Bewertung ging davon aus, dass neu gemintete Token, die noch nicht tief genug gehandelt wurden, zu Marktkonditionen hätten verkauft werden können.

Der Angriff endete nicht mit dem Beginn der Nacht. Um 13:10 am 20. September übertrug ein Zahlungs-Contract von SingularityNET den gesamten Bestand von 289.575,10 USDC an ein Wallet, das während des Einbruchs zuvor geleert worden war. 12 Sekunden später gelangten diese Mittel in das zweite Sammelwallet des Angreifers.

Wie kann eine gestohlene Signatur ausreichen, um eine Cross-Chain-Bridge mit nur einem Aufruf abzulassen? Und warum gibt es On-Chain keine Mechanismen, die das verhindern?

Nie gestartete Transaktionsschlüssel

Die über Cross-Chain-Bridges von SingularityNET unterstützten Token erstrecken sich über zwei Ketten. Für die unterstützte Cardano-zu-Ethereum-Übertragungsroute werden die Token zunächst auf Cardano zerstört und anschließend durch die Cross-Chain-Bridge auf der Ethereum-Seite das entsprechende Token mintet oder freigibt. Allerdings validiert der Contract auf der Ethereum-Seite nicht unabhängig, ob die Zerstörung auf Cardano tatsächlich erfolgt ist; er behandelt stattdessen die Signatur, die vom vorher definierten Autorisierer bereitgestellt wurde, als Beweis, dass die Zerstörung abgeschlossen sei.

Bitquery hat in den betroffenen Cross-Chain-Bridges fünf Autorisierer-Adressen gezählt. Diese Adressen hatten zuvor noch nie On-Chain-Transaktionen gesendet. Dieses Muster passt zu Signaturschlüsseln, die zum Freigeben von Cross-Chain-Bridge-Assets verwendet werden – nicht, um direkt Transaktionen anzustoßen. SingularityNET erklärte später, ein unautorisierter Dritter habe „auf Teile unserer Cloud-Infrastruktur zugegriffen“, ohne jedoch zu erläutern, wie der Zugriff zustande kam.

Diese Konstruktion bündelt das Vertrauen jeder einzelnen Cross-Chain-Bridge in einer Partei, die ihre Signaturberechtigungen kontrolliert.

Cross-Chain-Tauschvertrag, der das gesamte FET-Guthaben abgezogen hat: 0xab424a430cc09864fa1277a38193111705adf3a3

Tauschautorisierer, der die Absendung der Mittel genehmigt: 0x69e5446b07b23de0a76730062c3252152216c85c

Angriffstransaktion zur Freigabe von 8.721.530,40 FET: 0xfe12c63b322d52727c615f3342222138d1563400a9880cebb516a9a162ac69e2

Athena hat einen forensischen Bericht für ASI Alliance erstellt. Darin werden aus den Signaturen der aktuellen Abgangsoperationen die Adresse des Unterzeichners rekonstruiert und bestätigt, dass sie mit dem im Vertrag aktuell konfigurierten Autorisierer übereinstimmt. Der Bericht sagt: Seit der Bereitstellung dieses Tauschvertrags im September 2024 wurde dieser Autorisierer nie geändert.

Zwei Designentscheidungen verstärken die Auswirkungen eines gescheiterten Autorisierungsumfangs. Erstens verwendet conversionIn() die Signatur eines einzelnen externen Kontos (EOA) als einzige Autorisierungsprüfung; zweitens führt diese Funktion keine Grenzprüfung (checkLimits(amount)) aus, wie sie in conversionOut() genutzt wird. Daher begrenzt die im Vertrag konfigurierte Obergrenze von 100 bis 1 Million FET die conversionIn()-Funktion nicht. Der Vertrag akzeptierte schließlich Freigabeanfragen für rund 8,72 Millionen FET – etwa das 8,7-Fache der angegebenen Höchstgrenze.

Der forensische Bericht von Athena fand außerdem: Alle 100 normalen ConversionIn-Ereignisse verwendeten UUID-Formatbezeichner, die vom SingularityNET-Backend generiert wurden. Der Bezeichner, der bei diesem Angriff verwendet wurde, war dagegen eine Zeichenkette aus rohen, nicht-ASCII-Bytes – die einzige Ausnahme. Diese Transaktion entspricht nicht den Merkmalen normaler Cross-Chain-Bridge-Vorgänge.

Der Angriff auf einen Teil von NuNet betraf stattdessen noch direktere Berechtigungen. Etwa 408,5 Millionen NTX wurden überhaupt nicht über den Tauschvertrag umgewandelt. Stattdessen generierte eine Adresse mit der On-Chain-Minting-Rolle für die NuNet-Kette direkt Token, indem sie die mint()-Funktion im Token-Contract aufrief.

Transaktion zum Minting von 408.532.878,13 NTX: 0xe14442f6171d8a652e79d44336e58c00cdab271bdb69c668493d420e03ee13ab

Das Batch-Minting von AGIX wird durch die Deployers-Adresse von SingularityNET ausgeführt: 0xA7A31d206042B8A3E81aa4cf8c68c1B76856eE48

Die Contract-Aufrufe der Tauschverträge für AGIX, WMTX und CGV endeten jeweils mit einer Minting-Operation, die sich von gewöhnlichen Batch-Mengen unterscheidet. Dieses Muster passt zu einem automatisierten Minting-Betrieb, der fortläuft, bis eine bestimmte Bedingung einer Operation erreicht wird.

Der WMTX-Tauschvertrag von World Mobile hat tatsächlich eine Obergrenze für einen einzelnen Aufruf, aber er hat den Angriff nicht verhindert – er zwang den Angreifer lediglich, das Minting in 503 Aufrufe aufzuteilen. Die meisten dieser Aufrufe minteten genau 1 Million WMTX, und innerhalb eines einzelnen Blocks kam es maximal zu zehn Vorkommen.

Bitquery berichtet, dass noch bevor irgendein Token gemintet wurde, bereits 16 Wallets innerhalb von 21 Minuten geleert wurden – im selben Zeitraum trat zudem BNB-Chain-Aktivität im Zusammenhang mit diesem Geschehen auf. Laut Adressverzeichnis sind vier der Wallets mit SingularityNET- oder NuNet-Mitarbeiter-Tags versehen, darunter ein Konto, das im Jahr 2022 bereitgestellte relevante Tauschverträge hatte. Das deutet darauf hin, dass der Vorfall mehrere Autorisierungspfade von betroffenen Projekten betraf.

Eine Recovery-Adresse änderte die Autorisierer-Konfiguration der NuNet-, Cogito- und Rejuve-Tauschverträge und fror anschließend NTX ein. Bitquery sagt, dass die AGIX- und WMTX-Tauschverträge nicht auf die gleiche Weise und rechtzeitig behandelt werden konnten, weil deren Eigentümer jeweils ein Gnosis Safe Multi-Sig-Wallet sowie ein Safe Multi-Sig-Wallet waren, bei dem drei von vier Unterzeichnern zustimmen müssen. Während der Übergabe der Berechtigungen lief das Minting von AGIX und WMTX noch etwa eine Stunde weiter.

SingularityNET schrieb: „Unser System wird regelmäßig auditiert und entspricht den branchenüblichen Sicherheitsstandards.“ Audits können den Smart-Contract-Code bewerten, aber allein ein Audit beweist nicht, dass die Off-Chain-Systeme und privaten Schlüssel, die zum Generieren von Signaturen oder zum Ausüben von Signaturberechtigungen verwendet werden, sicher sind. Die autorisierten Schlüssel, die mit den betroffenen Projekten zusammenhängen, lieferten gültige Signaturen – wodurch viele zusätzliche Token generiert werden konnten.

Wie viel von den hohen Verlusten in dem Bericht wurde letztlich zu liquiden Vermögenswerten, und wie viel waren nur neu geschaffene Token, die der Markt möglicherweise gar nicht aufnehmen kann?

Buchwert in Millionen US-Dollar

Die verschiedenen Zahlen in diesem Artikel messen unterschiedliche Dinge. Unautorisierter Abzug von Token aus dem Vertrag ist ein unmittelbarer Vermögensverlust; unautorisierte Token-Minting-Aktivitäten zerstören dagegen die Token-Angebotsbasis. ETH und Stablecoins, die dem Angreifer zugerechnet werden, durch den Verkauf von Token oder das direkte Abziehen von Vermögenswerten gewonnen – das ist bereits realisierter Gewinn. Geldbestände, die auf Token-Marktnotierungen berechnet werden, entsprechen weder automatisch Cash noch automatisch einem zurückholbaren Wert. Frühere Berichte verwischten diese Konzepte wiederholt.

Das Minten von 2,3 Milliarden Token ist leicht – einen Käufer zu finden ist jedoch nicht so einfach. Das per Bridge abgezogene FET stellt den größten identifizierten Single-Asset-Liquiditätsverkauf dar. Eine über den MetaMask-Router durchgeführte Umtausch-Transaktion tauschte diese FET in 522,78 ETH um, nachdem die auf diesem Pfad sichtbar gemachten Gebühren abgezogen waren.

Transaktion, bei der etwa 8,72 Millionen FET gegen 522,78 ETH getauscht wurden: 0x98f6e59b54fd4d2c086cc7cab4e7070edff6410210a1bf1fbaffd62da3b76d1c

Zwei Adressen erhielten den Großteil der identifizierten Erlöse und geminteten Token. Die wichtigste Sammeladresse des Angreifers erhielt das abgezogene FET und die neu geminteten NTX. Laut Rekonstruktion empfing sie außerdem bei den 90 AGIX-Minting-Calls die ersten 26 sowie bei den 503 WMTX-Minting-Calls die ersten 54 als Empfänger.

Hauptsammeladresse des Angreifers: 0x2dcc1085fdcf418b421e45e86e4e54637cc21dfe

Das zweite Wallet erhielt die über 64 verbleibende AGIX-Minting-Calls erzeugten Token, 449 WMTX-Minting-Calls sowie alle 50 CGV-Minting-Calls, zusammen mit den USDC aus dem Zahlungs-Contract.

Adresse des zweiten Wallets: 0x83f4424a401a9bb75f90314f21adaea6a9ce09c5

Bitquery führt die frühen Geldquellen der wichtigsten Sammeladresse auf ChangeNOW zurück.

Transaktion, mit der ChangeNOW Mittel bereitstellte: 0xa99a8b71bd90d295db305639fc976339a057812c2693f3e44ae9288e5c13ebe1

Die Ethereum-Historie dieser Sammeladresse zeigt außerdem, dass es am 1. September eine Lieferung gab, die über die Across-Cross-Chain-Bridge abgeschlossen wurde.

Cross-Chain-Delivery-Transaktion vom 1. September (Across): 0xb56d3b900b5ac694d56d6efb9552a89fc0a14641eceefa7e16107cb8ccb0ea6d

Am 20. September um 04:04 erhielt das zweite Wallet ETH zur Zahlung von Gas und begann etwa eine Minute später, die Token zu verkaufen.

Transaktion, mit der das zweite Wallet Gas-Gelder erhält: 0x4e8894823caaf8fefaf0849cf69b30148ae5ddcee9e7f9bd0c1be0dae0c720c2

Transaktion, bei der das zweite Wallet MetaMask Swap Router für 100.000 WMTX autorisierte: 0x8fcaa005da0c1a5ab138898571e2974ba8aa8f0b9864381e5b2b98b81e702da9

Der erste Verkauf des zweiten Wallets mit WMTX-Transaktionen: 100.000 WMTX werden nach Abzug der angezeigten MetaMask-Gebühren gegen 0,832455441 ETH getauscht: 0xcf4b119f38d0da10dccac787234e05c6cabe3440dfe303f4f407daa92ab8829e

Das Vermögen war auf zwei Wallets verteilt, wodurch die Statistik im Bericht noch komplexer wurde. Die frühe Alarmierung von PeckShield bewertete das als Angreifervermögen identifizierte Guthaben mit 16,77 Millionen US-Dollar und umfasste 198,3 Millionen AGIX, 649 ETH und 33,538 Millionen WMTX.

Das tatsächliche Verkaufsergebnis offenbart den Unterschied zwischen Buchbewertung und Umsetzungsfähigkeit. Ein über MetaMask gerouteter, über Mayan ausgeführter Tausch hat 10 Millionen NTX in 940,39 USDT umgewandelt. Gleichzeitig nutzt das zweite Wallet UniswapX-Bestellungen, wobei ein externer Order-Ausführender die ETH-Gegenleistung bereitstellt. Die Abrechnungsaufzeichnungen können jedoch nicht belegen, wie diese Ausführenden die Mittel aufbrachten, wie sie absicherten oder wie sie am Ende das erhaltene WMTX behandelten.

Transaktionen, die über den MetaMask/Mayan-Pfad für NTX getauscht wurden: Einsatz von 10.000.000 NTX, 940,5087 USDT gelangen an den Mayan-Quell-Contract auf Ethereum; diese werden zur Abwicklung auf BNB Chain verwendet: 0xb6ecca4deeb2a616507a3f5779cb12db4fd986e5ee37c1832237fae2a1f1258f

CGV ist das extremste Beispiel: 246,2 Millionen CGV in den Cogito-Uniswap-Pool verkauft – und dafür nur 0,0123 ETH zurückbekommen.

Transaktion: 246.200.000 CGV gegen 0,0123 ETH getauscht. 0x69a28fb152b2b1b4158ec3db17f7baf565b644859a5150c38729bbb2d198bfad

Darüber hinaus flossen 289.575,10 USDC aus dem Zahlungs-Contract schließlich in das zweite Wallet und wurden zu einem weiteren großen Stablecoin-Eingang. Dieses Geld musste nicht durch den Verkauf neu ausgegebener Token beschafft werden.

Transaktion, mit der der Zahlungs-Contract an eine Zwischenadresse 289.575,1047 USDC sendet: 0x869343d87a137a52aebce119c8c35e2fc3500205bf7a8c574ec2e8f4ab677c18

Transaktion, mit der die Zwischenadresse 289.575,1047 USDC in das zweite Wallet überträgt: 0xca9facda3f3629fa72ff98b4c8e663d3b415011979d749fab96ed9eda287e66f

Stand 22. September ergab die Rekonstruktion der einzelnen Transaktionen: Die beiden wichtigsten Adressen erhielten gemeinsam Vermögenswerte im Gegenwert von etwa 742,7 ETH sowie Stablecoins im Wert von 362.075 US-Dollar. Diese Statistik umfasst nicht die noch nicht verkauften AGIX, WMTX, CGV und NTX. WETH und ETH wurden mit 1:1 umgerechnet; gezählt wurde dabei der Gesamtzufluss, nicht der Nettogewinn.

Ein erheblicher Teil der Liquiditätsassets verblieb nicht in diesen beiden Hauptwallets. Spätestens bis zum 21. September 00:00 hinterlegten drei unterschiedliche Wallets jeweils 75.000 USDC bei Chainflip, 75.000 USDC bei Baltex sowie 118.015,16 USDC bei Chainflip.

Baltex beschreibt seinen Service als „ohne KYC“ und wirbt für einen „Privacy“-Umtauschpfad mit Monero. Laut AMLBot hingegen hat ein Broker von Chainflip eine ETH-Einzahlung abgelehnt; AMLBot ordnete diese Einzahlung demselben Angreifer zu.

Transaktion zur Einzahlung von 75.000 USDC an Chainflip: 0x3c8b12fedf147d82c8a5506edf3fcad4b7e25c8b96e4fb13b10cf2915aba0076

Transaktion zur Einzahlung von 75.000 USDC an Baltex: 0x05d6d42c75356900e523116d34892b480e9f9134ba195db698d7b1448e0b0696

Letzte Transaktion zur Einzahlung von 118.015,16 USDC an Chainflip: 0xea254b148da1a6d028050f3a59f87845e3dc177ca37ef6441c7eb6cff47eb8ed

Kurz vor UTC-Mitternacht schickte das zweite Wallet an eine Empfangsadresse 93,70 ETH. Die in diesem Artikel zitierten öffentlichen Quellen bestätigten den Eigentümer dieser Adresse nicht. Etwa 40 Minuten später startete das Hauptsammelwallet des Angreifers zwei weitere Überweisungen; jede davon betrug genau 100 ETH.

Transaktion, mit der das zweite Wallet 93,70 ETH abzieht: 0x605d803890ae4eddc684f82f6de1a82c49a6a3f5646295c1a01fd897fa2a7577

Empfangswallet: 0x2fD3285C93437077EF5FA6cecc367FD24d0fF726

Die erste Absendetransaktion mit 100 ETH aus dem Sammel-Wallet des Angreifers: 0xa8511628388c330db78fcdcfe7af5577e1f300adee795b578508fb21203b4756

Transaktion, mit der der Angreifer hauptsächlich das zweite Set von 100 ETH aus dem Wallet abzieht: 0x14399c61687de491461f76e961a91d2c0dcda4c6bb00ba332ec18b19d394822f

AMLBot beschrieb anschließend zwei unabhängige Überweisungen mit jeweils 100 ETH. Eine davon wurde in etwa 266.000 USDC umgetauscht und dann über CCTP, Arbitrum und Hyperliquid in „FXMR“ überführt; die andere wurde – nachdem sie angeblich vom Broker bei Chainflip abgelehnt wurde – über THORChain in etwa 3,28 BTC umgetauscht. AMLBot hat die Quelladresse dieser Gelder nicht veröffentlicht.

Auch in beiden Wallets tauchten kleine „Staub“-Überweisungen und gefälschte Token-Transferaufzeichnungen auf: Die Absenderadresse imitiert gezielt die Adresse früherer Handelspartner. Das entspricht dem Muster eines Address-Poisoning-Angriffs. Wenn das tatsächlich das Ziel war, dann wollte jemand versuchen, erneut das Geld des Angreifers zu stehlen.

Stand 25. September: Die wichtigsten Sammel-Wallets des Angreifers halten ungefähr 433 ETH, 15,94 WETH und 52.395 mUSD – im Einklang mit dem etwa 433-ETH-Saldo, den AMLBot am Vortag gemeldet hatte. Zusätzlich hält dieses Wallet etwa 198,3 Millionen AGIX und 33,54 Millionen WMTX. Das zweite Wallet hält hingegen etwa 18.109 USDC, 625,86 Millionen AGIX, 166,49 Millionen WMTX und 246 Millionen CGV.

Der angezeigte Wert dieser Token ist nicht gleichbedeutend mit dem Wert, der tatsächlich verkauft werden kann. Wenn solche Bestände in dieser Größenordnung verkauft würden, stünden vermutlich Liquiditätsmangel und massive Preisschocks bevor. Die eigentliche Frage ist nicht, wie viel auf der Wallet-Ansicht angezeigt wird, sondern wie viel sich verkaufen lässt, ohne den Markt zu durchbrechen.

Laut Rekonstruktion dieser Transaktion beträgt die Gesamtmenge der bereits realisierten liquiden Vermögenswerte, die durch den Angriff verursacht wurde, etwa 2,29 Millionen US-Dollar. Realisierte Mittel lassen sich übertragen; die verbleibenden rund 1,27 Milliarden Token sind jedoch kaum in gleicher Weise umsetzbar. Wenn diese Bestände am Ende verkauft würden: Wer müsste die Kosten dafür tragen?

Sieben Zehntel der Token stammen aus illegalem Minting

Der Preis kann sich erholen – die Angebotsstruktur dagegen kann sich nicht von selbst wiederherstellen.

Bitquery zählte in der Cross-Chain-Abgleichung rund 1,28 Milliarden AGIX, davon wurden etwa 895,96 Millionen während des Angriffs gemintet, also 70,1 % der erfassten Gesamtmenge; die restlichen etwa 382,65 Millionen lassen sich bis auf die Versorgung vor dem Angriff zurückverfolgen. Dieselbe Analyse zeigt, dass unautorisierte Minting-Token jeweils 81,1 % der erfassten CGV-Versorgung, 32,4 % der WMTX-Versorgung und 29,0 % der NTX-Versorgung ausmachen.

Diese NTX-Erhöhung brachte die in den Statistiken erfasste Cross-Chain-Gesamtversorgung auf etwa 1,41 Milliarden Token – mehr als die in den NuNet-Dokumenten festgelegten 1 Milliarde. Rund 40,10 Millionen illegitim gemintete NTX überquerten die Cross-Chain nach Cardano, und davon flossen etwa 40 Millionen in normale Liquiditätspools. Transaktionsaufzeichnungen lassen sich zwar bis zu diesen Tokenpfaden verfolgen, aber sobald sie in den Pool gelangen, kann der Liquiditätspool sie nicht mehr von legal emittiertem NTX unterscheiden.

Das Problem bei FET ist nicht das illegale Minting, sondern ob die Cross-Chain-Bridge es einlösen kann. Der Ethereum-Tauschvertrag, der für die Freigabe von aus Cardano gebridgetem FET verantwortlich ist, wurde ausgehöhlt, während auf Cardano noch etwa 870 Millionen FET vorhanden sind. Laut dieser Analyse hat seit der Abzweigung niemand versucht, FET von Cardano nach Ethereum zu überführen, daher ist noch kein Fall aufgetreten, in dem Nutzer aufgrund leerer Tauschvertragsbestände auf die Einlösung warten mussten.

Das Problem für NTX ist hingegen ein anderes: Rund 40 Millionen illegitim gemintete Token sind bereits in den normalen Liquiditätspool in Cardano gelangt. Obwohl die Quelle unautorisert ist, behandelt der Pool sie weiterhin wie jedes andere NTX.

SingularityNET erklärte, die kompromittierte Zugriffsmöglichkeit sei widerrufen, die betroffenen Cross-Chain-Bridges und Tauschverträge seien deaktiviert worden, und Überweisungen von AGIX und NTX auf Ethereum seien pausiert. Das Projektteam sagt: Die betreffenden Cross-Chain-Bridges bleiben offline, bis eine unabhängige Sicherheitsprüfung bestätigt, dass ein sicheres Wiederherstellen möglich ist. Bitquery stellte außerdem fest: Stand 20. September waren von den fünf Autorisierer-Schlüsseln noch drei nicht ausgetauscht. Ob diese Schlüssel bei abgeschalteten Bridges weiterhin nutzbar sind, lässt sich nur durch eine Wiederaufnahme des Betriebs praktisch prüfen.

Für Inhaber von AGIX hatte SingularityNET zunächst angegeben, man erstelle einen „legitimen, verifizierten“ weiteren Bearbeitungspfad für berechtigte Inhaber. Später kündigte das Team jedoch an, dass es den ursprünglichen AGIX-Token deaktivieren und Ersatz-Token für die betroffenen Inhaber ausgeben werde – ohne jedoch zu erklären, wer berechtigt ist, und ohne zu erläutern, wie die Ersatz-Token verteilt werden. Die Überweisungen von AGIX auf Ethereum sind weiterhin pausiert.

Unter den erfassten AGIX waren ungefähr sieben von zehn Token während des Angriffs gemintet. Daher ist die Frage der Anspruchsberechtigung weiterhin das schwierigste Problem. Jede alternative Lösung muss festlegen, wie Bestände behandelt werden, die nach illegalem Minting zwar über normale Markttransaktionen in Umlauf gebracht wurden.

Fetch.ai gab an, dass sein Vertrag nicht betroffen sei. ASI Alliance bestätigte, dass FET im Wert von 1,56 Millionen US-Dollar aus dem Tauschvertrag abgezogen wurde, und versprach, einen vollständigen Bericht zu veröffentlichen. Bis zum Zeitpunkt der ursprünglichen Veröffentlichung war dieser Bericht jedoch noch nicht erschienen, und es wurden auch keine Entschädigungspläne für Tokeninhaber veröffentlicht – weder für Ausführende von Ordern, die echtes Geld gezahlt hatten, um illegitim gemintete Token zu kaufen, noch für Liquiditätsanbieter.

Die Signaturen, die der Cross-Chain-Bridge-Contract akzeptiert, sind tatsächlich echt und gültig. Der Contract überprüft die Signatur und führt die Anweisung aus, ohne zu verifizieren, ob das von der Signatur behauptete Cross-Chain-Ereignis auch wirklich eingetreten ist. Das NTX-Minting von NuNet folgt dagegen einem anderen Weg: Der Angreifer nutzte direkt die Minting-Berechtigung des Tokens selbst.

Ein Bündnis mit Vision einer dezentralen KI – und doch waren die Minting-Berechtigungen von vier Token sowie die Berechtigung, FET aus den Tauschverträgen freizugeben, in einem Umfang zugänglich, den ein Angriff auf einmalige Infrastruktur erreichen konnte.

Wenn die Zukunft, die diese Projekte beschreiben, selbständig laufende Software ist: Wer überwacht dann die Software, die die Schlüssel besitzt?

Die Cross-Chain-Bridge und die Tauschverträge akzeptieren Signaturen der angegebenen Autorisierer. Während des Cross-Chain-Mintings behandelt der Contract diese Signaturen als Beweis, dass das entsprechende Ereignis auf der anderen Kette bereits eingetreten sei, ohne es selbst zu verifizieren. Das Minting von NTX ist dagegen anders: Der Angreifer nutzt seine Mint-Berechtigung und ruft direkt die mint()-Funktion im Token-Contract auf.

SingularityNET gab an, dass ein unautorisierter Dritter auf Teile seiner Cloud-Infrastruktur zugegriffen habe und dadurch über die Cross-Chain-Bridge-Infrastruktur Token gemintet sowie Vermögenswerte abgezogen habe. Fetch.ai erklärte, der eigene Vertrag sei nicht betroffen. Doch die öffentlichen Aussagen erklären nicht, wie der Angreifer den Zugriff erlangte, und führen auch nicht genau aus, wie die jeweiligen Berechtigungen offengelegt wurden.

On-Chain-Aufzeichnungen können nachvollziehen, welche Transaktionen durch diese freigegebenen Berechtigungen ermöglicht wurden, aber sie beweisen nicht, wie der Angreifer den Zugriff erlangte, und sie können auch nicht feststellen, wer hinter den Kulissen die relevanten Sicherheitsentscheidungen getroffen hat. Bitquery fand heraus: Die fünf Cross-Chain-Bridge-Autorisierer-Adressen hatten zuvor noch nie Transaktionen ausgelöst – das entspricht dem Zweck, diese Adressen für Off-Chain-Nachrichtensignaturen zu verwenden. Der Vertrag prüfte die Signaturen.

Wenn Signaturen als Beweis dienen: Wer prüft dann, ob das, wofür sie angeblich einstehen, auch wirklich stimmt?