Der FireAI-Sicherheitsblog

Von FireAI Security & Research Team · Veröffentlicht

Slopsquatting: Wenn Ihr KI-Codierungsassistent ein Paket erfindet und jemand anderes es registriert

Slopsquatting: Wenn Ihr KI-Codierungsassistent ein Paket erfindet und jemand anderes es registriert

Bitten Sie einen Coding-Assistenten, ein Problem zu lösen, und dieser empfiehlt manchmal die Installation eines Pakets: echte Pakete für allgemeine Aufgaben und messbar oft Pakete, die überhaupt nicht existieren. Es wurde ein plausibler Name erfunden, weil das umgebende Codemuster dort eine Abhängigkeit erforderte. Wenn Sie oder Ihr Codierungsagent den Installationsbefehl trotzdem ausführen, landet auf Ihrem Computer alles, was tatsächlich unter diesem Namen auf PyPI oder npm registriert ist. Der Sicherheitsforscher Seth Larson, Developer-in-Residence bei der Python Software Foundation, nannte den resultierenden Angriff „Slopsquatting“ und registrierte die Namen „models hallucinate“, das KI-generierte Äquivalent von Typosquatting.

Wie oft passiert das tatsächlich?

Ein Team der University of Texas at San Antonio, Virginia Tech und der University of Oklahoma hat es direkt gemessen: „Wir haben ein Paket für Sie!“, akzeptiert bei USENIX Security 2025. In 576.000 generierten Codebeispielen von 16 beliebten Modellen in zwei Sprachen fanden sie halluzinierte Pakete in „mindestens 5,2 Prozent bei kommerziellen Modellen und 21,7 Prozent bei Open-Source-Modellen“, was insgesamt 205.474 einzigartige halluzinierte Paketnamen ergibt. Dies ist kein seltener Randfall; Bei einigen Open-Source-Modellen handelt es sich um etwa jede fünfte vorgeschlagene Abhängigkeit.

Spracklen et al., USENIX Security 2025, arXiv:2406.10279. Durchschnittswerte der 16 getesteten Modelle; einzelne Modelle unterschiedlich.
ModellklasseHalluzinationsrate (von Paketempfehlungen)
Kommerzielle Modelle (Durchschnitt)mindestens 5,2 Prozent
Open-Source-Modelle (Durchschnitt)mindestens 21,7 Prozent

Warum das besetzbar ist und nicht nur falsch

Ein einmalig erfundener Name wäre ein Ärgernis und keine Angriffsfläche. Was es ausnutzbar macht, ist die Wiederholung: wie Das Register berichtete am 12. April 2025, als Forscher die gleiche Eingabeaufforderung zehnmal wiederholten: „43 Prozent der halluzinierten Pakete wurden jedes Mal wiederholt und 39 Prozent tauchten nie wieder auf.“ Nahezu die Hälfte der halluzinierten Namen sind keine zufälligen Geräusche; Es handelt sich dabei um die gleiche Vermutung, nach der das Modell bei gegebenem, ähnlichem Code zuverlässig greift. Ein Angreifer muss nicht erraten, was ein bestimmter Entwickler eingeben wird. Sie können dieselben Modelle anhand allgemeiner Eingabeaufforderungen ausführen, die sich wiederholenden Namen sammeln und diese im Voraus im echten Paketindex registrieren.

Anschaulich: der Moment des Risikos
pip install fast-json-normalizer   # suggested by a coding assistant
Collecting fast-json-normalizer
  Downloading fast-json-normalizer-0.3.1.tar.gz
Running setup.py install for fast-json-normalizer ... done
# Nothing here indicates whether this name was ever a real, reviewed project
# or was registered specifically because models keep suggesting it.

Warum dies in das Muster passt, das OWASP bereits verfolgt

Dies ist eine Variante dessen, was OWASPs Top 10 für LLM-Anwendungen ein Lieferkettenrisiko für KI-gestützte Entwicklung nennt: Die Vertrauensgrenze, die früher bei „Hat sich ein Mensch entschieden, diese Abhängigkeit hinzuzufügen“ lag, wird zu „Hat sich die Mustervervollständigung eines Modells dafür entschieden“ verschoben, und die Mustervervollständigung hat keine Vorstellung davon, ob ein Name echt ist.

Was man eigentlich dagegen tun kann

  • Behandeln Sie jeden Paketnamen, den ein Codierungsagent vorschlägt, als Vorschlag zur Überprüfung und nicht als bekanntermaßen gute Abhängigkeit, genauso wie Sie einen Namen behandeln würden, den ein Junior-Mitarbeiter aus dem Gedächtnis eintippt.
  • Überprüfen Sie das Registrierungsdatum und den Download-Verlauf, bevor Sie etwas Unbekanntes installieren. Ein Paket, das kürzlich aufgetaucht ist und verdächtig gut zu einem gängigen KI-generierten Eingabeaufforderungsmuster passt, verdient einen zweiten Blick.
  • Pinnen Sie Abhängigkeiten und verwenden Sie eine Sperrdatei, damit ein halluzinierter Name, der sich einmal eingeschlichen hat, später nicht stillschweigend wieder aufgelöst wird.
  • Sehen Sie, was ein frisch installiertes Paket beim ersten Start tatsächlich bewirkt. Eine neu registrierte Abhängigkeit, die sich an einen Server wendet, mit dem sie keinen geschäftlichen Kontakt hat, ist ein Signal, das eine Firewall erkennen kann, selbst wenn bei einer Codeüberprüfung der Name nicht erkannt wurde.

Wo FireAI und HisnLabs ins Spiel kommen

A squatted package that phones home still has to make a connection to do it, from a Python or Node process you just ran; FireAI shows you that connection, the process behind it and where it is going, before you decide whether it belongs there.

FireAI ist das eigene Produkt von HisnLabs: eine KI-Firewall für den Mac, die direkt auf dem Gerät läuft. Sie zeigt jede Verbindung Ihrer Apps in verständlicher Sprache und lässt Sie entscheiden, was Ihren Mac verlässt — die KI arbeitet lokal, Ihr Datenverkehr wird also nie an uns oder irgendjemand anderen gesendet. Das Sicherheitsforschungsteam von HisnLabs sorgt dafür, dass diese Entscheidungen verlässlich bleiben: Es katalogisiert, welche Domains gewöhnliche Telemetrie und welche ein echter Dienst sind, verfolgt Land und Netzwerk hinter einer Verbindung und trainiert das lokale Modell (die Autopilot-Funktion) mit echten Verkehrsmustern — ohne dass irgendetwas davon Ihren Mac verlässt.

Die technischen Entscheidungen dahinter können Sie nachlesen — oder FireAI 17 Tage lang ausprobieren — unter FireAI, von HisnLabs.

Quellen