Voraussetzung: Sie haben einen Scan abgeschlossen und PolicyIQ ist aktiviert. Wenden Sie sich zur Aktivierung an Ihren Ansprechpartner bei Corgea.
Wichtiges Verhalten von Richtlinien
Beachten Sie vor der Konfiguration folgende Verhaltensweisen:- Anwendung der Richtlinie: Neue Richtlinien treten nur für neue Scans in Kraft – sie wirken sich nicht rückwirkend auf bestehende Ergebnisse aus.
-
Richtlinienvorrang:
- Bei False-Positive-Erkennung und Fixes haben spezifische Richtlinien Vorrang vor allgemeinen Richtlinien
- Beispielsweise überschreibt eine SSRF-spezifische False-Positive-Richtlinie eine allgemeine False-Positive-Richtlinie
- Kundenspezifische Richtlinien haben immer Vorrang vor Corgeas integrierten Richtlinien
-
Richtliniengruppierung: Für Scan-Richtlinien wird empfohlen, verwandte Sicherheitsaspekte zusammenzufassen, anstatt einzelne Richtlinien zu erstellen. Zum Beispiel:
- Authentifizierung, Autorisierung und Berechtigungsverwaltung zusammenfassen
- Verwandte Datenvalidierungsprüfungen kombinieren
- Zusammengehörige Prüfungen von Sicherheitskontrollen bündeln Dieser Ansatz liefert bessere Ergebnisse, da sich die betreffenden Sicherheitsaspekte häufig überschneiden.
Richtlinienstruktur
Eine gut strukturierte Richtlinie sollte die folgenden Komponenten enthalten:
- Policy Type: Wählen Sie BLAST zur Schwachstellenerkennung, False Positive zur Identifizierung von Fehlalarmen oder Fix für Code-Fixes.
-
Business Context: Beschreiben Sie:
- Geschäftsbereich und Anforderungen
- Netzwerkarchitektur und Sicherheitskontrollen
- Umgebungsspezifische Konfigurationen
- Anforderungen an Datenklassifizierung und -verarbeitung
- Compliance-Anforderungen (z. B. PCI, HIPAA, DSGVO)
-
Description: Geben Sie klare Anweisungen mit Ihrem Kontext an, darunter:
- Spezifische Schwachstellenmuster in Ihrer Umgebung
- Codebeispiele, die für Ihre Architektur relevant sind
- Den Umgang mit Issues unter Berücksichtigung Ihrer Infrastruktur
- Schwachstellentypen (CWEs): Wählen Sie aus, welche Arten von Sicherheitslücken diese Richtlinie behandeln soll, basierend auf Ihrem Risikoprofil.
- Projects: Wählen Sie die Projekte aus, für die die Richtlinie gelten soll. Bei aktiviertem Project Access Control können Benutzer ohne Administratorrolle Richtlinien nur für Projekte erstellen und verwalten, auf die sie Zugriff haben. Dabei müssen sie mindestens ein zugängliches Projekt auswählen. Unternehmensadministratoren können weiterhin projektübergreifende Richtlinien erstellen.
-
File Pattern (Glob): Beschränken Sie die Richtlinie optional auf passende Dateien, beispielsweise
src/**/*.py. Ohne Wert gilt sie für alle Dateien. - Guidance Notes (Optional): Ergänzen Sie statische Hinweise für Entwickler, etwa interne Behebungshinweise, Links zu Standards oder Implementierungstipps. Diese Hinweise erscheinen bei Issues, auf die die Richtlinie angewendet wurde.
-
Instruction Type: Legen Sie fest, wie Ihre Anweisungen mit Corgeas integrierten Richtlinien interagieren:
- Append to Corgea Default Policy: Ergänzt Corgeas integrierte Richtlinie um Ihre Anweisungen. Verwenden Sie diese Option für zusätzlichen Geschäftskontext, Sicherheitskontrollen oder Umgebungsdetails.
- Replace Corgea Default Policy: Ersetzt Corgeas Standardverhalten vollständig durch Ihre Anweisungen. Verwenden Sie diese Option, wenn Sie die Behandlung bestimmter Szenarien vollständig steuern möchten.
Policy Playground
Policy Playground ist ein zweigeteilter Arbeitsbereich, in dem Sie Richtlinien erstellen, aktualisieren und testen, bevor diese Ihre Scans beeinflussen. Links bearbeiten Sie die Richtlinie, rechts testen Sie sie mit echtem Code.
- Der Arbeitsbereich besteht aus einem Policy Editor links und einem Test Panel rechts. Die Breite beider Bereiche lässt sich über den Trenner ändern.
- Mit Back to Policies in der oberen Toolbar kehren Sie zur Tabelle Policies zurück.
- Öffnen Sie eine bestehende BLAST- oder False Positive-Richtlinie direkt in Policy Playground aus der Richtlinientabelle.
- Durchsuchen Sie die Tabelle “Policies” nach Policy ID, Name, Typ oder Beschreibung, um eine Richtlinie schnell zu finden.
- Das Bearbeiten und Speichern im Policy Playground aktualisiert die Richtlinie, indem eine neue Version erstellt wird.
- Instruction Type im Editor wird als zwei klar erklärte Optionen angezeigt: Replace Corgea Default Policy oder Append to Corgea Default Policy.
- Lassen Sie Projects, File Pattern (Glob) oder CWEs leer, wenn diese Richtlinie global angewendet werden soll.
- Wenn die Projekt-Zugriffskontrolle aktiviert ist, können Benutzer mit eingeschränktem Zugriff Richtlinien sehen, die für sie sichtbar sind, aber nur Richtlinien bearbeiten oder löschen, die vollständig auf Projekte angewendet werden, auf die sie zugreifen können.
Im Policy Playground können Sie nur BLAST- und False Positive-Richtlinien testen. Fix-Richtlinien lassen sich weiterhin im Policy Center erstellen, erscheinen im Playground jedoch als Fix (coming soon), da Fix-Tests noch nicht unterstützt werden.
Testen einer Richtlinie
Wählen Sie zum Testen einer Richtlinie ein Project und eine file aus und klicken Sie auf Test. Während des Scans zeigt die Schaltfläche Testing… an und bleibt bis zum Abschluss deaktiviert. Fehlen Pflichtangaben, nennt ein Hinweis unter der Schaltfläche die fehlenden Werte: Projekt, Datei oder Richtlinienanweisungen. Standardmäßig zeigt die Dateiauswahl nur Dateien mit erkannten Issues an. Um eine noch nicht vorhandene Datei zu testen, aktivieren Sie New Test File, wählen ein Projekt und geben einen Dateinamen ein. Das Projekt liefert den Sprach- und Framework-Kontext; den Testcode geben Sie anschließend im Editor ein.
Ergebnisse überprüfen
Nach Abschluss des Scans erscheinen die Findings unter der Dateivorschau. Jede aufklappbare Zeile zeigt severity, CWE und line number. Klappen Sie ein Finding auf, um die Erklärung zu lesen, und wechseln Sie mit Jump to line zur betreffenden Zeile.

