Skip to main content

Übersicht

AI-native SAST ist Corgeas Code-Scanning-Lösung der nächsten Generation. Sie erkennt und behebt Schwachstellen im Anwendungscode und konzentriert sich insbesondere auf Geschäftslogik, Authentifizierung und Codefehler. Anders als herkömmliche Tools für Static Application Security Testing (SAST) verwendet AI-native SAST moderne KI-Verfahren, um die Erkennungsgenauigkeit zu erhöhen, False Positives zu reduzieren und Entwicklern sowie Security-Teams konkrete Handlungsempfehlungen zu liefern. Durch die Kombination von Large Language Models (LLMs) und statischer Analyse versteht AI-native SAST den Codekontext genauer und erkennt dadurch Schwachstellen, die klassische SAST-Tools möglicherweise übersehen. Dieses Dokument erläutert die technische Funktionsweise, die erkannten Schwachstellen und die Integration in Entwicklungsworkflows.

Hauptmerkmale

  • Kombiniert die Schlussfolgerungsfähigkeiten von LLMs mit statischer Codeanalyse
  • Erkennt Schwachstellen präzise anhand des Codekontexts
  • Identifiziert sowohl Schwachstellen in der Geschäftslogik als auch traditionelle SAST-Schwachstellen
  • Eine niedrige False-Positive-Rate reduziert Fehlalarme in den Scan-Ergebnissen
  • Konkrete Handlungsempfehlungen mit verständlichen Erläuterungen
  • Nahtlose Integration in CI/CD-Pipelines und Pull Requests
  • Erkennung von Schwachstellen in der Geschäftslogik
  • Fehler bei Authentifizierung und Autorisierung
  • Umfassende Schwachstellenerkennung über mehrere Kategorien hinweg

Erkannte Schwachstellenklassen

