Die moderne Softwareentwicklung steht vor einer bislang kaum gekannten Herausforderung: Der zunehmende Einsatz von Künstlicher Intelligenz (KI) und insbesondere von großen Sprachmodellen (Large Language Models, LLMs), die automatisch Code generieren, birgt ernsthafte Sicherheitsrisiken für die Software-Lieferkette. Obwohl KI-Tools das Programmieren für Entwickler erheblich erleichtern und beschleunigen können, zeigt aktuelle Forschung, dass KI-generierter Code häufig Abhängigkeiten aufweist, die nicht existieren – sogenannte "halluzinierte" Pakete. Diese stellen eine potenzielle Hintertür dar, durch die Angreifer Schadsoftware in Softwareprojekte einschleusen können. Das hat weitreichende Konsequenzen für die Sicherheit moderner Anwendungen und für die gesamte Softwareindustrie. Das Problem der Paketabhängigkeiten ist für moderne Softwareentwicklung essenziell.
Software nutzt eine Vielzahl externer Bibliotheken und Komponenten, sogenannte Dependencies, um grundlegende Funktionalität effizient bereitzustellen. Diese Praxis spart Zeit und Ressourcen, birgt jedoch das Risiko, wenn diese Abhängigkeiten kompromittiert oder manipuliert werden. Besonders gravierend sind sogenannte Dependency-Confusion-Angriffe, bei denen Angreifer gefälschte Pakete veröffentlichen, die legitimen Paketnamen sehr ähnlich sind oder sogar identisch mit internen Paketen von Unternehmen. Da viele Systeme bei Paketkonflikten lieber das Paket mit der höheren Versionsnummer laden, kann so schädlicher Code unbemerkt ausgeführt werden. Eine vom University of Texas at San Antonio durchgeführte Studie hat diese Problematik jetzt aus einer neuen Perspektive beleuchtet.
Untersucht wurden 16 der beliebtesten LLMs, die kombiniert über eine halbe Million Codebeispiele generierten. Erschreckendes Ergebnis: Fast 20 Prozent aller darin enthaltenen Verweise auf Pakete bezogen sich auf Bibliotheken, die es in Wirklichkeit nicht gibt. Besonders Open-Source-Modelle erwiesen sich als anfällig, da sie einen Anteil nicht existierender Bibliotheken von über 20 Prozent aufwiesen. Kommerzielle Modelle wie etwa Varianten von ChatGPT schnitten besser ab, schlugen aber ebenfalls mit fünf bis sechs Prozent zu Buche. Dieses Phänomen namens "Package Hallucination" kann man als ein spezifisches Symptom der generellen Unzuverlässigkeit von LLM-Ausgaben betrachten.
Halluzinationen entstehen, wenn ein Modell Inhalte erfindet oder unsachgemäß zusammensetzt, die in der Realität keine Grundlage haben. Im Kontext von Code sind das im vorliegenden Fall nicht existierende Paketnamen. Noch problematischer: Fast die Hälfte dieser erfundenen Paketnamen tauchten bei mehreren Abfragen mit unterschiedlichen Variationen immer wieder auf. Diese Wiederholbarkeit macht die Situation besonders gefährlich, da Angreifer diese scheinbaren "Empfehlungen" aus den Modellen nutzen könnten, um genau unter diesen gefälschten Namen bösartige Softwarepakete anzubieten und so die Software-Lieferkette gezielt zu vergiften. Die Folge wäre eine gezielte Verbreitung von Schadsoftware, die über scheinbar offizielle und empfohlene Bibliotheken ihre Opfer erreicht.
Nutzer, die auf die von der KI vorgeschlagenen Pakete vertrauen und diese ungeprüft einsetzen, riskieren, dass Schadcode auf ihren Systemen installiert wird, Daten gestohlen werden oder Hintertüren geöffnet werden. Die hohe Verbreitung von KI-generiertem Code – Prognosen sehen bald bis zu 95 Prozent automatisiert erstellten Quellcode – erhöht den Druck, solche Sicherheitslücken wirksam zu adressieren. Erschwerend kommt hinzu, dass die Raten der Halluzinationen auch von der Programmiersprache abhängen. Laut der Studie ist JavaScript deutlich stärker betroffen als Python. Dies wird mit der enormen Anzahl von JavaScript-Paketen erklärt, die zehnmal größer ist als die von Python, sowie mit der komplexeren Namensgebung im JavaScript-Ökosystem.
Je größer und komplexer die Anzahl möglicher Pakete, desto schwerer fällt es den Modellen, korrekte Vorhersagen zu treffen, was die Fehleranfälligkeit erhöht. Neben der Paketvielfalt und Programmiersprache spielen auch technische Faktoren bei den LLMs eine entscheidende Rolle bei der Halluzinationsrate. Kommerzielle Modelle verfügen über wesentlich mehr Parameter und haben oft ausgefeiltere Trainings- und Sicherheitsmechanismen, was zu einer niedrigeren Fehlerquote führt. Open-Source-Modelle hingegen operieren meist mit weniger Parametern und verfügen über weniger umfassende Datensätze oder feinjustierte Sicherheitsfilter, sodass sie anfälliger für fehlerhafte Ausgaben sind. Die Mechanismen hinter den Halluzinationen sind bislang nicht vollständig verstanden – zu komplex sind die zugrundeliegenden neuronalen Netzwerke und deren Trainingsdaten.
Dennoch verdeutlicht diese Forschung, dass KI-generierte Programme ohne ausreichende Kontrolle eine ernsthafte Bedrohung darstellen, da sie automatisiert Empfehlungen für nicht existente oder sogar leicht nachahmbare Pakete geben. Dadurch entsteht eine potente Angriffsmöglichkeit für Cyberkriminelle, die speziell auf die Software-Lieferkette abzielen – ein Bereich, der ohnehin schon als kritischer Schwachpunkt in der IT-Sicherheit gilt. Die Lösung der Problematik erfordert ein Umdenken in der Art und Weise, wie KI-Tools in den Entwicklungsprozess eingebunden werden. Entwickler dürfen sich nicht blind auf die Vorschläge der Modelle verlassen, sondern müssen sämtliche externen Abhängigkeiten sorgfältig prüfen und validieren. Automatisierte Sicherheitstools, die Paketquellen verifizieren, Signaturen prüfen und bekannte bösartige Pakete erkennen, müssen integraler Bestandteil jeder modernen Entwicklungsumgebung sein.
Darüber hinaus müssen KI-Hersteller an besseren Trainings- und Feintuning-Methoden arbeiten, um die Häufigkeit von Halluzinationen zu reduzieren. Die Integration von Validierungsschritten, die das Vorhandensein und die Vertrauenswürdigkeit vorgeschlagener Pakete prüfen, könnte die Qualität der generierten Ergebnisse nachhaltig verbessern. Ebenso könnte eine verstärkte Sensibilisierung und Aufklärung der Entwicklergemeinschaft dazu beitragen, das Bewusstsein für die Risiken zu schärfen. Insgesamt zeigt die steigende Abhängigkeit von KI beim Programmieren, wie wichtig es ist, die entstehenden Sicherheitsrisiken nicht zu unterschätzen. Die Software-Lieferkette ist ein sensibles Ökosystem, dessen Stabilität längst als Grundpfeiler der digitalen Infrastruktur gilt.
Eine Kompromittierung auf dieser Ebene kann enorme Folgen entfalten, vom Diebstahl vertraulicher Daten bis hin zur Beeinträchtigung kritischer Infrastruktur. Die Forschung zur "Package Hallucination" gibt der Branche ein deutliches Warnsignal: Fortschritt in der KI-Unterstützung beim Programmieren darf nicht auf Kosten der Sicherheit gehen. Nur durch kontinuierliche Verbesserungen, fundierte Sicherheitsprüfungen und eine vorsichtige Nutzung der KI-generierten Ergebnisse kann gewährleistet werden, dass Softwareprojekte sauber, vertrauenswürdig und vor Angriffen geschützt bleiben. Entwickelnde, Unternehmen und Anbieter von KI-Lösungen müssen gemeinsam an einem Strang ziehen, um die Software-Lieferkette auch künftig sicher zu gestalten. Die Zukunft der Softwareentwicklung wird zweifellos von KI geprägt sein.
Doch diese Technologie ist kein Allheilmittel, sondern erfordert umsichtiges und sachkundiges Handling. Gerade in Zeiten wachsender Cyberbedrohungen ist die sorgfältige Kontrolle und Absicherung aller Softwarekomponenten wichtiger denn je, um Vertrauen und Integrität digitaler Systeme langfristig zu sichern.