PR-Scan- und Kommentarrichtlinien
PR Scan & Comment Rules steuern, wann Corgea Pull Requests scannt und Finding-Kommentare im Pull Request veröffentlicht.- Scan Only scannt den Pull Request, veröffentlicht aber keine Finding-Kommentare.
- Scan & Comment scannt und kommentiert Findings, die der Regel entsprechen.
- Severity beschränkt die Regel auf ausgewählte Schweregrade. Ohne Auswahl gilt jeder Schweregrad.
- Classification to comment beschränkt Kommentare auf ausgewählte CWE-Typen. Ohne Auswahl werden alle passenden CWEs kommentiert.
- Projects und Project Tags bestimmen den Geltungsbereich. Eine Regel gilt, wenn das Projekt direkt ausgewählt ist oder eines der gewählten Tags besitzt. Sind beide Felder leer, gilt sie für alle Projekte.
- Integrations beschränkt die Regel zusätzlich auf Pull Requests ausgewählter GitHub-, GitLab- oder Azure-DevOps-Integrationen. Ohne Auswahl bestimmen nur Projekte und Projekt-Tags den Scope.
Best Practices für Richtlinien
Beim Schreiben von Richtlinien befolgen Sie diese bewährten Methoden, um einen effektiven Kontext zu bieten:- Seien Sie spezifisch hinsichtlich Ihrer Umgebung: Detaillieren Sie Ihre Infrastruktur, Sicherheitskontrollen und kompensierende Kontrollen.
- Geschäftslogik einbeziehen: Erklären Sie geschäftsspezifische Validierungsregeln, Datenflüsse und Sicherheitsanforderungen.
- Sicherheitsarchitektur beschreiben: Dokumentieren Sie Ihre Sicherheitsebenen, Vertrauensgrenzen und Schutzmechanismen.
- Datenkontext definieren: Geben Sie an, wie verschiedene Datentypen in Ihrer Umgebung behandelt werden sollen.
- Ausnahmen dokumentieren: Notieren Sie legitime Geschäftsfälle für scheinbare Sicherheitsprobleme.
Beispiele
Beim Erstellen von Richtlinienbeispielen beachten Sie diese Tipps, um sie effektiver zu machen:-
Mehrere Beispiele verwenden: Fügen Sie 3-5 verschiedene Beispiele für jeden Richtlinientyp hinzu, um:
- Verschiedene Anwendungsfälle und Szenarien zu zeigen
- Spezifische Randfälle Ihrer Umgebung abzudecken
- Unterschiedliche Komplexitätsstufen zu demonstrieren
- Veranschaulichen Sie verschiedene Sicherheitskontrollen und ausgleichende Maßnahmen
-
Beispiele relevant machen: Stellen Sie sicher, dass Ihre Beispiele:
- Ihre tatsächliche Infrastruktur und Architektur widerspiegeln
- Echte Sicherheitskontrollen enthalten, die Sie verwenden
- Auf Ihre spezifischen Tools und Frameworks verweisen
- Mit Ihren Entwicklungsmustern und -praktiken übereinstimmen
-
Beispiele klar strukturieren: Formatieren Sie Ihre Beispiele mit:
- Klare Abschnittsüberschriften und Bezeichnungen
- Konsistente Formatierung und Einrückung
- Detaillierte Kommentare, die Schlüsselpunkte erklären
- Tags zur Trennung verschiedener Komponenten
-
Kontext einbeziehen: Jedes Beispiel sollte bereitstellen:
- Das spezifische Geschäftsszenario
- Relevante Infrastrukturdaten
- Eingesetzte Sicherheitskontrollen
- Erwartetes Verhalten und Ergebnisse
BLAST-Richtlinienbeispiel
Richtlinientyp: BLASTFalse Positive-Richtlinienbeispiel
Richtlinientyp: False PositiveFix-Richtlinienbeispiel
Hier ist ein Beispiel für eine Fix-Richtlinie, die eine benutzerdefinierte Middleware verwendet, um vor XSS-Schwachstellen zu schützen: Richtlinientyp: FixDurch Prework generierte Richtlinien
Wenn Prework für Ihr Unternehmen aktiviert ist, kann Corgea bereits vor Abschluss des Hauptscans Richtlinien aus dem Projektkontext generieren.- Generierte Richtlinien erscheinen in der Tabelle Policies mit dem Wert Generated By Corgea Prework unter
Source. - In den Scan-Details zeigt der Tab Policies alle auf den Scan angewendeten Richtlinien einschließlich älterer archivierter oder inaktiver Versionen. Von dort können Sie die Details öffnen.
- Ist unter Policies > Settings die Option Policy Review aktiviert, erstellt Corgea generierte Richtlinien als Inactive, damit Ihr Team sie prüfen und manuell aktivieren kann.
Richtlinie generieren
Sie können die Richtliniengenerierung jederzeit auf der PolicyIQ-Seite manuell starten.1
Generate Policy auswählen
Klicken Sie auf der Seite PolicyIQ oben rechts auf Generate Policy.

