Ein Entwickler bittet einen KI-Assistenten, eine fehlerhafte Kundensuchabfrage zu korrigieren. Der vorgeschlagene Patch lässt den Test zwar erfolgreich durchlaufen, ersetzt jedoch den auf den Mandanten (Tenant) beschränkten Filter durch eine Suche, die ausschließlich auf der customerId basiert. Nach dem Zusammenführen des Pull-Requests (Merge) erhält ein Benutzer, der die Kennung eines anderen Mandanten kennt, Zugriff auf den Datensatz dieses Kunden. Der Angreifer benötigte keinen Zugriff auf das Repository, das CI-System oder den Programmierassistenten. Er nutzte lediglich eine reguläre Anwendungsanfrage an einen Endpunkt, bei dem die Autorisierungsprüfung unbemerkt entfallen war.
Eine nicht vertrauenswürdige Änderung ist jede vorgeschlagene Anpassung an Code, Abhängigkeiten, Konfigurationen oder Arbeitsabläufen, die noch keine Kontrollen durchlaufen hat, welche unabhängig vom jeweiligen Autor erfolgen. Die Ausgabe eines Assistenten fällt in diese Kategorie, selbst wenn sie kompilierbar ist, eine plausible Erklärung liefert und den gemeldeten Fehler behebt. Der Assistent generierte den Text auf der Grundlage des Prompts und des Repository-Kontexts. Keiner dieser Faktoren belegt, dass die resultierende Abfrage die Mandantentrennung der Anwendung wahrt.
Der relevante Pfad überschreitet mehrere Grenzen. Der Patch des Assistenten, die vorgeschlagene Paketversion und etwaige generierte Konfigurationen gelangen als nicht vertrauenswürdige Artefakte in das Repository. Das CI-System prüft die vorgeschlagene Änderung, stellt jedoch nicht automatisch sicher, dass die Autorisierung korrekt ist. In der Produktionsumgebung wird nur das zusammengeführte Artefakt ausgeführt; dort führt der fehlende Filter dazu, dass die Daten eines Kunden für einen anderen Mandanten zugänglich werden. Die folgende Übersicht der Grenzen verdeutlicht die Unterscheidung dieser Artefakte:
Die Grenzlinien-Übersicht (Boundary Map) verdeutlicht, warum hier ein einheitlicher Sicherheitsvertrag (Security Contract) verwendet wird. Jedes von einer KI erzeugte Artefakt ist als nicht vertrauenswürdig zu behandeln, bis eine unabhängige menschliche Überprüfung und die erforderlichen automatisierten Prüfungen die Änderung freigeben. Das Modell selbst fungiert niemals als Durchsetzungsinstanz. Eine Anweisung (Prompt), die eine Mandantentrennung (Tenant Isolation) fordert, stellt lediglich eine über denselben Kanal wie der Code-Vorschlag übermittelte Präferenz dar; sie ist keine Kontrollmaßnahme, die eine unsichere Zusammenführung (Merge) verhindert.
Im Fall des Patches für die Kundensuche prüft der Reviewer des Pull Requests, ob die Abfrage weiterhin die Mandantenberechtigung des authentifizierten Benutzers berücksichtigt. Die CI-Pipeline prüft verschiedene Aspekte: Die Quellcodeanalyse untersucht Implementierungsmuster, die Abhängigkeitsanalyse (Dependency Analysis) prüft das neu hinzugefügte Paket, und das Secret Scanning durchsucht geänderten Quellcode sowie Konfigurationen nach Zugangsdaten. Der Branch-Schutz des Repositorys erzwingt die Merge-Entscheidung, indem er diese Prüfungen und Freigaben zur Voraussetzung macht. Keine Kontrollmaßnahme darf sich allein auf die Behauptung des Assistenten stützen, der Patch sei sicher.
Prüfungsregel
Von einer KI generierter Code wird nur dann akzeptiert, wenn eine unabhängige Überprüfung und die erforderlichen Sicherheits-Gates (Kontrollpunkte) dokumentierte Nachweise liefern. Die Modellausgabe und die Formulierung des Prompts setzen keine Zugriffskontrolle durch.
Jede Kontrollmaßnahme hat ihre Grenzen. Bei einer manuellen Überprüfung kann ein subtiler Fehler im Datenfluss übersehen werden; daher liefern automatisierte Prüfungen ein zusätzliches Signal. Ein Scanner kann Autorisierungslogik übersehen, die Anwendungskontext erfordert; daher bleibt eine qualifizierte Überprüfung unerlässlich. Eine erfolgreich durchlaufene Pipeline beweist nicht die Abwesenheit von Schwachstellen. Sie belegt lediglich, dass für die betreffende Revision die definierten Nachweise für die Sicherheits-Gates vorliegen. Schlägt ein erforderliches Sicherheits-Gate fehl, protokolliert das Repository den Befund, blockiert den Merge gemäß den Richtlinien und hält den Entscheidungsprozess (Audit Trail) für die Annahme oder die Ausnahmegenehmigung fest.
Das zu prüfende Artefakt ist ein Pull Request, der einen GET /search?q=...-Endpunkt zu einem Multi-Tenant-Webdienst hinzufügt und eine Abhängigkeit für die Textsuche integriert. Eine Benutzeranfrage gilt als nicht vertrauenswürdige Eingabe. Der Handler empfängt die Identität des authentifizierten Benutzers, erstellt eine Datenbankabfrage und muss die Mandantenberechtigung dieses Benutzers anwenden, bevor die Datenbank Datensätze zurückgibt. Der Datenbankvorgang wird unter der Dienstidentität der Anwendung ausgeführt, während die Abfrage- oder Richtlinienebene (Policy Layer) festlegt, was der Endbenutzer sehen darf. Wenn der neue Endpunkt eine tenantId aus der Anfrage akzeptiert, ohne sie mit der authentifizierten Berechtigung abzugleichen, erstreckt sich der potenzielle Schadensbereich auf alle Datensätze, die über diese Dienstidentität zugänglich sind.
Auch der Pull Request selbst gilt als nicht vertrauenswürdig. Sein Diff könnte das Mandanten-Prädikat entfernen, das Abhängigkeitsmanifest könnte ein anfälliges oder ungeeignetes Paket einführen und die generierte Konfiguration könnte ein offengelegtes Geheimnis (Secret) enthalten. Die Erläuterung des Assistenten kann keine dieser Fragen klären. Aufschluss geben stattdessen das Diff, das geänderte Abhängigkeitsmanifest, die Scanner-Kategorien, die Genehmigung durch Reviewer sowie der Merge-Datensatz.
Ein statistischer Anwendungssicherheitstest (Static Application Security Test, SAST) untersucht Quellcode und Datenflüsse auf Code-Ebene nach bekannten Schwachstellenmustern. Die Software Composition Analysis (SCA) prüft Abhängigkeiten und Komponenten-Metadaten im Hinblick auf Aspekte der Lieferkette (Supply Chain). Das Secret Scanning durchsucht geänderte Repository-Artefakte nach Zugangsdaten oder Tokens, die nicht in das Repository eingecheckt werden dürfen. Da diese Prüfungen unterschiedliche Artefakte untersuchen, kann ein positives Ergebnis bei einer Prüfung nicht durch ein anderes ersetzt werden. Der Anfragepfad und der CI-Pfad veranschaulichen, woher die Vorschläge stammen und an welcher Stelle die Überprüfung Nachweise für die Akzeptanz liefert: