Veröffentlicht am: 20. Oktober 2026

6 Minuten Lesezeit

Was SAST-Scanner übersehen: Schwachstellen in der Geschäftslogik

Jetzt im Early Access: Business Logic Security Analyzer liest das Repository, leitet ab, was jeder Endpunkt durchsetzen sollte, und markiert die Lücken.

Broken Object Level Authorization (fehlerhafte Berechtigungsprüfung auf Objektebene) steht in den OWASP API Security Top 10 an erster Stelle. Laut OWASP tun sich klassische Tools für Static Application Security Testing (SAST) schwer damit, Fehler in der Zugriffskontrolle zu finden. Bei einer fehlenden Berechtigungsprüfung fehlt schlicht Code, und ein Scanner, der nach Mustern sucht, findet nichts, was er abgleichen könnte. Die Lücke lässt sich nur finden, wenn bereits bekannt ist, was der Endpunkt durchsetzen soll.

Wir entwickeln den Business Logic Security Analyzer in GitLab Duo Agent Platform, um Schwachstellen in der Geschäftslogik zu finden, die musterbasierte Scanner übersehen. Er ist jetzt im Early Access für Kund(inn)en mit GitLab Ultimate auf GitLab.com verfügbar.

Gültiger Code mit falscher Logik

Jedes Team für Anwendungssicherheit kennt diese drei Funde:

  1. Ein Endpunkt übernimmt eine Bestell-ID aus der Anfrage und gibt die Bestellung zurück, ohne zu prüfen, wem sie gehört.
  2. Ein Rollenfeld in einem Benutzerprofil akzeptiert jedes JSON, das der Client sendet.
  3. Eine Benutzer-ID ist eine fortlaufende Ganzzahl.

Jeder dieser Funde ist gültiger Code, der an den meisten Taint- und Musterregeln einer klassischen SAST-Engine vorbeikommt, weil keine Daten aus unsicherer Quelle eine gefährliche Senke erreichen und keine bekannte schädliche Signatur auftaucht. Miteinander verkettet verschaffen sie einem Angreifer die Bestellungen aller Kund(inn)en und eine Administratorrolle.

Bei den Kund(inn)en von GitLab ist die Größe der Codebasen um bis zu 500 % gewachsen, seit Agenten Code schreiben. Die Zahl der CVE-Veröffentlichungen lag bis April 46 % über der Februar-Prognose des Forum of Incident Response and Security Teams. Dieselben KI-Modelle, die Code erzeugen, machen es auch günstiger, bestehende Schwachstellen zu entdecken und zu verketten. Die Berechtigungslogik bekommt diesen Druck am stärksten zu spüren: Eine Prüfung schreiben Entwickler(innen) und Agenten in ein oder zwei Zeilen, doch wenn eine fehlt, bleibt die Lücke oft unbemerkt. Omer Azaria, Vice President of Product Management bei GitLab, brachte es auf der GitLab Transcend auf den Punkt: "Wir stecken in der Klemme: mehr Code, schnellere Angriffe, gleich große Teams."

Warum der Scan beim gesamten Repository ansetzt

GitLab Duo Security Review sucht in Merge Requests nach Fehlern bei der Berechtigung, doch viele Fehler in der Geschäftslogik sind in einem Diff nicht sichtbar. Ob ein Endpunkt die Eigentümerschaft prüfen muss, hängt vom Datenmodell ab, von den Rollen, die die Anwendung definiert, und davon, wie andere Endpunkte mit denselben Datensätzen umgehen. Wer einen einzelnen Handler beurteilen will, muss die Anwendung um ihn herum lesen.

Deshalb scannt der Business Logic Security Analyzer das gesamte Repository, und deshalb ist GitLab die richtige Plattform dafür. Der Quellcode, die Pipelines, die ihn bauen, die zugehörigen Sicherheitsfunde und die Richtlinien, die über Freigaben entscheiden, liegen alle in einem System. Ein Agent, der hier scannt, sieht die vollständige Anwendung und schreibt seine Funde dorthin, wo das Security-Team ohnehin arbeitet.

Auf der Transcend haben wir den GitLab Security Standard vorgestellt: fünf Stufen, die jeder Agent durchlaufen muss, um mehr Autonomie zu erhalten. Er beruht auf der Prämisse, dass Code inzwischen im Überfluss vorhanden ist und Vertrauen zur Mangelware wird. Die Stufe Verify verlangt, dass jede Änderung, ob von einer Person oder einem Agenten geschrieben, Kontrollen durchläuft, auf die die Autor(inn)en keinen Einfluss haben. Der Business Logic Security Analyzer läuft außerhalb des Einflussbereichs der Autor(inn)en, und seine Funde bleiben in demselben Bericht und denselben Dashboards erhalten, über die auch der Rest der Codebasis gesteuert wird.

