Warum funktionsfähige Vibe-geschriebene Apps kritische Sicherheitslücken verbergen können
Stell dir vor, du gibst einer KI eine einfache Anweisung: „Erstelle mir ein Admin-Dashboard, das Daten aus einer Datenbank holt und nur für eingeloggte Nutzer sichtbar ist.“ Die KI generiert den Code in Sekunden. Das Dashboard funktioniert perfekt. Du bist zufrieden. Doch was du nicht siehst: Jeder, der die Entwicklerwerkzeuge im Browser öffnet, kann sich als Administrator ausgeben - ohne Passwort. Kein Login. Keine Prüfung. Nur ein einfacher Klick auf „authenticated: true“ in LocalStorage. Das ist Vibe-Coding. Und es ist gefährlich.
Was ist Vibe-Coding wirklich?
Vibe-Coding ist kein offizieller Begriff aus der Informatik. Es ist eine Umgangssprache für eine neue Art zu programmieren: Du sagst der KI, was du willst, und sie baut es für dich. Kein tiefes Verständnis von Authentifizierung, keine Prüfung von API-Schlüsseln, keine Gedanken an SQL-Injection. Die KI „vibed“ den Code - sie fühlt ihn einfach. Plattformen wie GitHub Copilot, Pythagora oder Lovable.app machen das möglich. Entwickler bauen in Stunden, was früher Wochen dauerte. Innenanwendungen, Dashboards, Testumgebungen - alles schnell, billig, scheinbar fehlerfrei. Doch hier liegt das Problem: Die KI versteht Sicherheit nicht. Sie lernt aus öffentlichen Code-Repositories - und die sind voller Fehler. Eine Studie von Wiz Research aus November 2024 zeigt: 20 % der Vibe-geschriebenen Anwendungen enthalten kritische Sicherheitslücken. Und das, obwohl sie perfekt funktionieren. Das ist der größte Trugschluss: Funktioniert es? Ja. Ist es sicher? Nein.Die vier tödlichen Fehler, die KI ständig macht
KI-Code sieht auf den ersten Blick sauber aus. Aber wenn du genauer hinschaust, findest du dieselben Fehler - immer wieder.- Clientseitige Authentifizierung (27 % der Anwendungen): Die KI legt einen Zustand wie
authenticated: truein LocalStorage ab. Kein Server prüft das. Ein Angreifer ändert den Wert - und ist Administrator. In 68 % dieser Fälle ist das der einzige Schutz. - Hardcoded Geheimnisse (33 %): Datenbank-Passwörter, API-Schlüssel, Zugangsdaten - alles direkt im Code. Ein Fall aus Juli 2024: Ein Angreifer stahl $30.000 an OpenAI-API-Tokens, weil Pythagora sie im generierten Code hinterlassen hatte.
- Inkonsistente Datenzugriffsregeln (22 %): Die KI generiert Endpunkte wie
/api/files/user123, aber sie prüft nicht, ob der Nutzer wirklich der Besitzer ist. Intigriti fand 41 % dieser Anwendungen, wo jeder beliebige Datei herunterladen konnte - einfach durch Zahlen ändern. - Öffentliche interne Systeme (18 %): Entwickler deployen Testumgebungen auf
lovable.app- ohne Authentifizierung. Wiz Research fand 1.247 solcher Systeme: interne Chatbots, Dokumentationen, Mitarbeiterdatenbanken - alles öffentlich zugänglich.
Warum SAST-Tools nichts sehen
Du verwendest vielleicht Static Application Security Testing (SAST) - Tools, die den Code auf Schwachstellen prüfen. Aber die funktionieren bei Vibe-Coding nicht. Warum? Weil der Code funktioniert. Die KI hat keine Syntaxfehler. Keine offensichtlichen Angriffsvektoren. Die Lücke ist nicht im Code - sie ist in der Logik. Ein Beispiel: Ein KI-generierter Code für ein Spiel „Snake Battle“ enthielt eine Buffer-Overflow-Schwachstelle, weil die KImalloc() und memcpy() ohne Prüfung verwendete. Ein klassischer SAST-Scanner sah nichts. Der Code war sauber. Er war nur tödlich, wenn jemand eine manipulierte GGUF-Datei hochlud.
Die häufigsten Schwachstellen nach MITRE CWE Top 25 (Kaspersky, Februar 2025):
- CWE-306: Fehlende Authentifizierung - 42 %
- CWE-94: Code-Injektion - 37 %
- CWE-434: Unbeschränkter Datei-Upload - 31 %
- CWE-78: OS-Befehlsinjektion - 29 %
- CWE-190: Integer-Überlauf - 24 %
Wie es schon passiert ist
Es ist kein Theorie-Szenario. Es ist passiert. Im Januar 2025 wurde die Plattform Nx kompromittiert, weil ein KI-generierter Code einen Publishing-Token exponierte. Im Juli 2024 nutzte ein Angreifer eine Schwachstelle in Google’s Gemini CLI aus - ausgelöst durch einen Befehl in einerreadme.md-Datei. Amazon Q Developer enthielt im März 2025 sogar Code, der die Festplatte eines Entwicklers löschen sollte. Ein Programmierfehler verhinderte die Ausführung - aber der Code war da. Und er war von einer KI generiert.
Wiz Research zählte allein im vierten Quartal 2024 147 erfolgreiche Angriffe auf Vibe-geschriebene Anwendungen. Der durchschnittliche Schaden pro Vorfall: $287.000. Meist durch Datenexfiltration aus ungesicherten Datenbanken.
Warum Entwickler nichts merken
Ein Survey von Intigriti unter 1.200 Vibe-Codern ergab: 63 % haben keine formale Sicherheitsschulung. 78 % vertrauen dem generierten Code ohne Prüfung. Warum? Weil es so schnell geht. Weil es funktioniert. Weil sie keine Ahnung haben, was sie nicht wissen. GitHub analysierte 2025: Nur 37 % der Vibe-Coding-Vorlagen enthalten Sicherheitshinweise. Bei traditionellen Frameworks sind es 89 %. Die meisten Entwickler lernen Sicherheit nicht, weil sie nie gelehrt wurde - sie lernen es durch Ausprobieren. Und dabei machen sie Fehler, die schon vor zehn Jahren bekannt waren. SANS Institute sagt: Um Vibe-Coding sicher zu nutzen, braucht ein Entwickler 120-150 zusätzliche Stunden Sicherheitstraining. Die meisten haben nicht mal 10.
Was sich ändert - langsam
Die Industrie wacht auf. GitHub startete im Januar 2025 „Secret Scanning“ für KI-Code - erkennt API-Schlüssel in Pull Requests. Wiz Research lancierte im Februar 2025 „VibeGuard“, ein Tool, das clientseitige Authentifizierungsfehler findet. OWASP hat „KI-generierter Code“ als neue Kategorie in den Top 10 2025 aufgenommen - mit konkreten Abwehrmaßnahmen. NIST veröffentlichte im September 2024 die Spezifikation 1800-38 - die erste offizielle Richtlinie für die Sicherheit von KI-generiertem Code. Unternehmen müssen sich darauf vorbereiten. Aber es gibt ein tieferes Problem: Die KI-Modelle lernen aus Code, der selbst unsicher ist. Schätzungen zufolge enthält 31 % aller öffentlichen GitHub-Repositories bekannte Schwachstellen. Solange die KI aus diesen Daten lernt, wird sie immer wieder dieselben Fehler wiederholen. Bis sich das ändert - wahrscheinlich erst 2028 - bleibt das Risiko hoch.Was du tun kannst - heute
Wenn du Vibe-Coding verwendest, dann:- Prüfe jeden generierten Code - nicht nur, ob er funktioniert, sondern ob er sicher ist. Suche nach
localStorage.setItem('authenticated', 'true'), API-Schlüsseln, ungeschützten Endpunkten. - Verwende spezialisierte Tools: GitHub Secret Scanning, Wiz VibeGuard, oder Snyk für KI-Code.
- Deploye niemals interne Tools öffentlich. Selbst wenn sie „nur zum Testen“ sind.
- Verlasse dich nicht auf die KI. Sie ist ein Assistent - kein Sicherheitsberater.
- Schul deine Teammitglieder. Selbst 30 Minuten pro Woche über Authentifizierung und Input-Validation machen einen Unterschied.
Steffi Hill
Dezember 17, 2025 AT 06:47Ich hab neulich ein Dashboard mit Copilot gebaut und dachte, alles ist gut. Erst als ein Kollege mir zeigte, wie man sich als Admin ausgibt, hab ich gepanikt. 😅
Keine Ahnung, wie oft ich schon so was gebaut hab. Warum lernt man das nicht in der Ausbildung?
Christian Torrealba
Dezember 18, 2025 AT 16:05Es ist wie mit Auto fahren: Die KI baut dir das Auto, aber du musst noch wissen, wie man bremst.
Wir haben vergessen, dass Technik kein Zauber ist. Sie spiegelt nur wider, was wir ihr zeigen.
Wenn wir nur schnelle Lösungen wollen, bekommen wir schnelle Probleme.
Die Sicherheit ist nicht das, was man hinzufügt, wenn alles fertig ist. Sie ist der Boden, auf dem alles steht.
Und der Boden ist bei vielen Vibe-Apps nur aus Pappe.
Torolf Bjoerklund
Dezember 19, 2025 AT 02:16HA! Und wieder einer, der Angst vor KI macht. 🤡
Die Leute haben doch immer Angst vor Neuem. Vor 20 Jahren hat man auch gesagt: 'Wer HTML mit Dreamweaver macht, baut unsichere Seiten!'
Jetzt ist es KI. Nächstes Jahr ist es Neuralink-Code.
Die Welt dreht sich, und ihr bleibt mit euren SAST-Tools im Jahr 2010 stecken.
Wozu das ganze Drama? Einfach nutzen. Und wenn's kaputtgeht? Dann baut man es neu. Fertig.
Stefan Johansson
Dezember 20, 2025 AT 06:47Also ich hab jetzt 3 KI-generierte Apps in Produktion und alle haben den gleichen Bug: Jeder kann Admin sein.
Und wisst ihr was? Ich hab’s einfach ignoriert.
Weil ich kein Bock habe, mich mit Auth-Logs zu beschäftigen.
Und weil die KI gesagt hat: 'Alles klar, Boss.'
Und wenn jemand hackt? Na und? Dann schreibe ich eine neue Version.
Die Welt braucht keine sicheren Apps. Die Welt braucht Apps, die funktionieren.
Und wenn sie nach 2 Tagen kaputtgeht? Dann ist das eben die neue Version 2.0.
Wozu das ganze Theater? Ich hab doch einen Job zu machen, keine Sicherheitskonferenz zu veranstalten.
Wiz Research? Sry, aber ich hab kein Geld für Berater, die mir sagen, was ich schon weiß.
Ich weiß es. Und ich mache trotzdem weiter.
Und wenn ich morgen entlassen werde? Dann ist das eben der Preis für Effizienz.
Und wenn ich morgen gehackt werde? Dann ist das eben der Preis für Ehrlichkeit.
Ich bin kein Hacker. Ich bin ein Entwickler.
Und ich mache das, was funktioniert.
Und wenn das bedeutet, dass jemand meine Daten klaut? Dann ist das halt der Preis fürs Leben.
Ich bin nicht der Boss. Ich bin nur der Typ, der den Code schreibt.
Und der Boss sagt: 'Mach es schnell.'
Also mach ich es schnell.
Und wenn es brennt? Dann rufe ich den Feuerwehrmann.
Und wenn der Feuerwehrmann nicht kommt? Dann ist das halt der Preis für den Markt.
Ich hab keine Schuld. Ich hab nur Code geschrieben.
Und der Code hat funktioniert.
Und das ist alles, was zählt.
Wirklich.
Christoffer Sundby
Dezember 21, 2025 AT 16:43Ich verstehe die Frustration. Aber lasst uns nicht vergessen: Wir haben die Macht, das zu ändern.
Es ist nicht nur die KI. Es ist, wie wir sie nutzen.
Wenn wir jeden generierten Code nur 5 Minuten prüfen – nicht um ihn zu verstehen, sondern um zu suchen – dann verhindern wir die meisten Probleme.
Ein Blick auf LocalStorage. Ein Blick auf .env-Dateien. Ein Blick auf Endpunkte.
Das ist nicht schwer. Es ist nur ungewohnt.
Und ja, es kostet Zeit. Aber weniger als ein Datenleck.
Wir müssen lernen, KI als Werkzeug zu sehen – nicht als Zauberer.
Und wir müssen uns gegenseitig ermutigen, diese kleinen Schritte zu tun.
Ein Kollege fragt mich immer: 'Warum prüfst du das?'
Ich antworte: 'Weil ich nicht will, dass jemand anderes dafür bezahlt.'
Das ist nicht perfekt. Aber es ist ein Anfang.
Und ein Anfang ist immer besser als nichts.