Best Practices für Anwendungssicherheit im KI-Zeitalter KI-generierter Code überfordert klassische AppSec-Audits

Ein Gastbeitrag von Jochen Koehler 5 min Lesedauer

Anbieter zum Thema

Laut einer aktuellen Studie nutzen 97 Prozent der Unternehmen bereits KI-Coding-Tools, doch KI-generierter Code erhöht gleichzeitig die Angriffsfläche massiv. Klassische AppSec-Audits können die wachsende Komplexität aus Microservices, CI/CD-Pipelines und KI-generierten Abhängigkeiten nicht mehr abbilden. Kontinuierliche, in den Entwicklungszyklus eingebettete Sicherheitsprüfungen sind die Antwort.

KI-generierter Code und wachsende Codebasen überfordern klassische AppSec-Audits. Kontinuierliche, in den Entwicklungszyklus eingebettete Sicherheitsprüfungen ersetzen das veraltete Modell.(Bild: ©  Nattanon - stock.adobe.com)
KI-generierter Code und wachsende Codebasen überfordern klassische AppSec-Audits. Kontinuierliche, in den Entwicklungszyklus eingebettete Sicherheitsprüfungen ersetzen das veraltete Modell.
(Bild: © Nattanon - stock.adobe.com)

Audits für die Anwendungssicherheit (AppSec) waren früher relativ unkompliziert: AppSec-Teams prüften den Quellcode der – in der Regel monolithischen – Anwendungen, führten ein paar Scans durch, dokumentierten die Ergebnisse und wandten sich dann wichtigeren Aufgaben zu. Diese Vorgehensweise ist heute in der Form nicht mehr möglich. Grund dafür ist, dass moderne Anwendungen nicht mehr dem klassischen Bild eines Monolithen entsprechen. Sie bestehen oft aus Microservices, die über On-premises-, Cloud- oder Hybrid-Systeme verteilt sind. Außerdem enthalten sie teils starke Abhängigkeiten zu Open-Source-Komponenten wie Bibliotheken, Build-Tools oder Frameworks und durchlaufen komplexe CI/CD (Continuous Integration und Continuous Deployment)-Pipelines.

Erschwerend kommt mittlerweile hinzu, dass KI-basierte Coding-Assistenten einen immer größeren Anteil an Produktivcode generieren. Einer aktuellen Studie von Cycode zufolge, verwenden 97 Prozent der Unternehmen entsprechende Tools bereits aktiv oder evaluieren aktuell die Nutzung. Die Frage, ob KI-generierter Code bereits Teil ihres Quelltextes ist, beantworteten alle befragten Unternehmen mit einem klaren „Ja“. KI und sogenanntes „Vibe Coding“ spielt im Zusammenhang mit AppSec-Audits eine entscheidende und den Prozess erschwerende Rolle. Denn nicht nur helfen GenAI (generative KI) und auf ihr basierende Coding-Assistenten Entwicklern, mehr Code zu generieren. Sie führen auch ganz nebenbei neue Abhängigkeiten ein und machen dadurch, dass viel unter der Oberfläche abläuft, die Entwicklungsprozesse schwer nachvollziehbar. Schließlich sorgen die massiv größeren (und exponentiell wachsenden) Codebasen in Verbindung mit den stetig an Komplexität zunehmenden IT-Infrastrukturen sowie KI-generiertem Code vor allem für eines: eine geringere Transparenz.

Was sind AppSec-Audits?

Diese mangelhafte Visibilität über die gesamte Codebasis, Abhängigkeiten und die zugrundeliegende IT-Infrastruktur hinweg erschwert die Durchführung sauberer Audits für die Anwendungssicherheit. Da es sich bei AppSec-Audits um stark strukturierte Prozesse zur Bewertung der Sicherheitslage einer Anwendung handelt, ist Transparenz jedoch das A und O. Schwachstellen, Fehlkonfigurationen und riskante Coding-Praktiken können immerhin überall auftreten, weshalb Auditoren (oder Audit-Tools) sie nur dann sicher und gewissenhaft identifizieren, wenn wirklich jeder Aspekt einer Anwendung offenliegt. Aus diesem Grund sollte ein ganzheitlicher AppSec-Audit die eingehende Untersuchung der folgenden Bereiche umfassen:

  • Quellcode: Dazu gehört die individuelle Anwendungslogik und geschäftskritische Funktionalität, einschließlich des Codes, der von KI-Assistenten geschrieben oder der von ihnen bearbeitet wurde.
  • (Open-Source-)Abhängigkeiten: Das umfasst Bibliotheken von Drittanbietern, die Risiken für die Software-Supply-Chain beinhalten könnten, einschließlich indirekt durch KI-generierten Code eingeführter Abhängigkeiten.
  • CI/CD-Pipelines: Dazu zählen sämtliche Build- und Deployment-Workflows, die Secrets offenlegen oder Schwachstellen einführen können, wenn Code in Richtung Produktivumgebung bewegt wird.
  • Infrastruktur und Konfigurationen: Diese betreffen Cloud-Ressourcen, Container und IaC (Infrastructure as Code)-Plattformen, die definieren, wie Anwendungen in Produktion laufen.
  • Zugriffskontrollen und Secrets: Das reicht von Zugangsdaten und Tokens bis zu Berechtigungen, die bei falscher Verwaltung über Systeme und Tools hinweg ausgenutzt werden könnten.
  • KI-generierter Code und Tooling: Dazu gehören schnell wachsende Teile der Codebasis, denen es häufig an Transparenz, Governance oder konsistenten Sicherheitsstandards mangelt.

