← Alle Artikel

Ist KI-generierter Code sicher? Sicherheitsrisiken und Checkliste

29. September 2026

Ist KI-generierter Code sicher? Sicherheitsrisiken und Checkliste

Softwareentwicklung mit künstlicher Intelligenz ist längst nicht mehr nur erfahrenen Entwicklern vorbehalten. Dank Tools wie ChatGPT, Claude, GitHub Copilot und Cursor können Gründer, Studenten und kleine Teams Webanwendungen, die früher Wochen dauerten, in wenigen Stunden oder Tagen erstellen.

Die drastisch erhöhte Entwicklungsgeschwindigkeit wirft jedoch eine entscheidende Frage auf:

Ist von künstlicher Intelligenz geschriebener Code wirklich sicher?

Die kurze Antwort: Funktionierender Code ist nicht automatisch sicherer Code. Wenn eine Anwendung fehlerfrei läuft, garantiert dies keineswegs, dass Authentifizierung, Autorisierung, Datenvalidierung, API-Sicherheit und Serverkonfigurationen korrekt implementiert sind.

Aus diesem Grund muss jede mit KI entwickelte Webanwendung vor dem Deployment in die Produktionsumgebung einer gründlichen Sicherheitsprüfung unterzogen werden.


1. Funktionierender Code ist kein sicherer Code

Large Language Models (LLMs) sind hervorragend darin, funktionierenden Code auf Basis gegebener Prompts zu generieren. Die Sicherheit dieses Codes hängt jedoch nicht davon ab, ob die Syntax fehlerfrei kompiliert oder ausgeführt wird.

Eine sichere Webanwendung erfordert das Zusammenspiel aus robuster Authentifizierung, strikter Autorisierung, Eingabevalidierung, sicherem Fehlermanagement, geschützter Serverkonfiguration und passenden Zugriffskontrollen.

Ein typisches Beispiel: Sie bitten eine KI, einen API-Endpunkt für Benutzerprofile zu erstellen:

GET /api/users/{id}
Dieser Endpunkt kann technisch einwandfrei funktionieren. Wenn der Server jedoch nicht prüft, ob der anfragende Nutzer überhaupt berechtigt ist, den Datensatz der übergebenen {id} einzusehen, entsteht eine IDOR-Schwachstelle (Insecure Direct Object Reference).

Kann ein Nutzer einfach:

Plaintext
/api/users/100
durch:

Plaintext
/api/users/101
ersetzen und fremde Profildaten abrufen, weist die Anwendung ein kritisches Sicherheitsproblem auf – obwohl sie oberflächlich reibungslos funktioniert.

Die Frage darf daher nicht nur lauten: „Funktioniert der Code?“, sondern immer auch: „Kann ein unbefugter Dritter diese Logik manipulieren?“

2. Welche Sicherheitsbereiche müssen bei KI-Projekten geprüft werden?
Die Sicherheit einer KI-generierten Anwendung lässt sich nicht allein durch das Überfliegen des Quellcodes beurteilen; auch das Laufzeitverhalten und die externe Angriffsfläche müssen analysiert werden.

Prüfen Sie insbesondere folgende Kernbereiche:

Authentifizierung & Identitätsprüfung
Die zuverlässige Überprüfung der Benutzeridentität ist essenziell. Untersuchen Sie Login-Abläufe, Session-Management, JWT-Verarbeitung, Passwort-Reset-Prozesse, Logout-Logik und Mechanismen gegen Brute-Force-Angriffe. Ein funktionierendes Login-Formular bedeutet nicht, dass das dahinterliegende System sicher ist.

Autorisierung & IDOR
Während Authentifizierung die Identität klärt, regelt die Autorisierung die Zugriffsrechte. Standardnutzer dürfen niemals Zugriff auf administrative Endpunkte erhalten. Zudem dürfen Nutzer Parameter oder IDs nicht manipulieren können, um auf fremde Daten zuzugreifen. Serverseitige Autorisierungsprüfungen sind an jedem einzelnen Endpunkt zwingend erforderlich.

