Slopsquatting
Slopsquatting ist ein Angriff auf die Softwarelieferkette, bei dem von einer KI erfundene Paketnamen ausgenutzt werden, um Entwickler dazu zu verleiten, schädliche Abhängigkeiten zu installieren.
Beim Slopsquatting veröffentlicht ein Angreifer ein schädliches Paket unter einem Namen, den ein KI-Programmierassistent erfunden hat, und verlässt sich darauf, dass Entwickler oder automatisierte Tools es installieren. Die Falle macht aus einer plausibel klingenden Empfehlung für eine Abhängigkeit ausführbaren Code von Drittanbietern. Der Angriff verbindet Halluzinationen in LLMs—erfundene Informationen, die als Tatsachen dargestellt werden—mit den Paketmanagern, die zum Erstellen von Software verwendet werden.
Der Sicherheitsforscher Seth Larson prägte den Begriff im April 2025, und Andrew Nesbitt machte ihn durch seine ursprüngliche Definition von Slopsquatting bekannt und würdigte dabei Larson. Der Name verbindet KI-Müll mit „Squatting“, also dem Besetzen eines Softwarenamens, nach dem andere suchen werden.
So funktioniert Slopsquatting#
Ein Large Language Model erzeugt Code mit einem erfundenen Paketnamen oder Installationsbefehl. Ein Angreifer identifiziert diesen Namen und veröffentlicht unter diesem Namen ein Paket in einer Paketregistrierung wie PyPI oder npm. Taucht die Empfehlung erneut auf, installiert der Installationsvorgang das Paket des Angreifers. Paket-Halluzinationen können bei verschiedenen Prompts und Modellen wiederholt auftreten und die Nachfrage auf Namen konzentrieren, die Angreifer für sich beanspruchen können.
Der Zustand der Paketregistrierung entscheidet über das Ergebnis. Bei einem nicht registrierten Namen schlägt die Installation fehl; ein von einem Angreifer kontrollierter Name wird erfolgreich aufgelöst und schleust schädlichen Code in die Umgebung ein. Das Vertrauen des Entwicklers in den Assistenten wird so zum Einfallstor in die Softwarelieferkette.
Dieses Risiko betrifft sowohl die menschlich unterstützte Entwicklung als auch das agentische Programmieren. Ein KI-Agent mit Funktionen zur Werkzeugnutzung kann eine generierte Abhängigkeit in eine Installationsaktion umsetzen. Schädlicher Paketcode kann während der Installation oder bei der späteren Verwendung ausgeführt werden und je nach Berechtigungen der Umgebung Dateien, Zugangsdaten und Build-Ausgaben offenlegen.
Wie ein erfundenes Paket Entwickler erreichte#
Bar Lanyado veröffentlichte ein leeres Python-Paket namens huggingface-cli, nachdem KI-Modelle diese nicht existierende Abhängigkeit empfohlen hatten. Bis zum 28. März 2024 war das halluzinierte Paket innerhalb von drei Monaten mehr als 30.000-mal tatsächlich heruntergeladen worden. Installationsanweisungen erschienen auch in der README-Datei eines Alibaba-Forschungsrepositorys. Die Verbreitung des leeren Pakets zeigte, dass ein erfundener Abhängigkeitsname in echte Entwicklungsabläufe gelangen kann.
Bei der Paketbenennung kommt eine weitere Verwechslungsquelle hinzu: Eine ausführbare Datei für die Befehlszeile, ein importierbares Modul und eine installierbare Distribution können unterschiedliche Namen haben. Das ist bei der Entwicklung von Computer-Vision-Anwendungen relevant, wenn Assistenten Anweisungen zum Einrichten der Umgebung erstellen. Ultralytics YOLO unterstützt YOLO26 über das Python-Paket ultralytics, das Abläufe für Training, Vorhersagen und Export bereitstellt; ein Abgleich der generierten Installationsanweisungen mit der Identität des Pakets adressiert die Phase der Abhängigkeitsauswahl, in der Slopsquatting ansetzt.
Slopsquatting und verwandte Angriffe#
Diese Begriffe bezeichnen unterschiedliche Mechanismen, die sich auf die Sicherheit von Abhängigkeiten auswirken:
- Paket-Halluzination: Das Modell erfindet eine Abhängigkeit. Slopsquatting macht sich diesen Benennungsfehler durch eine gezielte Registrierung zunutze.
- Typosquatting: Ein Angreifer registriert einen Namen, der einem bestehenden Paket ähnelt, um Tippfehler abzufangen. Slopsquatting zielt auf von KI generierte Namen ab.
- Verwechslung von Abhängigkeiten: Ein Paketmanager ruft ein öffentliches Paket ab, obwohl eine private Abhängigkeit vorgesehen war.
- Prompt-Injection: Von einem Angreifer kontrollierte Inhalte lenken das Verhalten eines KI-Systems um. Slopsquatting nutzt eine generierte Pak Empfehlung über die Paketregistrierung aus.
Slopsquatting in Build-Pipelines verhindern#
Bei der Freigabe von Abhängigkeiten werden das vorgesehene Projekt, der Herausgeber, das Quellcode-Repository und die Versionshistorie vor der Installation überprüft. Eine sicherheitsorientierte Prüfung von Abhängigkeiten gilt für KI-generierte Ergänzungen ebenso wie für von Menschen geschriebenen Code. Die Verfügbarkeit in einer Paketregistrierung bestätigt, dass ein Name existiert; die Prüfung der Eigentümerschaft stellt fest, wessen Software ausgeführt wird. Mit Grounding eines Assistenten anhand freigegebener Paketdokumentation lassen sich Paketidentitäten für diese Prüfung bereitstellen.
In der kontinuierlichen Integration verhindern Prüfschranken, dass Änderungen an Abhängigkeiten in einen Build gelangen, bevor sie geprüft wurden. Festgelegte Versionen kennzeichnen freigegebene Releases, während Artefakt-Hashes deren exakte Dateien identifizieren. Sandboxing von Agenten, eingeschränkter Netzwerkzugriff und Zugangsdaten mit minimalen Berechtigungen begrenzen die Ressourcen, die dem Abhängigkeitscode zur Verfügung stehen, und verringern so seinen Zugriff auf sensible Daten und Zugangsdaten für die Bereitstellung.
Der Installationsmodus von Python zur Hash-Prüfung verwendet --require-hashes, um heruntergeladene Paketdateien mit den in einer Requirements-Datei aufgeführten Hashes abzugleichen. Für jede Abhängigkeit, auch für transitive Abhängigkeiten—also Bibliotheken, die von anderen Bibliotheken benötigt werden—müssen eine exakte Version und zulässige Artefakt-Hashes angegeben sein. Weicht der Hash eines heruntergeladenen Pakets von allen zulässigen Hashes ab, weist pip die Datei zurück und bricht die Installation ab.










