Crypto Prices

Böswilliger Pull-Request in Ethereum-Code-Erweiterung entdeckt: Eine Untersuchung

vor 21 Stunden
2 minuten gelesen
2 ansichten

Einführung in den Vorfall

Laut Forschern der Cybersicherheitsfirma ReversingLabs hat ein Hacker einen böswilligen Pull-Request in eine Code-Erweiterung für Ethereum-Entwickler eingefügt. Der schadhafte Code wurde in ein Update für ETHcode integriert, einer Open-Source-Suite von Werkzeugen, die von Ethereum-Entwicklern zur Erstellung und Bereitstellung von EVM-kompatiblen Smart Contracts und DApps verwendet wird.

Details des bösartigen Codes

Ein Blogbeitrag von ReversingLabs zeigt, dass zwei bösartige Codezeilen in einem GitHub-Pull-Request versteckt waren, der aus 43 Commits und 4.000 aktualisierten Zeilen bestand und sich hauptsächlich mit der Einführung eines neuen Testframeworks und zusätzlicher Funktionen beschäftigte. Das Update wurde am 17. Juni von einem Benutzer namens Airez299, der keine vorherige Historie auf GitHub hatte, hinzugefügt.

Der Pull-Request wurde sowohl vom KI-Reviewer von GitHub als auch von Mitgliedern der Gruppe 7finney, die für die Entwicklung von ETHcode verantwortlich ist, überprüft. Es wurden lediglich geringfügige Änderungen angefordert, und weder 7finney noch der KI-Scanner fanden etwas Verdächtiges.

Airez299 konnte die Natur der ersten bösartigen Codezeile verschleiern, indem er ihr einen ähnlichen Namen wie eine bereits vorhandene Datei gab und den Code obfuskiert, was das Lesen erschwerte. Die zweite Codezeile dient dazu, die erste zu aktivieren und hat laut ReversingLabs letztendlich das Ziel, eine automatisierte Funktion (ein PowerShell-Skript) zu erstellen, die ein Batch-Skript von einem öffentlichen Datei-Hosting-Dienst herunterlädt und ausführt.

Risiken und mögliche Auswirkungen

ReversingLabs untersucht weiterhin, was genau dieses Skript bewirken soll, geht jedoch davon aus, dass es darauf abzielt, Krypto-Assets zu stehlen, die auf dem Computer des Opfers gespeichert sind, oder alternativ die Ethereum-Verträge zu kompromittieren, die von Nutzern der Erweiterung entwickelt werden.

Im Gespräch mit Decrypt berichtete der Autor des Blogs, Petar Kirhmajer, dass ReversingLabs keine Hinweise oder Beweise dafür hat, dass der bösartige Code tatsächlich verwendet wurde, um Token oder Daten zu stehlen. Kirhmajer weist jedoch darauf hin, dass ETHcode 6.000 Installationen hat und der Pull-Request – der als Teil eines automatischen Updates ausgerollt worden wäre – sich „auf Tausende von Entwickler-Systemen“ ausgebreitet haben könnte.

Entwicklerwarnungen und Empfehlungen

Dies ist potenziell besorgniserregend, und einige Entwickler schlagen vor, dass solche Exploits in der Krypto-Welt häufig vorkommen, da die Branche stark auf Open-Source-Entwicklung angewiesen ist. Laut dem Ethereum-Entwickler und Mitbegründer der NUMBER GROUP, Zak Cole, installieren viele Entwickler Open-Source-Pakete, ohne sie gründlich zu überprüfen.

„Es ist viel zu einfach, dass jemand etwas Bösartiges einschleust“, sagte er zu Decrypt. „Es könnte ein npm-Paket, eine Browsererweiterung oder was auch immer sein.“

Zu den jüngsten hochkarätigen Beispielen gehören die Ledger Connect Kit-Exploits aus Dezember 2023 sowie die Entdeckung von Malware in Solanas web3.js Open-Source-Bibliothek im letzten Dezember. „Es gibt zu viel Code und nicht genug Augen darauf“, fügt Cole hinzu. „Die meisten Leute gehen einfach davon aus, dass Dinge sicher sind, weil sie beliebt sind oder schon eine Weile existieren, aber das bedeutet nichts.“

Cole bestätigt, dass, obwohl dies nicht besonders neu ist, „die angreifbare Oberfläche sich ausbreitet“, da immer mehr Entwickler Open-Source-Tools verwenden. „Außerdem sollte man bedenken, dass es ganze Lagerhäuser voller DPRK-Agenten gibt, deren Vollzeitjob es ist, diese Exploits auszuführen“, sagt er.

Schlussfolgerungen und Sicherheitsmaßnahmen

Während Cole vorschlägt, dass wahrscheinlich mehr bösartiger Code im Umlauf ist, als viele Entwickler realisieren, erklärte Kirhmajer gegenüber Decrypt, dass seiner Schätzung nach „erfolgreiche Versuche sehr selten sind.“ Dies wirft die Frage auf, was Entwickler tun können, um ihre Chancen zu verringern, kompromittierten Code zu verwenden.

ReversingLabs empfiehlt, die Identität und Historie von Mitwirkenden zu überprüfen, bevor etwas heruntergeladen wird. Die Firma schlug auch vor, dass Entwickler Dateien wie package.json überprüfen, um neue Abhängigkeiten zu bewerten, was auch Zak Cole befürwortet.

„Was hilft, ist, Ihre Abhängigkeiten zu sperren, damit Sie nicht jedes Mal zufällige neue Dinge einziehen, wenn Sie bauen“, sagte er. Cole empfahl zudem die Verwendung von Tools, die nach seltsamem Verhalten oder fragwürdigen Betreuern scannen, und darauf zu achten, ob Pakete plötzlich den Besitzer wechseln oder unerwartet aktualisiert werden.

„Führen Sie auch keine Signaturwerkzeuge oder Wallets auf demselben Computer aus, den Sie zum Erstellen von Dingen verwenden“, schloss er. „Gehen Sie einfach davon aus, dass nichts sicher ist, es sei denn, Sie haben es überprüft oder in einer Sandbox getestet.“

Beliebt