SQL-Injection & Injection-Schwachstellen
Werden vom Nutzer kontrollierte Eingaben nicht sauber verarbeitet, entstehen gefährliche Injection-Lücken. Parametrisierte Abfragen, der gezielte Einsatz moderner ORMs und strikte Validierung minimieren dieses Risiko. Untersuchen Sie zudem, wie Eingaben an Betriebssystembefehle oder Template-Engines übergeben werden.

Cross-Site Scripting (XSS)
Werden ungefilterte Nutzereingaben direkt in HTML- oder JavaScript-Kontexte gerendert, führt dies zu XSS-Schwachstellen. Überprüfen Sie insbesondere Kommentarfelder, Profilangaben, Chat-Nachrichten und Administrations-Dashboards auf ausreichende Datenbereinigung (Sanitization).

Server-Side Request Forgery (SSRF)
Funktionen, bei denen der Server externe, vom Nutzer bereitgestellte URLs aufruft, müssen auf SSRF geprüft werden. Ohne strenge Allowlisten könnten Angreifer den Server dazu bringen, interne Metadaten-Dienste oder nicht öffentliche Netzwerke abzufragen.

Unsicherer Datei-Upload
Beim Upload von Profilbildern oder Dokumenten reicht die bloße Prüfung der Dateiendung nicht aus. MIME-Typ-Validierung, Größenbeschränkungen, Content-Prüfung, isolierter Speicherplatz und restriktive Ausführungsrechte sind unverzichtbar.

CORS-Fehlkonfigurationen
CORS (Cross-Origin Resource Sharing) regelt, wie Browser domainübergreifend Ressourcen anfragen dürfen. Wildcards (*) in Kombination mit Anmeldedaten (Access-Control-Allow-Credentials: true) oder ungeprüft gespiegelte Origin-Header ermöglichen Datenabgriffe. Definieren Sie stattdessen eine feste Allowlist vertrauenswürdiger Domains.

HTTP-Sicherheits-Header
Korrekt konfigurierte HTTP-Header bieten einen wichtigen Grundschutz im Browser:

Content-Security-Policy (CSP)

Strict-Transport-Security (HSTS)

X-Content-Type-Options

X-Frame-Options

Referrer-Policy

3. Können KI-Halluzinationen Sicherheitsrisiken erzeugen?
Ja, auf indirektem Weg.

KI-Modelle halluzinieren gelegentlich nicht existierende Software-Bibliotheken, empfehlen veraltete API-Methoden oder schlagen Bibliotheken mit bekannten Sicherheitslücken (CVEs) vor.

Bittet ein Entwickler die KI um ein npm-, PyPI- oder Composer-Paket und installiert dieses ungeprüft, öffnet dies Einfallstore für Angriffe auf die Software-Lieferkette (Supply Chain). Angreifer beobachten häufig halluzinierte Paketnamen und registrieren bösartigen Schadcode unter genau diesen Namen (Package Typosquatting).

Prüfen Sie daher vor jeder Installation Paketname, Entwickler, GitHub-Repository, Version und bekannte Sicherheitsmeldungen.

4. Offengelegte API-Schlüssel und Hardcoded Secrets
Das Secret-Management ist eine häufige Fehlerquelle bei KI-generiertem Code. Das versehentliche Einbetten folgender Daten im Code führt zu unmittelbaren Risiken:

Externe API-Schlüssel

Datenbank-Zugangsdaten und Passwörter

Private Token und JWT-Secrets

Zugangsdaten für Cloud-Dienste

Private kryptografische Schlüssel

Wichtiger Grundsatz: Daten, die an den Browser gesendet oder im clientseitigen JavaScript-Bundle enthalten sind, sind öffentlich. Jeder Nutzer kann sie über die Entwicklertools (F12) auslesen. Sensible Schlüssel gehören ausschließlich auf die Serverseite.