2
Formular ausfüllen
Wählen Sie im Dialog ein Pattern (z. B. Authentication), ein Project und einen Policy Type aus. Starten Sie mit Generate.

3
Prework abschließen lassen
Corgea analysiert Ihr Projekt im Hintergrund mit einem Corgea-Prework-Scan. Den Fortschritt können Sie unter Scans verfolgen.

4
Generierte Richtlinie prüfen
Nach Abschluss erscheint die Richtlinie in der Tabelle Policies. Öffnen Sie sie, um die Details einschließlich der Beschreibung mit realen Codemustern aus Ihrem Projekt zu prüfen.

Unterstützung für Corgea-Richtlinien in YAML
Mit einercorgea.yaml-Datei können Kunden Sicherheitsrichtlinien für ihre Projekte definieren, darunter:
- Bestimmte CWE-IDs
- Richtlinien für einzelne Unterverzeichnisse
- Tests neuer Richtlinien in einem separaten Branch
Scale und Enterprise verfügbar und muss zusätzlich aktiviert werden. Weitere Informationen erhalten Sie unter https://corgea.com/contact.
Ein Beispiel finden Sie im Example Repository.
Die Main Policies enthalten allgemeine Richtlinien. Beispiele für unterverzeichnisspezifische Richtlinien:
Diese Konfigurationen berücksichtigen die Aufgabe des jeweiligen Verzeichnisses bei der Schwachstellenerkennung. Besonders in Monorepos können Entwickler dadurch den passenden Kontext festlegen.
Workflow zum Aktualisieren von corgea.yaml
1
Branch erstellen und Scan starten
Erstellen Sie einen neuen Branch mit der Datei corgea.yaml und öffnen Sie einen Pull Request. Dadurch startet automatisch ein Scan des Branches. Alternativ können Sie den Scan auf der Projektseite manuell starten.

