Mit Blocking Rules definieren Sie Bedingungen, unter denen Pull Requests nicht gemergt werden dürfen. So verhindern Sie, dass potenziell riskante oder nicht konforme Codeänderungen in Ihre Codebasis gelangen, und setzen die Sicherheits- und Qualitätsstandards Ihrer Organisation durch.Sie können zwei Arten von Blocking Rules erstellen:
Code Vulnerability Rules: Blockieren PRs aufgrund von Sicherheitslücken, Code-Quality-Befunden oder beidem
Dependency Vulnerability Rules: Blockieren PRs aufgrund anfälliger Abhängigkeiten, die bei SCA-Scans gefunden wurden
Diese Funktion ist besonders nützlich für Organisationen mit strengen Compliance-Anforderungen oder für diejenigen, die an geschäftskritischen Anwendungen arbeiten, bei denen Code Quality und Sicherheit von größter Bedeutung sind.
Definieren Sie Regeln anhand von Common Weakness Enumerations (CWEs), um Pull Requests zu blockieren, die bestimmte Schwachstellen oder Code-Quality-Probleme einführen.
Dringlichkeitsstufen anpassen
Weisen Sie verschiedenen Arten von Problemen Dringlichkeitsstufen zu (z. B. kritisch, hoch, mittel, niedrig), sodass Sie sie entsprechend priorisieren und bearbeiten können.
Abhängigkeiten nach CVSS filtern
Definieren Sie für Dependency Vulnerability Rules einen einschließlich der Grenzwerte geltenden CVSS-Bereich, um anfällige Abhängigkeiten anhand ihres CVSS-Scores zu blockieren.
Projekt- und Tag-spezifische Regeln
Wenden Sie Blocking Rules auf bestimmte Projekte, Projekt-Tags oder Ihre gesamte Organisation an. So steuern Sie präzise, welche Regeln für welche Projekte gelten.
Regelverwaltung
Erstellen, bearbeiten und löschen Sie Blocking Rules über eine übersichtliche Oberfläche, damit die Regeln mit Ihren Anforderungen Schritt halten.
Regelaktivierung/-deaktivierung
Schalten Sie den Status von Blocking Rules um, um sie bei Bedarf vorübergehend zu aktivieren oder zu deaktivieren, ohne ihre Konfigurationen zu verlieren.
Code Vulnerability: Blockiert Pull Requests aufgrund von Sicherheitsproblemen im Code (SAST-Befunde)
Dependency Vulnerability: Blockiert Pull Requests aufgrund anfälliger Abhängigkeiten (SCA-Befunde)
3
Grundinformationen
Regelname und Beschreibung eingeben
4
Einstellungen konfigurieren
Für Code Vulnerability Rules: Wählen Sie unter Issue Type, ob die Regel für All Befunde, nur Vulnerabilities oder nur Code Quality gelten soll. All ist die Standardeinstellung und entspricht dem Verhalten vorhandener Regeln. Wählen Sie anschließend Dringlichkeitsstufen (Critical, High, Medium oder Low) und/oder Ziel-CWEs aus. Mindestens eine dieser Angaben ist erforderlich.Für Dependency Vulnerability Rules: Wählen Sie die Filterung nach Schweregrad oder CVSS-Score. Wählen Sie Dringlichkeitsstufen (Critical, High, Medium oder Low) oder geben Sie einen minimalen und maximalen CVSS-Score zwischen 0,0 und 10,0 ein. Die Grenzwerte sind jeweils eingeschlossen.
5
Bereich festlegen
Wählen Sie zutreffende Projekte und/oder Projekttags (optional) aus. Eine Regel gilt, wenn ein Projekt direkt ausgewählt ist oder einen ausgewählten Tag hat. Wenn keine Projekte oder Tags ausgewählt sind, gilt die Regel für alle Projekte.
6
Speichern
Prüfen Sie die Angaben und klicken Sie auf “Create”
Suchen Sie Regeln anhand ihres Namens oder ihrer Einstellungen. Mit dem Projekt-Tag-Filter zeigen Sie Regeln für Projekte mit einem bestimmten Tag an. In der Regeltabelle enthält die Spalte “Projects” die ausgewählten Projekte und Projekt-Tags als Chips. Bei Regeln ohne Projekt- oder Tag-Scope steht dort All Projects; längere Listen werden in einem Tooltip unter +N more zusammengefasst.
Regeltyp: Code-SchwachstelleErstellen Sie eine Regel, die auf CWE-326 (unzureichende Verschlüsselungsstärke) und CWE-327 (Verwendung eines gebrochenen oder riskanten kryptografischen Algorithmus) mit der Dringlichkeit “Kritisch” abzielt, um die Verwendung schwacher Verschlüsselung zu verhindern.
Code Quality durchsetzen
Regeltyp: Code VulnerabilityWählen Sie Code Quality als Issue-Typ und erstellen Sie eine Regel für CWE-398 (Indicator of Poor Code Quality) und CWE-477 (Use of Obsolete Functions) mit der Dringlichkeit “Medium”, um Ihre Code-Standards durchzusetzen.
Kritische Abhängigkeitslücken blockieren
Regeltyp: Dependency VulnerabilityErstellen Sie eine Regel mit den Dringlichkeitsstufen “Critical” und “High”. Sie blockiert automatisch alle Pull Requests, die Abhängigkeiten mit kritischen oder schwerwiegenden Schwachstellen einführen, und schützt so Ihre Software-Lieferkette vor bekanntermaßen anfälligen Paketen.
Abhängigkeiten nach CVSS-Bereich blockieren
Regeltyp: Dependency VulnerabilityErstellen Sie eine Regel, die nach CVSS-Score filtert, z. B. 7,0 bis 10,0, um Pull Requests zu blockieren, die verwundbare Abhängigkeiten innerhalb dieses Score-Bereichs einführen.
Beginnen Sie mit den wesentlichen Regeln und erweitern Sie sie schrittweise
Beginnen Sie bei Dependency Vulnerability Rules nur mit dem Schweregrad Critical oder einem gezielten CVSS-Bereich und erweitern Sie die Regel, sobald sich Ihr Team darauf eingestellt hat
Konzentrieren Sie sich bei Code Vulnerability Rules zunächst auf die folgenreichsten CWEs (z. B. Injection- und Authentifizierungsfehler)
Regelmäßige Überprüfung und Aktualisierungen
Klare Dokumentation und Schulung des Teams
Feedback und Zusammenarbeit fördern
Strategische Nutzung von Dringlichkeitsstufen
Berücksichtigen Sie Projekttags, wenn dieselbe Regel eine Gruppe verwandter Projekte abdecken soll