5. Warum Sicherheit im Zeitalter des „Vibe Coding“ entscheidend ist
Der Trend des schnellen, KI-gestützten Programmierens („Vibe Coding“) ermöglicht es auch Nicht-Entwicklern, komplexe Produkte zu erstellen. Die rasante Entwicklungsgeschwindigkeit führt jedoch oft dazu, dass Sicherheitsaspekte vernachlässigt werden.

Wenn an einem einzigen Tag dutzende Endpunkte, Datenmodelle und Drittanbieter-Schnittstellen entstehen, ist ein manuelles Review jeder Zeile kaum mehr leistbar. Automatisierte Sicherheitsprüfungen bilden hier eine unverzichtbare Kontrollinstanz.

6. Wie wird KI-generierter Code sicher?
Ein einzelnes Tool reicht für ganzheitliche Sicherheit nicht aus. Empfohlen wird ein mehrschichtiger Sicherheitsansatz:

Manuelle Code-Reviews: Kritische Pfade für Authentifizierung, Berechtigungen, Zahlungen und Datei-Uploads gezielt prüfen.

Abhängigkeiten prüfen: Software Composition Analysis (SCA) zur Erkennung veralteter oder verwundbarer Bibliotheken nutzen.

Secret Scanning: Automatisierte Scanner einsetzen, um fest im Code hinterlegte Passwörter und Tokens vor dem Commit aufzuspüren.

Statische Analyse (SAST): Den Quellcode automatisiert auf bekannte Schwachstellenmuster untersuchen.

Laufzeit-Tests (DAST): Die lauffähige Anwendung von außen testen, um offene Endpunkte, Fehlkonfigurationen und Header-Probleme aufzudecken.

Manuelle Penetrationstests: Bei Systemen mit sensiblen Finanz-, Personen- oder Gesundheitsdaten externe Sicherheitsexperten für umfassende Tests hinzuziehen.

7. Sicherheits-Checkliste vor dem Produktionsstart
Gehen Sie diese Checkliste durch, bevor Sie eine KI-generierte Webanwendung live schalten:

[ ] Ist die Authentifizierung sauber implementiert und werden Sessions sicher verwaltet?

[ ] Werden alle Autorisierungs- und Rechteprüfungen serverseitig durchgeführt?

[ ] Wurde das IDOR-Risiko bei allen Datenabfragen und -änderungen ausgeschlossen?

[ ] Sind Schutzmaßnahmen gegen SQL-Injection und andere Injection-Arten aktiv?

[ ] Werden alle dynamischen Ausgaben gegen XSS geschützt?

[ ] Wurden Funktionen mit externen URL-Aufrufen auf SSRF geprüft?

[ ] Werden Datei-Uploads hinsichtlich MIME-Typ, Größe und Speicherort streng beschränkt?

[ ] Basiert CORS auf einer festen Domain-Allowlist?

[ ] Sind alle wichtigen HTTP-Sicherheits-Header konfiguriert?

[ ] Ist HTTPS mit moderner TLS-Konfiguration erzwungen?

[ ] Greift ein Rate-Limiting für Login-, Registrierungs- und sensible API-Endpunkte?

[ ] Sind Debug- und Test-Endpunkte in der Produktionsumgebung deaktiviert?

[ ] Befinden sich keine API-Schlüssel oder Passwörter im Frontend-Code?

[ ] Wurden alle externen Bibliotheken auf bekannte Schwachstellen gescannt?

[ ] Wurde die Live-Anwendung einem externen Sicherheits-Scan unterzogen?

8. Warum automatisierte Web-Sicherheitsscans essenziell sind
Mit jedem neu hinzugefügten Feature und Endpunkt verändert sich die Angriffsfläche einer Anwendung. Ein automatisierter Sicherheitsscan überprüft die laufende Anwendung aus der Perspektive eines externen Angreifers.