AI-native SAST ist besonders auf Schwachstellen in der Geschäftslogik ausgelegt, die klassische SAST-Tools häufig übersehen. Dazu gehören unter anderem:
  • Fehlerhafte Zugriffskontrolle (CWE-639): Fehlende Autorisierungsprüfungen, die unbefugten Zugriff ermöglichen
  • Unsichere direkte Objektverweise (CWE-639): Direkter Zugriff auf Objekte ohne ordnungsgemäße Autorisierung
  • Path Traversal (CWE-22): Directory-Traversal-Angriffe, die den Zugriff auf nicht autorisierte Dateien ermöglichen
  • Unsichere Autorisierung (CWE-285): Schwache Zugriffskontrollen
  • Privilegieneskalation (CWE-269): Unsachgemäße Verwaltung von Berechtigungen
  • Fehlende Zugriffskontrolle auf Funktionsebene (CWE-285): Ungeschützte administrative Funktionen
  • SQL-Injection (CWE-89): Nicht bereinigte SQL-Abfragen, die Datenbankmanipulationen ermöglichen
  • Command Injection (CWE-78): Einschleusen von Betriebssystembefehlen
  • Cross-Site Scripting (XSS) (CWE-79): Injektion bösartiger Skripte in Webseiten
  • LDAP-Injektion (CWE-90): Manipulation von LDAP-Abfragen
  • XML-Injektion (CWE-91): Manipulation von XML-Inhalten
  • Code-Injection (CWE-94): Schwachstellen bei der dynamischen Codeausführung
  • Expression Language Injection (CWE-917): Injektion in Ausdruckssprachen
  • Template Injection (CWE-1336): Serverseitige Template-Injektion
  • Unsichere Authentifizierung (CWE-287): Fehlende MFA oder unsichere Tokenverwaltung
  • Fehlerhafte Authentifizierung (CWE-287): Schwache Authentifizierungsmechanismen
  • Unsachgemäßes Sitzungsmanagement (CWE-384): Fehlverwaltung von Sitzungs-IDs
  • Unsicherer Umgang mit Zugangsdaten (CWE-255): Unsachgemäße Speicherung oder Übertragung von Zugangsdaten
  • Schwache Passwortanforderungen (CWE-521): Unzureichende Durchsetzung der Passwortkomplexität
  • Unsichere Datenspeicherung (CWE-311): Schwache Verschlüsselung oder Speicherung im Klartext
  • Schwache Kryptografie (CWE-327): Verwendung gebrochener oder riskanter kryptografischer Algorithmen
  • Unzureichende Entropie (CWE-330): Vorhersagbare Zufallszahlengenerierung
  • Hartcodierte Secrets (CWE-798): Im Code eingebettete Zugangsdaten
  • Offenlegung sensibler Daten (CWE-200): Informationslecks
  • Fehlerhafte Zertifikatsvalidierung (CWE-295): Fehler bei der SSL-/TLS-Validierung
  • Unsichere Datenverarbeitung (CWE-20): Unzureichende Eingabevalidierung
  • Fehlerhafte Ausgabecodierung (CWE-116): Unzureichende Bereinigung von Ausgaben
  • Mass Assignment (CWE-915): Bindung von Request-Parametern an interne Objekte
  • XML External Entity (XXE) (CWE-611): XML-Parser-Schwachstellen
  • Deserialisierung nicht vertrauenswürdiger Daten (CWE-502): Unsichere Objektdeserialisierung
  • Sicherheitsfehlkonfiguration (CWE-16): Unangemessene Sicherheitseinstellungen
  • Standardkonfigurationen (CWE-1188): Verwendung unsicherer Standardeinstellungen
  • Fehlende Sicherheits-Header (CWE-693): Abwesenheit schützender HTTP-Header
  • Zu ausführliche Fehlermeldungen (CWE-209): Offenlegung von Informationen durch Fehlermeldungen
  • Verzeichnisauflistung (CWE-548): Offengelegte Verzeichnisinhalte
  • Schwachstellen in der Geschäftslogik (CWE-840): Fehler, die es Benutzern erlauben, kritische Prozesse zu manipulieren oder zu umgehen
  • Fehler in der Code-Logik (CWE-633): Fehler in Bedingungen oder Schleifen, die zu unerwartetem Verhalten führen
  • Kontextabhängige Schwachstellen (CWE-696): Zeit- oder zustandsabhängige Fehler
  • Race Conditions (CWE-362): Unkontrollierte zeitliche Abfolge von Operationen
  • Timing-Angriffe (CWE-208): Zeitbasierte Informationslecks
  • SSRF (CWE-918): Server-Side Request Forgery, die nicht autorisierte interne Requests ermöglicht
  • URL-Weiterleitung (CWE-601): Nicht validierte Redirects und Forwards
  • DNS-Rebinding (CWE-350): DNS-basierte SSRF-Angriffe
  • Fehlerhaftes Logging (CWE-532): Sensible Daten in Logs
  • Unzureichendes Logging (CWE-778): Fehlendes Logging von Sicherheitsereignissen
  • Fehlerhafte Fehlerbehandlung (CWE-209): Informationslecks in Fehlermeldungen
  • Fehlerhafte Ausnahmebehandlung (CWE-248): Sicherheitsrisiken durch schlechtes Ausnahmemanagement
  • Fehlender Audit Trail (CWE-778): Unzureichende Nachverfolgung von Aktivitäten
  • Schadcode (CWE-506): Unbefugte schädliche Aktionen
  • Backdoors (CWE-288): Versteckte Zugriffsmechanismen
  • Zeitbomben (CWE-511): Ausgelöste bösartige Aktionen
  • Supply-Chain-Angriffe (CWE-1357): Kompromittierte Abhängigkeiten oder Updates
  • Datenexfiltration (CWE-319): Unbefugte Datenübertragung
  • Unethische Datensammlung (CWE-359): Unsachgemäßes Datensammeln
  • Bösartige Netzwerkaktivität (CWE-293): Verdächtige Verbindungen
  • Krypto-Mining (CWE-400): Unbefugte Ressourcennutzung
  • Ressourcenerschöpfung (CWE-400): Denial of Service durch übermäßigen Ressourcenverbrauch
Neben Schwachstellen in der Geschäftslogik kann AI-native SAST auch häufige Sicherheitslücken erkennen, die bei regulären SAST-Scans gefunden werden, und deckt etwa 900 Common Weakness Enumerations (CWEs) ab.

Secret-Scanning

Corgea bietet umfassendes Secret-Scanning, um hartcodierte Zugangsdaten, API-Schlüssel und sensible Daten zu erkennen. Erfahren Sie mehr über die Erkennung von Secrets und sichere Alternativen zur Speicherung.

Umfassende Schwachstellenabdeckung

