🟡 Der erste Riss

Es beginnt unscheinbar. Eine Entwicklerin fragt ein Sprachmodell nach einer Lösung für ein Authentifizierungsproblem. Das Modell antwortet mit sauberem, kommentiertem Code – und einem Import, der passend klingt. Das Paket dahinter existiert nicht. Der Name ist plausibel, die Syntax stimmt, die Funktion ist beschrieben. Wer prüft schon, ob ein Import wirklich registriert ist?

Das nennt sich Slopsquatting: Sprachmodelle halluzinieren Paketnamen. Keine Schreibfehler, keine Tippfehler – sondern Namen, die aus realen Komponenten zusammengesetzt werden, die so aber nicht existieren.

🟠 Die Ausbreitung

Forschende der Universitäten Texas, Virginia Tech und Oklahoma analysierten 576.000 KI-generierte Code-Samples mit 16 Sprachmodellen. Ergebnis: 19,7 Prozent der empfohlenen Pakete existieren nicht. Über 205.000 einzigartige Phantomnamen wurden beobachtet.

Was mich dabei mehr beunruhigt als die Quote: die Reproduzierbarkeit. 43 Prozent der halluzinierten Pakete tauchen bei jedem der zehn Wiederholungsversuche mit demselben Prompt erneut auf. Nicht zufällig, sondern systematisch. Das bedeutet: Wer weiß, welche Prompts welche Phantompakete erzeugen, kann die Namen vorab registrieren – und warten.

🔴 Der Kipppunkt

Januar 2026. Sicherheitsforscherin Charlie Eriksen von Aikido beobachtet, wie KI-Agenten ein npm-Paket namens „react-codeshift" anfordern. Das Paket existierte nicht. Eriksen registriert es – harmlos, mit Warnung versehen – und beobachtet, wie reale Agenten es zu installieren versuchen.

„react-codeshift" ist eine klassische Halluzination durch Conflation: Das Modell kombiniert „jscodeshift" und „react-codemod" zu einem dritten, nicht existenten Paket. Angreifende mit demselben Wissen hätten dasselbe Paket mit Schadcode befüllt.

🛡️ Was noch möglich ist

Dependency-Scanning prüft bekannte Schwachstellen in bekannten Paketen. Es prüft nicht, ob ein Paket überhaupt legitim existieren sollte. Code-Reviews erkennen halluzinierte Namen nicht – sie sehen aus wie jeder andere Import. Die blinde Stelle ist nicht technisch, sie ist konzeptionell: Unsere Prozesse kennen diese Fehlerklasse noch nicht.

Allowlists für genehmigte Paketquellen, automatisierte Prüfung von Registrierungsdatum und Herkunft neuer Dependencies, explizite Review-Kriterien für KI-assistierten Code – das sind keine großen Maßnahmen. Aber sie setzen voraus, dass wir KI-generierten Code nicht mehr so behandeln wie menschlich geschriebenen.

Wir haben gelernt, menschlichen Fehlern nicht blind zu vertrauen. Jetzt lernen wir, dass KI andere Fehler macht – und dass Vertrauen ohne passende Prozesse kein Sicherheitsgefühl ist, sondern eine Lücke.

📚🔍