2
Richtliniendatei prüfen
Öffnen Sie PolicyIQ und wechseln Sie zum Bereich 
Policy File in Repos.
3
Richtlinien aus der Datei prüfen
Öffnen Sie den Bereich, um die aus corgea.yaml generierten Richtlinien zu prüfen.

4
`Associated Issues` öffnen
Klicken Sie auf 
Associated Issues, um die durch diese Richtlinie ausgelösten Issues anzuzeigen.
5
Aktualisieren, testen und Pull Request mergen
Passen Sie die Konfiguration an, bis die Ergebnisse Ihren Erwartungen entsprechen. Mergen Sie anschließend den Pull Request, um corgea.yaml in den Main-Branch zu übernehmen.
Grundkonfiguration für corgea.yaml
Eine grundlegende corgea.yaml sieht wie folgt aus:type: Richtlinientyp; mögliche Werte sindscan,false_positiveundfixdescription: Inhalt der Richtlinie; zusätzlicher Kontext oder interne Sicherheitsvorgaben zur Anpassung der Schwachstellen-Findings
Erweiterte Konfiguration für corgea.yaml
Optional können Sie folgende Felder ergänzen:instruction_type: Legt fest, wie Ihre Anweisungen mit Corgeas integrierten Richtlinien interagieren."append"ergänzt die integrierten Richtlinien."overwrite"ersetzt Corgeas Standardverhalten vollständig und ist der Standardwert.guidance_text: Optionale statische Hinweise, die Entwicklern bei Issues dieser Richtlinie angezeigt werden. Verwenden Sie das Feld für teamspezifische Anweisungen, interne Links oder Behebungskontext.
cwes: Gilt nur fürfixundfalse_positiveund beschränkt eine Richtlinie auf bestimmte CWEs. Beispiel:
excludes: Schließt Pfade mit Glob-Ausdrücken von einem bestimmten Richtlinien-Scan aus.
ignore_paths: Schließt Verzeichnisse global von allen Scans und der Erstellung neuer Issues aus. (Hinweis: Diese Pfade werden global und nicht nur für eine bestimmte Richtlinie ignoriert. Muster wie**/vendor/**stimmen in jeder Verzeichnistiefe überein.)
path: Ermöglicht die zentrale Verwaltung, statt separate corgea.yaml-Dateien in Unterverzeichnissen anzulegen.
1
PolicyIQ zeigt fünf generierte Richtlinien an

2
Richtlinien und zugehörige Pfade anzeigen