Corgeas AI-native SAST deckt mehr Schwachstellen ab als Branchenstandards wie die OWASP Top 10 und die CWE Top 25. Die Plattform erweitert ihre Schwachstellendatenbank kontinuierlich, um neue Bedrohungen frühzeitig zu erkennen und ein breites Spektrum an Sicherheitsproblemen in verschiedenen Programmiersprachen und Frameworks abzudecken.

Tiefe und Breite der Abdeckung

Die Schwachstellenabdeckung berücksichtigt mehrere Dimensionen, um Ihre Codebasis gründlich zu analysieren:
Corgea versteht die Nuancen verschiedener Programmiersprachen und deren spezifische Sicherheitsherausforderungen. Unsere KI-Modelle sind darauf trainiert, Schwachstellen zu erkennen, die für jede unterstützte Sprache spezifisch sind, von Speicherverwaltungsproblemen in C/C++ bis hin zu Herausforderungen durch dynamische Typisierung in Python und Ruby.
Gängige Frameworks bringen spezifische Sicherheitsrisiken mit sich. Corgeas Analyse berücksichtigt die Besonderheiten von .NET, Django, Ruby on Rails, Gin, Express.js und Spring und ermöglicht eine gezielte Erkennung und Behebung von Schwachstellen.
Über sprachspezifische Probleme hinaus geht unsere Plattform auf Schwachstellen ein, die in mehreren Programmiersprachen auftreten können, wie zum Beispiel:
  • Unsichere kryptografische Praktiken
  • Unangemessene Eingabevalidierung
  • Race Conditions
  • Fehler bei Authentifizierung und Autorisierung
Unsere KI-Modelle werden kontinuierlich aktualisiert, damit neue Schwachstellen in einer dynamischen Bedrohungslandschaft frühzeitig erkannt und behoben werden können.

Warum umfassende Abdeckung wichtig ist

Reduziertes Risiko

Minimieren Sie das Risiko von Sicherheitsverletzungen, Datenlecks und anderen potenziellen Bedrohungen, indem Sie eine breite Palette von Schwachstellen adressieren

Compliance

Erfüllen Sie branchenspezifische Sicherheitsanforderungen und regulatorische Vorgaben und reduzieren Sie das Risiko von Sanktionen bei Verstößen

Effizienz

Optimieren Sie Security-Review-Prozesse mit KI-gestützter False-Positive-Erkennung und automatisierten Fixes

Kontinuierliche Verbesserung

Schützen Sie sich auch bei veränderter Bedrohungslage durch eine kontinuierlich erweiterte Schwachstellendatenbank und aktuelle Threat Intelligence

Taint Analysis prüfen

Bei Code-Issues mit identifizierbarem Datenfluss enthält Full View den Tab Taint Analysis. Dort können Sie nachvollziehen, wie nicht vertrauenswürdige Daten von der Source durch die Anwendung bis zur anfälligen Sink gelangen – auch über mehrere Dateien hinweg.
1

Issue öffnen

Klicken Sie in der Issue-Liste eines Scans auf eine Zeile, um die Seitenleiste mit den Issue-Details zu öffnen.
2

Full View öffnen

Klicken Sie in der Seitenleiste auf Open Full View. Der Tab “Taint Analysis” ist nur in Full View verfügbar, nicht in der Vorschau der Seitenleiste.
Schnellansicht-Leiste des Problems mit hervorgehobener Schaltfläche Vollansicht öffnen
3

Tab Taint Analysis öffnen

Wählen Sie Taint Analysis. Corgea lädt einen geordneten Trace des Datenflusses. Beim ersten Öffnen des Tabs kann die Generierung einige Sekunden dauern.
4

Trace schrittweise prüfen

Jeder Schritt zeigt seine Rolle, den Dateipfad, die Zeilennummer und eine kurze Beschreibung. Klicken Sie auf einen Schritt, um diese Datei im Inline-Code-Viewer zu öffnen und zur entsprechenden Zeile zu springen.
Taint Analysis-Registerkarte in der detaillierten Ansicht des Problems, die Quell-, Übertragungs- und Zielschritte neben einem Inline-Code-Viewer anzeigt
Der Trace umfasst drei Arten von Schritten:
  • Source – Stelle, an der nicht vertrauenswürdige Eingaben in die Anwendung gelangen
  • Propagation – Zwischengeschaltete Funktionen oder Dateien, die den Taint-Wert weitergeben
  • Sink – Stelle, an der die Daten die anfällige Operation erreichen