Ein externer Scan prüft systematisch:

Offene Ports und erreichbare Hintergrunddienste

Korrekte Konfiguration der HTTP-Sicherheits-Header

Gültigkeit und Konfiguration von SSL/TLS-Zertifikaten

Öffentlich erreichbare administrative Pfade und Test-Endpunkte

Bekannte Fehlkonfigurationen moderner Web-Frameworks

Dadurch lassen sich Schwachstellen proaktiv beheben, bevor unbefugte Dritte sie nach dem Livegang ausnutzen.

9. Ersetzt ein automatisierter Scan einen Penetrationstest?
Nein. Automatisierte Scans und manuelle Penetrationstests erfüllen unterschiedliche Aufgaben.

Automatisierte Scans decken bekannte Fehlkonfigurationen, veraltete Software und oberflächliche Schwachstellen schnell und skalierbar auf. Ein manueller Penetrationstest durch Experten analysiert hingegen komplexe Geschäftslogiken und mehrstufige Autorisierungsprobleme, die automatische Tools nicht erfassen können.

Automatisierte Scans bieten eine wichtige Basis. Bei Systemen mit vertraulichen Daten sollten jedoch regelmäßig tiefergehende manuelle Tests ergänzt werden.

10. Empfohlene Teststrategie für KI-Anwendungen
Eine vollständige Sicherheitsstrategie vereint mehrere Methoden:

Code-Sicherheit: SAST und manuelle Reviews kritischer Komponenten

Abhängigkeiten: Software Composition Analysis (SCA)

Secret-Schutz: Pre-Commit Secret Scanning

Laufzeitanalyse: Dynamische Web-Schwachstellenanalyse (DAST)

Angriffsflächen-Management: Überwachung exponierter Subdomains und Dienste

Expertentests: Manuelle Penetrationstests für Hochrisikobereiche

Häufig gestellte Fragen (FAQ)
Ist durch KI erstellter Code sicher?
Nicht automatisch. KI-generierter Code muss vor dem Produktionsstart unabhängigen Reviews, Paketprüfungen und Sicherheitsanalysen unterzogen werden.

Können mit ChatGPT erstellte Codes Sicherheitslücken enthalten?
Ja. Von ChatGPT generierter Code kann unzureichende Autorisierungsprüfungen, fehlende Eingabevalidierungen, XSS-Lücken oder unsicheres Secret-Management aufweisen.

Sind mit Cursor entwickelte Anwendungen sicher?
KI-Code-Editoren beschleunigen die Entwicklung, garantieren jedoch keine inhärente Sicherheit. Die Sicherheitskontrolle muss separat erfolgen.

Wie testet man eine KI-generierte Website?
Prüfen Sie Authentifizierung, Autorisierung, Injections, Upload-Routinen, CORS, Sicherheits-Header und API-Endpunkte mittels statischer Code-Analyse und dynamischer externer Scans.

Können KI-Tools Sicherheitslücken vollständig verhindern?
Nein. KI kann bei der Fehlererkennung unterstützen, ersetzt jedoch keine strukturierten Testabläufe, Sicherheitsprüfungen und menschliche Kontrollen.

Fazit
Künstliche Intelligenz beschleunigt Softwareprojekte enorm. Schnelligkeit darf jedoch niemals zu Lasten der grundlegenden Sicherheit gehen.

Funktionierender Code ist kein sicherer Code. Bevor Sie mit ChatGPT, Claude, GitHub Copilot oder Cursor entwickelte Anwendungen veröffentlichen, sollten Authentifizierung, Berechtigungsprüfungen, Injections, Header und Secret-Management gründlich geprüft werden.

Um die externe Angriffsfläche Ihrer Anwendung transparent zu analysieren und Schwachstellen vor dem Launch zu schließen, können Sie mit CyberTestify eine automatisierte Sicherheits-Ersteinschätzung durchführen.