KI-Code-Assistenten spucken Paketnamen aus, die nicht existieren, und Angreifer verwandeln diese Halluzinationen in echte Supply-Chain-Risiken.

Als der Sicherheitsforscher Bar Lanyado von Lasso Security ein KI-gestütztes Coding-Tool nach einem Python-Client fragte, schlug das Modell die Installation von huggingface-cli vor. Das Paket ist ein Phantom; die legitime Bibliothek existiert unter dem Namen huggingface_hub. Um die Gefahr zu beweisen, registrierte Lanyado den falschen Namen im Python Package Index (PyPI) als leeren Platzhalter. Innerhalb von drei Monaten verzeichnete der Platzhalter über 30.000 Downloads, tauchte in öffentlicher Dokumentation auf und erschien sogar in Code-Beispielen, die aus den Repositories von Alibaba extrahiert wurden.

Wie aus einem Phantom-Paket eine echte Bedrohung wird

  1. Prompt → Halluzination – Ein Entwickler bittet eine KI um Hilfe. Das Modell, das auf verrauschten Internetdaten trainiert wurde, erfindet einen plausibel klingenden Paketnamen.
  2. Copy-Paste → Dokumentation – Der Vorschlag landet in einem README, einer Stack-Overflow-Antwort oder einem internen Wiki. Einmal geschrieben, verbreitet sich der Name in der Community.
  3. Code-Integration – Der Entwickler vertraut der KI, fügt den Namen einer Requirements-Datei hinzu und pusht ihn in die Produktion.

Warum bestehende Abwehrmechanismen das Problem übersehen

Statische Analyse-Tools und Schwachstellen-Scanner suchen nach bekannten CVEs und nach Bibliotheken mit einer Release-Historie. Ein frisch veröffentlichtes Paket mit null Downloads vor dem KI-Vorschlag hat keine CVE, keinen Ruf und erscheint daher als sicher. Die Standardprüfung „Ist die Version verwundbar?“ liefert ein false, was den Entwicklern ein falsches Gefühl von Sicherheit vermittelt.

Was das Experiment beweist

  • KI-erfundene Namen erreichen die Produktion – Die über 30.000 Downloads zeigen, dass Entwickler diese Phantom-Pakete tatsächlich herunterladen.
  • Halluzinationen werden zu Dokumentation – Sobald ein falscher Name in einem öffentlichen Leitfaden erscheint, kann er unbegrenzt bestehen bleiben und den Fehler weiter verbreiten.
  • Die Registrierung ist trivial – Das Veröffentlichen eines Pakets auf PyPI kostet nichts und dauert nur wenige Minuten, was die Hürde für Supply-Chain-Missbrauch senkt.

Verteidigungsschritte, die tatsächlich funktionieren

  • Validieren Sie jede Abhängigkeit – Bevor Sie eine neue Anforderung hinzufügen, suchen Sie im Paketindex und bestätigen Sie, dass der Name mit einer existierenden, dokumentierten Bibliothek übereinstimmt.
  • Abgleich mit offiziellen Quellen – Vergleichen Sie den vorgeschlagenen Namen mit dem Repository des Anbieters oder dem offiziellen Installationsleitfaden.
  • Behandeln Sie neue Pakete mit geringer Verbreitung als Hochrisiko – Markieren Sie jede Abhängigkeit, die weniger als eine Handvoll Downloads oder ein sehr aktuelles Veröffentlichungsdatum hat, zur manuellen Überprüfung.

Worauf man als Nächstes achten sollte

Das Fazit ist einfach: Ein KI-Vorschlag ist keine Garantie. Behandeln Sie jede neue Abhängigkeit wie eine ungeprüfte Komponente eines Drittanbieters, verifizieren Sie deren Herkunft und behalten Sie die Lieferkette im Auge, bevor Sie ein Phantom-Paket in die Produktion gelangen lassen.