Am 19. September wurden über einen von SingularityNET genutzten Ethereum-Sidechain-Vertrag 8.721.530 FET im damaligen Wert von rund 1,55 Mio. Dollar abgezogen. 29 Minuten später erzeugte ein seit Jahren inaktiver NuNet-Minting-Schlüssel 408,5 Mio. NTX und überwies die gesamte Menge an dieselbe Empfänger-Wallet. Das Blockchain-Forensikunternehmen Athena hält einen koordinierten Ablauf für möglich. Ob WMTX über denselben Mechanismus betroffen war, ist bislang jedoch nicht belegt.
Fetch.ai setzte daraufhin den Umtauschdienst von AGIX in FET sowie den Ethereum-seitigen Bridge-Vertrag aus. Nach Angaben des Unternehmens gehört die betroffene Infrastruktur zu SingularityNET und betrifft vor allem die Ethereum-Cardano-Bridge. Die eigenen Verträge von Fetch.ai und normale FET-Überweisungen blieben funktionsfähig.
SingularityNET-Vertrag vollständig geleert
Die forensische Analyse identifizierte den betroffenen Vertrag als TokenConversionManagerV3. Dabei handelt es sich um die formale Ethereum-seitige Komponente des Bridge-Systems von SingularityNET, die Vermögenswerte sperrt und wieder freigibt. Der verifizierte Code stimmt mit dem öffentlich zugänglichen Code-Repository von SingularityNET überein. Der Vertrag ist außerdem mit dem FET-Token verbunden, der von der Artificial Superintelligence Alliance verwendet wird.
Nach Einschätzung der Ermittler entstand der Verlust durch die Kompromittierung eines Backend-Autorisierungsschlüssels und nicht durch eine Umgehung des Bridge-Vertrags selbst. Die Angriffstransaktion enthielt eine gültige Signatur einer Adresse, die der Vertrag bereits als vertrauenswürdig eingestuft hatte. Dadurch konnte der Angreifer die Funktion conversionIn aufrufen und sämtliche im Vertrag gehaltenen FET an eine von ihm kontrollierte Wallet übertragen.
Die Konstruktion des Vertrags vergrößerte die Auswirkung einer einzelnen Transaktion. Für Token, die Ethereum verlassen, galt zwar ein Limit von 1 Mio. FET. Für den Pfad über conversionIn wurde diese Begrenzung jedoch nicht durchgesetzt. Der Angreifer konnte deshalb rund 8,72 Mio. FET in einer einzigen Transaktion abziehen. Zudem band die signierte Nachricht die Transaktion nicht an eine endgültige Empfängeradresse. Jeder Aufrufer mit einer gültigen Autorisierung konnte damit die Wallet bestimmen, an die die Token gesendet wurden.
Inaktiver NuNet-Schlüssel erzeugt 408,5 Mio. NTX
Die On-Chain-Zeitleiste zeigt, dass ein seit März 2023 nicht verwendeter NuNet-Minting-Schlüssel am 19. September um 20:50 Uhr UTC – etwa 29 Minuten nach dem FET-Abzug – 408.532.878 NTX erzeugte. Die neu geschaffenen Token wurden vollständig an die Wallet überwiesen, die zuvor die gestohlenen FET erhalten hatte. Die Menge entsprach rund 42 % des von NuNet ausgewiesenen Tokenbestands.
Weitere Transaktionen verstärkten die Verbindung zwischen den beiden Vorgängen. Um 19:36 Uhr UTC, 45 Minuten vor dem FET-Abzug, überwies eine NuNet-Minting-Adresse 0,3667 ETH direkt an die endgültige Empfänger-Wallet. Ein weiteres mit dem Angreifer verbundenes Konto sendete 24,3 Mio. NTX an dieselbe Adresse.
NTX hatte bereits vor der Leerung des FET-Bridge-Vertrags begonnen, über die Swap-Infrastruktur von MetaMask bewegt zu werden. Das deutet darauf hin, dass Überweisungen und der Versuch einer Verwertung von zwei Gruppen kompromittierter Zugangsdaten schon vor dem zentralen FET-Abzug eingesetzt hatten.
Geringe Liquidität begrenzt Tokenverkäufe
Anschließend begann der Angreifer, beide Token zu verarbeiten. Der größte Teil der gestohlenen FET wurde über die Swap-Infrastruktur von MetaMask in ETH getauscht. Mehr als 217 Mio. der neu geschaffenen NTX wurden über dezentrale Liquiditätsplätze verkauft. Gegen 01:10 Uhr UTC am 20. September hielt die zentrale Wallet 547,89 ETH im Wert von rund 1,44 Mio. Dollar sowie weiterhin etwa 230 Mio. NTX.
Weitere NTX-Verkäufe wurden durch die geringe Liquidität schnell eingeschränkt. Vier Transaktionen über insgesamt 38,55 Mio. NTX erhöhten den ETH-Bestand des Angreifers nur um etwa 0,30 ETH, da die verfügbare Pool-Liquidität deutlich zurückgegangen war. Eine separate Transaktion über 10 Mio. NTX wurde über das Mayan Protocol geleitet und brachte letztlich rund 940 USDT ein, die für eine Cross-Chain-Überweisung verwendet wurden.
Auch die Marktdaten zeigten deutliche Bewegungen. NTX wurde bei 0,00053 Dollar gehandelt und lag damit 780,38 % über dem Stand von 24 Stunden zuvor. ETH notierte bei 2.747,34 Dollar, ein Plus von 4,23 %. AGIX, der mit SingularityNET verbundene Token, wurde bei 0,08 Dollar gehandelt und lag 0,47 % im Minus. Diese Kurse beschreiben die Marktbedingungen nach dem Vorfall. Sie belegen nicht, dass die Tokenbestände oder die entstandenen Verluste bereits vollständig geklärt sind.
WMTX-Handel ausgesetzt, Verbindung nicht belegt
Später weitete sich der Vorfall auf WMTX aus. Bitvavo setzte am 20. September Ein- und Auszahlungen für WMTX unter Verweis auf einen laufenden Sicherheitsvorfall im Zusammenhang mit dem Token aus und pausierte anschließend vorübergehend auch den Handel. Die Börse erklärte, dass die Guthaben der Kunden sicher seien.
Historische Unterlagen von SingularityNET zeigen, dass WMTX, FET und NTX Infrastruktur aus demselben Umfeld der Ethereum-Cardano-Bridge genutzt haben. Die bisherige forensische Untersuchung konzentrierte sich jedoch im Detail auf die Aktivitäten bei FET und NTX. Sie hat nicht nachgewiesen, dass WMTX über dieselbe Schwachstelle oder dieselben Zugangsdaten betroffen war. Cardano wurde bei 0,24 Dollar gehandelt und lag damit 6,75 % über dem Stand von 24 Stunden zuvor.
Austausch der Zugangsdaten entscheidet über Wiederaufnahme
Fetch.ai erklärte, gemeinsam mit SingularityNET an der Untersuchung zu arbeiten, und setzte die relevanten Umtauschdienste während der laufenden Prüfung aus. In den ersten rund fünf Stunden nach dem Angriff waren die Autorisierungsadresse der FET-Bridge und die Minting-Zugangsdaten von NuNet nach der Rückverfolgung noch nicht ausgetauscht oder widerrufen worden. Zu diesem Zeitpunkt war der FET-Bridge-Vertrag bereits geleert und nicht mehr aktiv.
Der Status dieser Zugangsdaten ist damit eine zentrale Voraussetzung für die Wiederaufnahme der Dienste. Sollte dieselbe Autorisierungsadresse weiterhin vom Vertrag akzeptiert werden, könnte eine erneute Ausstattung des FET-Umtauschvertrags diesen weiterhin einem weiteren signierten Abzug aussetzen. NuNet muss zudem ausschließen, dass die betroffene Wallet weiterhin NTX erzeugen kann.
Zu den nächsten operativen Signalen gehören der Zeitpunkt, zu dem Fetch.ai den AGIX-FET-Umtausch und die Ethereum-seitigen Bridge-Dienste wieder freischaltet, sowie die Frage, ob die relevanten Autorisierungsdaten ausgetauscht werden. Für WMTX teilte Bitvavo mit, dass Handel und Transfers während der Prüfung eingeschränkt bleiben. Über die Wiedereröffnung und den Fortschritt bei der Absicherung der Zugangsdaten entscheidet damit, wann die betroffenen Dienste zurückkehren können.