Dieses breite Spektrum, das sich deutlich von dem doch recht simplen Prozess der Vergangenheit unterscheidet, spiegelt den grundlegenden Wandel in Sachen AppSec-Audits wider: Sicherheitsrisiken sind eben nicht mehr nur im Basis-Layer, sondern über den gesamten Entwicklungszyklus verteilt.

Kontinuierliche Audits schlagen punktuelle

Doch geändert hat sich nicht nur die Art und Weise, wie Anwendungen entwickelt und wo beziehungsweise wie sie gehostet werden, sondern auch wie Programmierer sie weiterentwickeln. Gab es früher vielleicht alle paar Monate einmal ein großes Update des Monolithen, ändert sich Code heute täglich. Manchmal mehrfach. Entsprechend darf auch die Anwendungssicherheit nicht statisch sein, wenn Entwickler ständig neue Abhängigkeiten und Services in die Codebasis einführen. Und genau wegen dieser neuen Dynamik sind punktuelle AppSec-Audits ebenfalls nicht mehr zeitgemäß, da sie den Zustand nur an einem bestimmten Zeitpunkt abbilden. Die Antwort auf die Frage, ob die Anwendung immer noch sicher ist, kann somit theoretisch fünf Minuten später bereits „nein“ lauten.

Das ist einer der Hauptgründe, warum Risiken immer weiter zunehmen. So berichten etwa 65 Prozent der Organisationen von einem Anstieg des Gesamtrisikos für die Sicherheit ihrer IT-Infrastruktur nach Einführung KI-gestützter Entwicklung. Kontinuierliche AppSec-Audits schließen diese Lücke, da die Sicherheitsbewertungen so mit der Entwicklung Schritt halten. Unternehmen sollten allerdings nicht immer den gleichen Audit wiederholen. Stattdessen sollten sie Sicherheitsprüfungen in den Entwicklungszyklus einbetten, sodass Risiken eben kontinuierlich identifiziert und behoben werden. Eine Möglichkeit, diese Strategie auch praktisch umzusetzen, ist der Einsatz dedizierter ADS (Agentic Development Security)-Plattformen. Sie enthalten ein breites Portfolio an KI-basierten Scannern und Tools für das Absichern des gesamten Agentic Development Lifecycle (ADLC).

Best Practices für AppSec-Audits

Doch unabhängig von den eingesetzten Tools gibt es einige Best Practices. Ein wirksames AppSec-Audit beginnt etwa mit einer klaren Definition des Prüfungsumfangs. Neben dem Anwendungscode müssen, wie oben erwähnt, auch APIs, Microservices, CI/CD-Pipelines, Cloud-Infrastruktur sowie Drittanbieter-Abhängigkeiten berücksichtigt werden. Grundlage dafür ist eine aktuelle Inventarisierung aller relevanten Assets. Nur wer vollständige Transparenz über Repositories, Abhängigkeiten, Pipelines und Cloud-Ressourcen hat, kann Risiken zuverlässig identifizieren und bewerten. Die Überprüfung von Quellcode und Open-Source-Komponenten bleibt ein zentraler Bestandteil des Audits. Neben klassischen Schwachstellen im eigenen Code müssen Unternehmen insbesondere Risiken durch Drittbibliotheken und veraltete Pakete, sowie transitive Abhängigkeiten berücksichtigen. Ebenso wichtig ist die Absicherung der CI/CD-Pipeline, da fehlerhafte Berechtigungen, unsichere Integrationen oder exponierte Secrets direkt in produktive Umgebungen gelangen können. Ergänzend dazu sollten Identity- und Access-Management-Richtlinien überprüft werden, insbesondere im Hinblick auf das Least-Privilege-Prinzip, die sichere Verwaltung von Zugangsdaten und konsistente Authentifizierung über verschiedene Systeme hinweg.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Darüber hinaus sollten APIs und Anwendungsschnittstellen durch dynamische Tests geprüft werden, um Laufzeitprobleme, Autorisierungsfehler und Schwächen in der Business-Logik aufzudecken. Eine funktionierende Logging-, Monitoring- und Alerting-Strategie stellt sicher, dass sicherheitsrelevante Ereignisse erkannt und nachvollzogen werden können. Da Audits häufig viele Ergebnisse liefern, ist eine risikobasierte Priorisierung entscheidend. Faktoren wie Ausnutzbarkeit, Exposition und geschäftliche Auswirkungen helfen dabei, kritische Schwachstellen zuerst zu beheben. Schließlich sollte Anwendungssicherheit kontinuierlich in den Entwicklungsprozess integriert werden. Automatisierte Scans, laufendes Monitoring und nachvollziehbares Reporting sorgen dafür, dass Sicherheitsbewertungen mit der Dynamik moderner Softwareentwicklung Schritt halten.

Über den Autor: Jochen Koehler ist Vice President of Sales EMEA bei Cycode.

(ID:50871716)