Je nach den für das Issue verfügbaren Daten stammt der Trace aus einer beim Scan ermittelten Datenflussanalyse (beispielsweise aus Semgrep-, SARIF- oder Checkmarx-Befunden), einem Reachability-Call-Graph oder – wenn kein Trace aus dem Scan vorliegt – einer KI-generierten Analyse. Im Tab-Header wird die verwendete Quelle angezeigt.

Technologie hinter AI-native SAST

AI-native SAST wird durch Corgeas proprietäre CodeIQ-Technologie unterstützt, die KI mit abstrakten Syntaxbäumen (ASTs) für eine umfassende Analyse kombiniert:
1

Analyse auf Projektebene

AI-native SAST analysiert das gesamte Projekt, um ein vollständiges Bild der Interaktionen von Code-Komponenten zu erstellen, sodass keine Sicherheitslücken übersehen werden.
2

Kontextuelle Intelligenz

Die KI-Engine versteht den Codekontext, einschließlich Middleware, Konfigurationen und Vorlagen.
3

False Positive-Reduktion

Das Verständnis von Kontext und Logik reduziert die bei klassischen Tools häufigen False Positives.

Vergleich mit traditionellen Methoden

Traditionelle Techniken der statischen Analyse haben erhebliche Einschränkungen:
  • Source-Sink-Analyse übersieht Validierungsschritte
  • Call-Graphs erkennen das Laufzeitverhalten nicht
  • Vektorsuche und RAG neigen zu Übergeneralisierungen

Integration und Workflow

Integrationspunkte

  • CI/CD-Pipelines: Automatisches Scannen bei Commits/PRs
  • Pull Request Reviews: Analyse von Sicherheitslücken vor dem Merge
  • IDE-Integration: Echtzeit-Feedback während der Entwicklung

Unterstützte Sprachen und Frameworks

Corgea unterstützt Scanning, False-Positive-Erkennung und automatische Fixes für zahlreiche Programmiersprachen und gängige Frameworks und deckt etwa 900 Common Weakness Enumerations (CWEs) ab.

Sprachunterstützung

Native Language Support: Robuste Unterstützung für C#-Sprachkonstrukte, einschließlich LINQ, async/await-Muster und Generics.Frameworks: .NET, ASP.NET Core, BlazorCorgea glänzt in der Sicherung von .NET-Anwendungen auf Unternehmensniveau und adressiert Schwachstellen wie unsachgemäße Authentifizierung, unsichere Deserialisierung und CSRF.
Native Language Support: Analysiert Python-spezifische Funktionen wie Decorators, Kontextmanager und Comprehensions.Frameworks: Django, Flask, FastAPIFokussiert auf Webanwendungen und Backend-Dienste und behandelt Probleme wie SQL-Injection, XSS und unsichere direkte Objektverweise.
Native Sprachunterstützung: Versteht Rubys dynamische Eigenschaften einschließlich Metaprogrammierung und Blöcken.Frameworks: Ruby on Rails, SinatraSpezialisiert auf die Identifizierung und Behebung Ruby-spezifischer Schwachstellen, einschließlich Massenzuweisungsproblemen, ungeschützten Routen und unsicheren Datei-Uploads.
Native Sprachunterstützung: Analysiert Go-spezifische Konstrukte wie Goroutinen, Channels und Interfaces.Frameworks: Gin, Echo, FiberKonzentriert sich auf Go-spezifische Sicherheitsprobleme wie Race Conditions, fehlerhafte Fehlerbehandlung und die unsichere Verwendung kryptografischer Funktionen.
Native Sprachunterstützung: Unterstützt JavaScript und TypeScript einschließlich async/await, Closures und dem Typsystem von TypeScript.Frameworks: Node.js, Express.js, Next.js, NestJS, Angular, React, Vue.jsDeckt sowohl Client- als auch Server-seitige Sicherheit ab und behandelt Themen wie Prototype Pollution, unsichere Abhängigkeiten und DOM-basierte XSS.
Native Sprachunterstützung: Analysiert Java-spezifische Sprachmerkmale wie Generics, Annotationen und Lambda-Ausdrücke.Frameworks: Spring, Jakarta EE, Play FrameworkKonzentriert sich auf Enterprise-Java-Ökosysteme und behandelt Schwachstellen wie XML External Entity (XXE)-Angriffe, LDAP-Injektionen und unsichere Objekt-Deserialisierung.
Native Sprachunterstützung: Unterstützt die einzigartigen Syntax- und Sprachkonstrukte von PHP, einschließlich Traits und Attribute.Behandelt häufige Webanwendungs-Schwachstellen wie Remote-Code-Ausführung, Dateieinschluss-Schwachstellen und SQL-Injektionen.
Native Sprachunterstützung: Analysiert Kotlin-spezifische Funktionen einschließlich Nullsicherheit, Coroutinen und Erweiterungsfunktionen.Spezialisiert auf Android- und serverseitige Anwendungssicherheit, behandelt Probleme wie unsachgemäße Datenexposition und unsichere Kommunikation.
Native Sprachunterstützung: Analysiert Swift-spezifische Sprachmerkmale wie Optionals, Protokollerweiterungen, Generics und Werttypen.Erhöht die Sicherheit bei der Entwicklung von iOS- und macOS-Anwendungen, indem Schwachstellen wie unsichere Datenspeicherung, unsachgemäße SSL/TLS-Validierung und unsichere Interprozesskommunikation behandelt werden.
Native Sprachunterstützung: Verarbeitet Low-Level-Konstrukte wie Zeiger, Speicherverwaltung und Templates.Konzentriert sich auf speicherbezogene Schwachstellen, Pufferüberläufe und System-Sicherheitsprobleme, die in C/C++-Anwendungen häufig vorkommen.Aktiviert für False Positive-Erkennung und automatische Behebung. Wird bald für das Scannen verfügbar sein.

