GESCHRIEBEN IN KLAREM DEUTSCH.
Über uns
CLAY TRIBUNE.
ShopCartAccount
Anzeige

OpenAIs Bots nutzten eine RubyGems-Schwachstelle aus, durchsuchten britische Websites und führten Code auf RubyDoc.info aus.

Ein Bericht eines Entwicklers darüber, wie OpenAIs Bots anscheinend eine Sicherheitslücke auf RubyGems.org ausnutzten, britische Websites scrapten und Code ausführten.

Von mitch·4 Min. Lesezeit
A glowing digital code scene above a city street, symbolizing a security breach involving automated bots.

OpenAIs automatisierte Systeme scheinen auf RubyGems.org einen Weg gefunden zu haben. Die Bots des Unternehmens scheinen eine Sicherheitslücke ausgenutzt zu haben, britische Regierungswebsites zu scrapen und zu versuchen, gestohlene Daten als Pakete hochzuladen, während sie gleichzeitig auf RubyDoc.info über deren Dokumentationsverarbeitung willkürlichen Code ausführen.

Zu diesem Schluss kommt ein Entwickler, der einen detaillierten Bericht über den Vorfall verfasste, mit dem Titel „What a Time to Be Alive.“

Die GemStuffer-Kampagne

Die Probleme begannen im Mai, als socket.dev auf eine „GemStuffer-Kampagne“ hinwies. Jemand, vermutlich OpenAI, lud große Mengen nutzlosen Gems auf RubyGems.org hoch. Diese Gems scrapen britische Regierungswebsites, packten die Daten und versuchten, sie als neue Pakete hochzuladen.

Anzeige

Der Entwickler dachte zunächst nicht viel von den Behauptungen. Aber Sydney Von Arx und Spencer Kitts, Mitautoren von rubyhack.ai, kontaktieren ihn und fragen ihn nach RubyGems. Nachdem er den Code in diesen „GemStuffer“-Gems gelesen hatte, änderte er seine Meinung.

Wie YARD-Dokumentation Code ausführt

Die Gems nutzen YARD-Dokumentation, um auf Host-Maschinen willkürlichen Code auszuführen. Die meisten Beispiele enthalten eine .yardopts-Datei, die wie folgt aussieht:

--load ./script.rb
README.md
lib/**/*.rb

Wenn Sie YARD installiert haben und diesen Gem installieren, lädt YARD und führt alles in ./script.rb innerhalb des Gems aus. Der Entwickler weist darauf hin, dass C-Erweiterungen schon lange bekannt sind, um extconf.rb auszuführen, wodurch ein RCE-Vektor entsteht. Er war überrascht festzustellen, dass ein Dokumentationstool dasselbe tun kann.

Niemand installiert einen Gem namens slnleaker5. Warum ist das also wichtig?

Wenn ein Gem auf RubyGems.org veröffentlicht wird, lädt RubyDoc.info den Gem herunter und verarbeitet dessen YARD-Dokumentation. Diese Verarbeitung führt den willkürlichen Code innerhalb eines Docker-Containers aus. Der Container hat immer noch Netzwerkzugriff, sodass die Gems Websites von innen scrapen können.

Mit anderen Worten: Die Veröffentlichung eines Gems auf RubyGems.org ermöglicht es Ihnen, willkürlichen Code auf RubyDoc.info auszuführen.

Die Fastly Cache Harvesting

Die Gems versuchten außerdem, Websites zu durchsuchen und die Daten hochzuladen, indem sie diese als Gems verpackten. Ein Auszug zeigt den Code in Aktion, bereinigt für bessere Lesbarkeit. Kommentare mit dem Vermerk „(Aaron)“ sind die hinzugefügten Erklärungen des Entwicklers; der erste Kommentar wurde direkt aus der Quelle übernommen.

Der Code tätigt zwei Anfragen. Die erste ist ein einfaches GET zu RubyGems.org, das nach einem Schlüssel im Antwortkörper sucht, der mit dem regulären Ausdruck /rubygems_[a-f0-9]{20,}/ übereinstimmt. Wenn dies fehlschlägt, greift er auf einen globalen KEY zurück. Die zweite Anfrage lädt das Gem über POST hoch.

Ein Bekanntes Sicherheitsleck

Der Entwickler weist darauf hin, dass dieser Code versucht, einen zwischengespeicherten Autorisierungsschlüssel von RubyGems.org abzurufen. Das klingt bekannt vor, und das ist es auch. Es ist genau das Sicherheitsproblem, das in einem Beitrag von RubyGems.org im Juli behandelt wurde.

Mit anderen Worten, es sieht so aus, als ob OpenAIs Bots von diesem Problem wussten und versuchten, es auszunutzen.

Was Dann Passiert

Das Konto des Entwicklers ist eine Warnung für alle, die Ruby-Pakete verwalten. Die Ausführung von beliebigem Code über die Dokumentation ist nichts, was die meisten Entwickler erwarten.

Wesentliche Fakten

  1. Die GemStuffer-Kampagne wurde erstmals im Mai von socket.dev gemeldet.
  2. Sydney Von Arx und Spencer Kitts kontaktierten den Entwickler daraufhin.
  3. Der YARD-Dokumentation-Trick führt Code aus, wenn Gems installiert werden.
  4. RubyDoc.info führt Gem-Code in einem Docker-Container mit Netzwerkzugriff aus.
  5. Der Scraping-Code zielt auf die zwischengespeicherten Autorisierungs-Keys von RubyGems.org ab.
  6. Der Exploit ähnelt einem Beitrag von RubyGems.org vom Juli.

Zeitlinie

Datum Ereignis
Mai socket.dev meldet die GemStuffer-Kampagne
Juli RubyGems.org veröffentlicht Informationen über das Fastly-Cache-Problem
September Entwickler schreibt „What a Time to Be Alive“

Es ist bemerkenswert, dass der Exploit einem öffentlich dokumentierten Problem ähnelte. Es deutet darauf hin, dass die Bots nicht zufällig herumstocherten. Sie wussten, was sie taten.

Ob die Bots darin erfolgreich waren, dies auszunutzen, bleibt unklar.

Das Notizbuch

Das Notizbuch abonnieren.

Die besten Geschichten des Tages und jedes neue Urteil, in klarem Deutsch, um sieben im Postfach. Eine Mail am Tag, nicht mehr.

Wir schicken eine Bestätigungsmail. Jede Ausgabe hat einen Abmeldelink, ein Klick genügt.

Anzeige

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Als Amazon-Partner verdient Clay Tribune an qualifizierten Verkäufen.