So arbeitet der Analyzer

Der Business Logic Security Analyzer ist ein Foundational Flow in GitLab Duo Agent Platform, der auf Fehler in der Geschäftslogik zielt, zunächst auf Broken Object Level Authorization, fehlende oder fehlerhafte Berechtigungsprüfungen und Mass Assignment. Security-Fachleute können einen Scan des gesamten Repositorys ausführen und jeden Merge Request automatisch scannen lassen, sobald seine Pipeline erfolgreich durchgelaufen ist.

Um einen dieser Fehler zu erkennen, braucht es ein Modell dessen, was die Anwendung tun soll. Musterbasierte Scanner haben keines. Ein Agent, der das Repository liest, kann dagegen eines aufbauen. Der Analyzer ermittelt zunächst die Einstiegspunkte der Anwendung und bildet ab, wer was tun darf: welche Datensätze zu welchem Benutzerkonto gehören und welche Aktionen administrativ sind. Anschließend liest er jeden betroffenen Handler und prüft, ob dieser die Regel durchsetzt, bevor er auf den Datensatz zugreift. Die Funde erscheinen im Vulnerability Report und im Sicherheits-Widget des Merge Requests als vollwertige SAST-Ergebnisse und unterstützen so Sichtung, Behebung und Audit.

In der Demo-Anwendung unten übernimmt refund_order eine order_id aus der Anfrage und setzt refunded=1, ohne zu prüfen, ob die aufrufende Person die Bestellung besitzt oder Administratorrechte hat. Taint-Regeln schlagen nicht an, weil die Abfrage parametrisiert ist. Der Analyzer meldet den Fund als CWE-639, Schweregrad Critical, in app/orders.py:17, und seine Erklärung benennt die fehlende Prüfung der Eigentümerschaft.

Screenshot der Funde aus einem Scan einer Demo-Anwendung mit dem Business Logic Security Analyzer im Vulnerability Report von GitLab.

Die Modelle hinter dem Analyzer

Der Business Logic Security Analyzer ist die erste Funktion von GitLab, die Claude Mythos 5.1 von Anthropic unterstützt, und steht Kund(inn)en in freigegebenen Umgebungen im Early Access zur Verfügung. Das Modell sieht nur die Prompts von GitLab und das Repository der Kund(inn)en. Dort liegt der Kontext, den der Analyzer braucht: das Datenmodell, die Rollen und die Regeln, die jeder Endpunkt durchsetzt. Rajat Pandit, Head of Applied AI bei Anthropic India, sagte auf der Transcend: "Wenn Verteidiger über mehr Kontext verfügen als Angreifer, verschieben fortschrittliche Modelle das Kräfteverhältnis zu ihren Gunsten."

Neben Mythos unterstützt der Analyzer Claude Opus 5.5, Sonnet 5.5, Sonnet 5 und Sonnet 4.6 von Anthropic. Weitere Modelle sind für künftige Releases geplant. Alle laufen als von GitLab verwaltete Modelle über das AI Gateway von GitLab, unter denselben Bedingungen für den Umgang mit Daten wie der Rest von GitLab Duo Agent Platform.

Early Access anfragen

Der Business Logic Security Analyzer ist im Early Access für eine kleine Gruppe von Kund(inn)en mit GitLab Ultimate auf GitLab.com verfügbar. Die Teilnehmenden setzen den Analyzer auf ihre Codebasen an, um echte Funde aufzudecken, die ihre Security-Teams noch nicht kannten. Gemeinsam mit jedem Team finden wir heraus, wo der Analyzer richtig liegt, wo er falsch liegt und wo er nichts meldet. Jeder Scan verbraucht GitLab Credits, und die Kosten richten sich nach der Größe der Angriffsfläche der Anwendung.

Wer teilnehmen möchte, wendet sich an das eigene Account-Team oder, ohne bestehenden GitLab-Vertrag, an unser Sales-Team. Sobald die Gruppe freigeschaltet ist, lässt sich ein Scan des gesamten Repositorys aus GitLab Duo Chat oder über die API starten. Um die Merge Requests eines Projekts zu scannen, wird das Scan-Profil Business Logic an das Projekt angehängt. Voraussetzungen und Einrichtung beschreibt die Dokumentation zum Business Logic Security Analyzer.

Feedback erwünscht

Hat dir dieser Blogbeitrag gefallen? Hast du Fragen oder Feedback? Erstelle ein neues Diskussionsthema im GitLab-Community-Forum und lass andere an deinen Eindrücken teilhaben.

Feedback teilen

Beginne noch heute, schneller zu entwickeln

Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.