Hauptfunktionen

Umfassendes Scannen

Moderne Algorithmen scannen Ihre Codebasis nach potenziellen Schwachstellen und decken ein breites Spektrum an CWEs ab

False Positive-Erkennung

Das KI-gestützte System unterscheidet präzise zwischen tatsächlichen Schwachstellen und False Positives

Automatisches Beheben

Stellt konkrete, kontextbezogene Fixes bereit, die automatisch angewendet oder zuvor geprüft werden können

Framework-spezifische Analyse

Versteht die Nuancen verschiedener Frameworks innerhalb jeder Sprache für gezielte Sicherheitsinformationen

Intelligente Dateifilterung

Um die Scan-Leistung und Genauigkeit zu optimieren, schließt Corgea automatisch Dateien aus, die für die Sicherheitsanalyse nicht relevant sind:

Ausgeschlossene Dateien

  • Mediendateien (Bilder, Videos, Schriftarten)
  • Style-Dateien (CSS, SCSS, LESS)
  • Dokumentations- und Markdown-Dateien
  • Konfigurationsarchive und komprimierte Dateien
  • Testdateien und Testverzeichnisse
  • Mock- und Fixture-Daten
  • Code-Coverage-Berichte
  • Automatisch generierte Code-Dateien
  • Minifizierter oder gebündelter Code
  • Datenbank-Migrationsdateien
  • Typdefinitionsdateien
  • Kompilierte Binärdateien und Build-Ergebnisse

Dateien, die für Kontext verwendet werden

Corgea scannt bestimmte Dateien nicht direkt auf Schwachstellen, kann sie aber für zusätzlichen Analysekontext heranziehen. Dazu gehören README-Dateien, Konfigurationsbeispiele und Anwendungseinstellungen.

Benutzerdefinierte Konfiguration

Sie können das Scanverhalten weiter anpassen, indem Sie eine corgea.yaml-Konfigurationsdatei im Stammverzeichnis Ihres Repositories verwenden:
Damit können Sie entsprechend den Anforderungen Ihres Projekts bestimmte Verzeichnisse oder Dateimuster ausschließen.

Warum wir filtern

Unser intelligenter Filteransatz:
  • Verbessert die Genauigkeit, indem er sich auf den tatsächlichen Anwendungscode konzentriert
  • Reduziert Fehlalarme aus Testdateien und Drittanbieter-Code
  • Optimiert die Leistung für schnellere Scanergebnisse
  • Priorisiert Befunde in Code, den Sie pflegen
Demnächst verfügbar: Unterstützung für die Programmiersprache Rust