Blog · 22.09.2026
Package Hallucination: Wenn das LLM ein NPM-Paket erfindet
Angreifer registrieren erfundene Package-Namen schneller, als Teams ihre Logfiles prüfen.
Entwickler lieben Geschwindigkeitsvorteile. Tools wie GitHub Copilot, Cursor, ChatGPT und Claude sind längst feste Bestandteile moderner IDEs. Eine kurze Prompt-Eingabe wie:
„Schreibe mir einen Python-Service, der PDF-Rechnungen via Fastlane-API signiert und auf S3 ablegt“ – und Sekunden später steht der Code.
Der Code sieht elegant aus, die Typisierung sitzt, und am Anfang der Datei prangt ein Import:
from fastlane_pdf_signer import FastlaneClient
Was wie ein harmloser Routine-Befehl aussieht, markiert den Beginn eines der perfidesten Supply-Chain-Angriffsvektoren der Ära generativer KI: AI Package Hallucination (in Security-Kreisen auch als Slopsquatting oder Package Planting bezeichnet).
Große Sprachmodelle (LLMs) besitzen kein tatsächliches Verständnis von Software-Ökosystemen. Sie sind probabilistische Wort- und Token-Vorhersagemaschinen. Sie berechnen: „Welcher Token folgt mit der höchsten Wahrscheinlichkeit auf die vorhergehenden?“
Wenn ein LLM trainiert wurde auf Millionen Zeilen Code, die AWS-, Stripe- oder Auth-Logik enthalten, „weiß“ das Modell, wie ein Paket heißen müsste, um ein bestimmtes Problem idiomatisch zu lösen. Gibt es kein offizielles oder weit verbreitetes Paket für einen spezifischen Randfall, erfindet das LLM mit überzeugender Selbstsicherheit plausible Namen...
Cyberkriminelle haben dieses Verhalten längst industrialisiert:
- Prompt-Mining: Angreifer befragen automatisierte LLM-Instanzen mit zehntausenden typischen Programmieraufgaben.
- Registry-Abgleich: Die vorgeschlagenen npm- und pip-Paketnamen werden gegen die öffentlichen Registries (npmjs.com, PyPI) geprüft.
- Claiming (Package Planting): Findet der Angreifer einen halluzinierten Namen, der noch frei ist, registriert er ihn sofort.
- Waffenfähige Payload: In das Paket wird Schadcode eingebettet – meist über Hook-Mechanismen, die beim bloßen Installieren greifen, noch bevor eine Zeile Produktivcode ausgeführt wird.