Blocking Rules sind Guardrails, die festlegen, welche Findings einen Pull-Request-Check oder eine CI-Pipeline fehlschlagen lassen. So stellen Sie sicher, dass Ihre Codebasis den Sicherheits- und Qualitätsstandards Ihrer Organisation entspricht.Sie können drei 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
License Compliance Rules: Blockieren Abhängigkeiten mit bestimmten SPDX-Lizenzen oder Lizenzfamilien
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.
Abhängigkeiten nach Erreichbarkeit filtern
Beschränken Sie bei Dependency Vulnerability Rules, die für die CI gelten, das Blockieren auf Abhängigkeiten, deren anfälliger Code aus Ihrer Anwendung tatsächlich erreichbar ist, damit unbenutzte und nicht erreichbare Pakete Ihre Pipeline nicht fehlschlagen lassen.
Lizenzrichtlinie durchsetzen
Blockieren Sie Abhängigkeiten anhand bestimmter SPDX-Lizenz-IDs oder der Lizenzfamilien Copyleft, Permissive und Commercial.
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)
License Compliance: Blockiert Abhängigkeiten anhand abgelehnter SPDX-Lizenzen oder Lizenzfamilien
3
Grundinformationen
Geben Sie Regelname und Beschreibung ein und wählen Sie anschließend Applies To:
Pull Requests setzt die Regel automatisch in Pull-Request-Checks durch.
CI setzt die Regel nur durch, wenn eine Pipeline sie mit corgea scan --block-on <slug> benennt. CI-Regeln blockieren keine Pull Requests.
Neue Regeln verwenden standardmäßig Pull Requests. Corgea erzeugt den Slug aus dem Regelnamen und zeigt ihn in der Regelliste an.Pull-Request-Regeln kommentieren nur Findings, die eine Aktion erfordern. Corgea überspringt Kommentare für als nicht erreichbar bestätigte Findings, wegen eines False Positive oder einer nicht unterstützten Sprache zurückgehaltene Findings sowie Findings in vom Projekt ignorierten Pfaden. Diese Findings bleiben zur Prüfung in Corgea verfügbar, blockieren den Pull Request jedoch nicht.
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. Wenn die Regel für die CI gilt, können Sie zusätzlich einen oder mehrere Erreichbarkeits-Zustände auswählen, um sie weiter einzuschränken — siehe Filtern nach Erreichbarkeit.Für License Compliance Rules: Wählen Sie mindestens eine abgelehnte Lizenzfamilie (Copyleft, Permissive oder Commercial) oder geben Sie eine oder mehrere SPDX-Lizenz-IDs ein. Eine Abhängigkeit wird blockiert, wenn eine gemeldete Lizenz einer ausgewählten Familie oder einer bestimmten ID entspricht.
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, oder filtern Sie die Liste nach Projekt-Tag oder Applies To-Ziel. Die Regeltabelle zeigt den Slug jeder Regel in der Spalte ID und stellt Projektumfang, Regeltyp sowie das Ziel Pull Requests oder CI unter Triggers On dar. Wählen Sie einen Slug aus, um ihn für einen CI-Befehl zu kopieren. Regeln ohne Projekt- oder Tag-Scope gelten für alle Projekte; längere Scope-Listen werden hinter einem Tooltip +N more zusammengefasst.
Erstellen Sie eine aktive Regel mit Applies To auf CI, und übergeben Sie ihren Slug an den Scan-Befehl. Benennen Sie Regeln nach der auslösenden Bedingung — zum Beispiel criticals, nicht no-criticals —, damit --block-on wie eine direkte Aussage gelesen wird. --block-on erfordert Corgea CLI 1.10.0 oder neuer.
corgea scan --block-on criticals
Um mehrere CI-Regeln durchzusetzen, geben Sie ihre Slugs als kommagetrennte Liste an. Der Befehl schlägt fehl, wenn ein Finding gegen eine der genannten Regeln verstößt. Ein unbekannter Slug, eine inaktive Regel oder eine Regel für Pull Requests wird als Konfigurationsfehler behandelt und nicht übersprungen. --block-on wird nur vom BLAST-Scanner unterstützt und kann nicht mit --fail oder --fail-on kombiniert werden.
In den meisten Projekten wird der Großteil der anfälligen Abhängigkeiten von Ihrem Code nie tatsächlich ausgeführt. Mit dem Erreichbarkeitsfilter blockiert eine Dependency Vulnerability Rule nur die relevanten Funde, sodass eine kritische CVE in einem Paket, das Sie nie aufrufen, Ihre Pipeline nicht fehlschlagen lässt.
Nur für CI-Regeln verfügbar Die Erreichbarkeit wird nur bei Scans analysiert, die Sie selbst mit corgea scan starten, nicht bei Scans, die beim Öffnen eines Pull Requests automatisch ausgelöst werden. Setzen Sie Applies To auf CI, um diesen Filter zu nutzen; bei Pull-Request-Regeln ist die Option ausgeblendet. Referenzieren Sie die Regel anschließend in Ihrer Pipeline mit corgea scan --block-on <slug>.
Voraussetzung Erreichbarkeit erfordert, dass AI-Native SCA für Ihre Organisation aktiviert ist. Ohne diese Option wird keine Abhängigkeit analysiert, sodass eine Regel mit diesem Filter nie etwas blockiert. Der Regeleditor warnt Sie, wenn die Option deaktiviert ist.
Wählen Sie einen oder mehrere der folgenden Zustände:
Zustand
Bedeutung
Reachable
Die anfällige Funktion ist aus Ihrem Anwendungscode erreichbar.
Not Reachable
Die Abhängigkeit wird verwendet, die anfällige Funktion ist jedoch nicht erreichbar.
Unused Dependency
Die Abhängigkeit ist deklariert, wird aber nirgends im Code verwendet.
Unknown
Die Abhängigkeit wurde analysiert, die Erreichbarkeit konnte jedoch nicht bestimmt werden.
Der Erreichbarkeitsfilter wird mit dem Schweregrad-, CVSS- oder Malicious-Filter kombiniert und ersetzt ihn nicht: Ein Fund muss beide Bedingungen erfüllen. Eine Regel mit Schweregrad Critical und Reachable blockiert nur kritische Schwachstellen, die zugleich erreichbar sind. Bleibt die Erreichbarkeit leer, behält die Regel ihr bisheriges Verhalten und blockiert unabhängig von der Erreichbarkeit.
Die Erreichbarkeitsanalyse läuft nach Abschluss des eigentlichen Scans. corgea scan fragt daher weiter ab, bis sie beendet ist, statt sofort ein Ergebnis zu melden. Die Analyse ist abgeschlossen, sobald alle direkten Abhängigkeiten analysiert sind — üblicherweise nach wenigen Minuten und spätestens nach 30.Dieser Filter schlägt zugunsten des Builds fehl. Kann die Analyse nicht abgeschlossen werden — das 30-Minuten-Fenster läuft ab, die Analyse schlägt fehl oder AI-Native SCA ist deaktiviert —, meldet die Regel keinen Verstoß, statt Ihren Build fehlschlagen zu lassen. Eine Pipeline wird nur aufgrund einer von Corgea tatsächlich bestimmten Erreichbarkeit blockiert, niemals aufgrund einer fehlenden Analyse.
corgea scan schlägt bei Ablauf der eigenen Frist restriktiv fehl. Corgea CLI 1.13.0 und höher erlauben 35 Minuten und überdauern damit das 30-Minuten-Analysefenster deutlich. Bei einer älteren CLI beträgt die Frist 15 Minuten und kann ablaufen, während Corgea noch analysiert, was die Pipeline fehlschlagen lässt. Aktualisieren Sie die CLI oder erhöhen Sie die Frist mit CORGEA_BLOCKING_RULES_TIMEOUT_SECONDS:
Regeltyp: Code VulnerabilityErstellen Sie eine Regel, die auf CWE-326 (Inadequate Encryption Strength) und CWE-327 (Use of a Broken or Risky Cryptographic Algorithm) mit der Dringlichkeit “Critical” 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.
Nur erreichbare kritische Schwachstellen blockieren
Regeltyp: Dependency Vulnerability — Gilt für: CIWählen Sie die Dringlichkeitsstufen „Critical“ und „High“ und anschließend Reachable unter Erreichbarkeit. Die Regel lässt eine Pipeline nur dann fehlschlagen, wenn eine kritische oder hohe Schwachstelle aus Ihrem Anwendungscode erreichbar ist, sodass unbenutzte und nicht erreichbare Pakete Entwickler nicht aufhalten. Das ist eine gute erste Erreichbarkeitsregel, weil sie eine bestehende Schweregradregel einschränkt, anstatt den Umfang des Blockierens zu erweitern.
Unbenutzte Abhängigkeiten blockieren
Regeltyp: Dependency Vulnerability — Gilt für: CIWählen Sie Unused Dependency unter Erreichbarkeit allein, ohne Schweregrad- oder CVSS-Filter. Die Regel lässt eine Pipeline fehlschlagen, die anfällige Pakete einführt, die im Code nirgends verwendet werden, und veranlasst Entwickler, die Abhängigkeit zu entfernen statt zu aktualisieren.
Copyleft-Abhängigkeiten blockieren
Regeltyp: License ComplianceWählen Sie die Familie Copyleft, um Abhängigkeiten zu blockieren, deren gemeldete Lizenzen zu dieser Familie gehören. Fügen Sie bestimmte SPDX-IDs hinzu, wenn Ihre Richtlinie eine engere Ablehnungsliste benötigt.
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
Ergänzen Sie bei CI-Regeln eine bestehende Schweregradregel um den Erreichbarkeitsfilter Reachable, um Rauschen zu reduzieren, ohne die Abdeckung der tatsächlich ausnutzbaren Schwachstellen zu schwächen
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
Wenn ein Pull Request unerwartet blockiert ist, überprüfen Sie zuerst die aktiven Regeln und deren Konfigurationen.
Häufige Probleme
Unerwartetes Blockierverhalten
Fehlerhafte Zieldefinition der Regel
Probleme mit dem Projekt-Scope
Schritte zur Behebung
Überprüfen Sie die Regelkonfigurationen
CWE-Zielsetzung überprüfen
Projekteinstellungen bestätigen
Bei Bedarf den Support kontaktieren
War diese Seite hilfreich?
{"docsConfig":{"theme":"palm","$schema":"https://mintlify.com/docs.json","name":"Corgea Documentation","colors":{"primary":"#F56C26","light":"#F56C26","dark":"#F56C26"},"logo":{"light":"https://mintcdn.com/corgea/mpJUc1GyXtnVYEyT/logo/logo.png?fit=max\u0026auto=format\u0026n=mpJUc1GyXtnVYEyT\u0026q=85\u0026s=f66a9484335ac4db5d5d92e12fd87af6","dark":"https://mintcdn.com/corgea/mpJUc1GyXtnVYEyT/logo/logo.png?fit=max\u0026auto=format\u0026n=mpJUc1GyXtnVYEyT\u0026q=85\u0026s=f66a9484335ac4db5d5d92e12fd87af6"},"favicon":"https://mintcdn.com/corgea/mpJUc1GyXtnVYEyT/logo/logo.png?fit=max\u0026auto=format\u0026n=mpJUc1GyXtnVYEyT\u0026q=85\u0026s=f66a9484335ac4db5d5d92e12fd87af6","background":{"color":{"light":"#fffdfd","dark":"#131313"}},"navbar":{"links":[{"href":"mailto:help@corgea.com","label":"Support"}],"primary":{"type":"button","label":"Go to Corgea","href":"https://www.corgea.app"}},"footer":{"socials":{"twitter":"https://x.com/CorgeaInc","github":"https://github.com/Corgea","linkedin":"https://www.linkedin.com/company/corgea"}},"integrations":{"ga4":{"measurementId":"G-GGF9NXG1LJ"}},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"navbar":{"links":[{"href":"mailto:help@corgea.com","label":"Support"}],"primary":{"type":"button","label":"Go to Corgea","href":"https://www.corgea.app"}},"href":"introduction"},{"language":"de","navbar":{"links":[{"href":"mailto:help@corgea.com","label":"Support"}],"primary":{"type":"button","label":"Zu Corgea","href":"https://www.corgea.app"}},"href":"de/introduction"},{"language":"fr","navbar":{"links":[{"href":"mailto:help@corgea.com","label":"Assistance"}],"primary":{"type":"button","label":"Accéder à Corgea","href":"https://www.corgea.app"}},"href":"fr/introduction"},{"language":"es","navbar":{"links":[{"href":"mailto:help@corgea.com","label":"Soporte"}],"primary":{"type":"button","label":"Ir a Corgea","href":"https://www.corgea.app"}},"href":"es/introduction"},{"language":"ja","navbar":{"links":[{"href":"mailto:help@corgea.com","label":"サポート"}],"primary":{"type":"button","label":"Corgeaを開く","href":"https://www.corgea.app"}},"href":"ja/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"corgea","hasAudioNarration":false,"actualSubdomain":"corgea","customDomains":["docs.corgea.app"],"gitSource":{"type":"github","owner":"corgea","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad8ec06f9199d9b39f39adc","collectionId":"781347d1-16c1-40fd-9849-07bbf0b0f333","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad8ec06f9199d9b39f39adc"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ad8ec06f9199d9b39f39adc","clientVersion":"0.0.3939","searchFilterCounts":[{"language":"en","tag":"API Reference","count":77},{"language":"de","tag":"API-Referenz","count":77},{"language":"es","tag":"Referencia de la API","count":77},{"language":"fr","tag":"Référence API","count":77},{"language":"ja","tag":"APIリファレンス","count":75},{"language":"en","tag":"Documentation","count":57},{"language":"de","tag":"Dokumentation","count":55},{"language":"es","tag":"Documentación","count":55},{"language":"fr","tag":"Documentation","count":55},{"language":"ja","tag":"ドキュメント","count":55},{"language":"en","tag":"Core Features","count":30},{"language":"de","tag":"Kernfunktionen","count":30},{"language":"es","tag":"Funciones principales","count":30},{"language":"fr","tag":"Fonctionnalités principales","count":30},{"language":"ja","tag":"主な機能","count":30},{"language":"en","tag":"Integrations","count":15},{"language":"en","tag":"Issues","count":15},{"language":"de","tag":"Integrationen","count":15},{"language":"de","tag":"Issues","count":15},{"language":"es","tag":"Integraciones","count":15},{"language":"es","tag":"Hallazgos","count":15},{"language":"fr","tag":"Intégrations","count":15},{"language":"fr","tag":"Problèmes","count":15},{"language":"ja","tag":"インテグレーション","count":15},{"language":"ja","tag":"問題","count":15},{"language":"en","tag":"Security Scanning","count":10},{"language":"de","tag":"Sicherheitsscans","count":10},{"language":"es","tag":"Análisis de seguridad","count":10},{"language":"fr","tag":"Analyse de sécurité","count":10},{"language":"ja","tag":"セキュリティスキャン","count":10},{"language":"en","tag":"Authentication","count":8},{"language":"en","tag":"Teams","count":8},{"language":"de","tag":"Authentifizierung","count":8},{"language":"de","tag":"Teams","count":8},{"language":"es","tag":"Autenticación","count":8},{"language":"es","tag":"Equipos","count":8},{"language":"fr","tag":"Authentification","count":8},{"language":"fr","tag":"Équipes","count":8},{"language":"ja","tag":"認証","count":8},{"language":"ja","tag":"チーム","count":8},{"language":"en","tag":"Issue Management","count":7},{"language":"en","tag":"Notifications","count":7},{"language":"de","tag":"Issue-Management","count":7},{"language":"de","tag":"Benachrichtigungen","count":7},{"language":"es","tag":"Gestión de hallazgos","count":7},{"language":"es","tag":"Notificaciones","count":7},{"language":"fr","tag":"Gestion des résultats","count":7},{"language":"fr","tag":"Notifications","count":7},{"language":"ja","tag":"検出結果の管理","count":7},{"language":"ja","tag":"通知","count":7}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"de/blocking_rules","slug":"/de/blocking_rules","pageMetadata":{"title":"Blocking Rules","description":"Blocking Rules setzen Sicherheits- und Qualitätsstandards in Pull Requests oder CI-Pipelines durch.","href":"/de/blocking_rules"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Blocking Rules setzen Sicherheits- und Qualitätsstandards in Pull Requests oder CI-Pipelines durch.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,CodeBlock,Frame,Heading,Info,OptimizedImage,Step,Steps,Tab,Table,Tabs,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`übersicht`,children:`Übersicht`}),`\n`,_jsx(Heading,{level:`3`,id:`funktionsweise`,children:`Funktionsweise`}),`\n`,_jsx(_components.p,{children:`Blocking Rules sind Guardrails, die festlegen, welche Findings einen Pull-Request-Check oder eine CI-Pipeline fehlschlagen lassen. So stellen Sie sicher, dass Ihre Codebasis den Sicherheits- und Qualitätsstandards Ihrer Organisation entspricht.`}),`\n`,_jsx(_components.p,{children:`Sie können drei Arten von Blocking Rules erstellen:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Code Vulnerability Rules`}),`: Blockieren PRs aufgrund von Sicherheitslücken, Code-Quality-Befunden oder beidem`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Dependency Vulnerability Rules`}),`: Blockieren PRs aufgrund anfälliger Abhängigkeiten, die bei SCA-Scans gefunden wurden`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`License Compliance Rules`}),`: Blockieren Abhängigkeiten mit bestimmten SPDX-Lizenzen oder Lizenzfamilien`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`zielgruppe`,children:`Zielgruppe`}),`\n`,_jsx(_components.p,{children:`Blocking Rules richten sich hauptsächlich an:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Entwicklungsteams`}),`\n`,_jsx(_components.li,{children:`Projektmanager`}),`\n`,_jsx(_components.li,{children:`Security Engineers`}),`\n`]}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(Heading,{level:`2`,id:`hauptmerkmale-und-vorteile`,children:`Hauptmerkmale und Vorteile`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Einhaltung der Codierungsstandards`,icon:`shield-check`,id:`einhaltung-der-codierungsstandards`,children:_jsx(_components.p,{children:`Definieren Sie Regeln anhand von Common Weakness Enumerations (CWEs), um Pull Requests zu blockieren, die bestimmte Schwachstellen oder Code-Quality-Probleme einführen.`})}),_jsx(Accordion,{title:`Dringlichkeitsstufen anpassen`,icon:`signal`,id:`dringlichkeitsstufen-anpassen`,children:_jsx(_components.p,{children:`Weisen Sie verschiedenen Arten von Problemen Dringlichkeitsstufen zu (z. B. kritisch, hoch, mittel, niedrig), sodass Sie sie entsprechend priorisieren und bearbeiten können.`})}),_jsx(Accordion,{title:`Abhängigkeiten nach CVSS filtern`,icon:`gauge`,id:`abhaengigkeiten-nach-cvss-filtern`,children:_jsx(_components.p,{children:`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.`})}),_jsx(Accordion,{title:`Abhängigkeiten nach Erreichbarkeit filtern`,icon:`diagram-project`,id:`abhaengigkeiten-nach-erreichbarkeit-filtern`,children:_jsx(_components.p,{children:`Beschränken Sie bei Dependency Vulnerability Rules, die für die CI gelten, das Blockieren auf Abhängigkeiten, deren anfälliger Code aus Ihrer Anwendung tatsächlich erreichbar ist, damit unbenutzte und nicht erreichbare Pakete Ihre Pipeline nicht fehlschlagen lassen.`})}),_jsx(Accordion,{title:`Lizenzrichtlinie durchsetzen`,icon:`file-contract`,id:`lizenzrichtlinie-durchsetzen`,children:_jsx(_components.p,{children:`Blockieren Sie Abhängigkeiten anhand bestimmter SPDX-Lizenz-IDs oder der Lizenzfamilien Copyleft, Permissive und Commercial.`})}),_jsx(Accordion,{title:`Projekt- und Tag-spezifische Regeln`,icon:`folder-tree`,id:`projekt-und-tag-spezifische-regeln`,children:_jsx(_components.p,{children:`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.`})}),_jsx(Accordion,{title:`Regelverwaltung`,icon:`gear`,id:`regelverwaltung`,children:_jsx(_components.p,{children:`Erstellen, bearbeiten und löschen Sie Blocking Rules über eine übersichtliche Oberfläche, damit die Regeln mit Ihren Anforderungen Schritt halten.`})}),_jsx(Accordion,{title:`Regelaktivierung/-deaktivierung`,icon:`toggle-on`,id:`regelaktivierung-deaktivierung`,children:_jsx(_components.p,{children:`Schalten Sie den Status von Blocking Rules um, um sie bei Bedarf vorübergehend zu aktivieren oder zu deaktivieren, ohne ihre Konfigurationen zu verlieren.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`rule-types`,children:`Regeltypen`}),`\n`,_jsx(_components.p,{children:`Blocking Rules unterstützen für eine umfassende Absicherung drei verschiedene Typen:`}),`\n`,_jsxs(CardGroup,{cols:3,children:[_jsxs(Card,{title:`Code Vulnerability`,icon:`code`,children:[_jsxs(_components.p,{children:[`Blockiert Pull Requests basierend auf `,_jsx(_components.strong,{children:`Sicherheitslücken`}),`, `,_jsx(_components.strong,{children:`Code-Qualitätsbefunden`}),` oder beidem.`]}),_jsx(_components.p,{children:`Konfiguration:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Issue-Typ auswählen: All, Vulnerabilities oder Code Quality`}),`\n`,_jsx(_components.li,{children:`Bestimmte CWE-Kategorien (Common Weakness Enumeration) auswählen`}),`\n`,_jsx(_components.li,{children:`Festlegen von Dringlichkeits-/Schweregraden`}),`\n`]}),_jsx(_components.p,{children:`Verhindern Sie damit unter anderem SQL-Injection, XSS, unsichere Kryptografie und andere Schwachstellen auf Codeebene.`})]}),_jsxs(Card,{title:`Dependency Vulnerability`,icon:`box`,children:[_jsxs(_components.p,{children:[`Blockiert Pull Requests aufgrund `,_jsx(_components.strong,{children:`anfälliger Abhängigkeiten`}),`, die durch Software Composition Analysis (SCA) gefunden wurden.`]}),_jsx(_components.p,{children:`Konfiguration:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Festlegen von Dringlichkeits-/Schweregraden (Kritisch, Hoch, Mittel, Niedrig)`}),`\n`,_jsx(_components.li,{children:`Alternativ einen einschließlich der Grenzwerte geltenden CVSS-Bereich von 0,0 bis 10,0 festlegen`}),`\n`,_jsxs(_components.li,{children:[`Optional eine Einschränkung nach `,_jsx(_components.a,{href:`#reachability`,children:`Erreichbarkeit`}),` (nur CI-Regeln)`]}),`\n`]}),_jsx(_components.p,{children:`Verhindern Sie damit, dass Pakete mit bekannten Schwachstellen in Ihre Software-Lieferkette gelangen.`})]}),_jsxs(Card,{title:`License Compliance`,icon:`file-contract`,children:[_jsx(_components.p,{children:`Blockiert Pull Requests oder CI-Pipelines, wenn eine Abhängigkeit eine abgelehnte Lizenz verwendet.`}),_jsx(_components.p,{children:`Konfiguration:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Eine oder mehrere Lizenzfamilien auswählen: Copyleft, Permissive oder Commercial`}),`\n`,_jsxs(_components.li,{children:[`Bestimmte SPDX-Lizenz-IDs eingeben, z. B. `,_jsx(_components.code,{children:`AGPL-3.0`})]}),`\n`]}),_jsx(_components.p,{children:`Nutzen Sie dies, um die Open-Source- und kommerzielle Lizenzrichtlinie Ihrer Organisation durchzusetzen.`})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`so-funktioniert-es-mit-github`,children:`So funktioniert es mit GitHub`}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Voraussetzung`}),` Sie müssen die `,_jsx(_components.a,{href:`github`,children:`Corgea GitHub App`}),` installiert und mit den entsprechenden Repository-Berechtigungen konfiguriert haben.`]})}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Pull Request einreichen`,children:_jsx(_components.p,{children:`Ein Entwickler reicht einen Pull Request mit Codeänderungen ein`})}),_jsx(Step,{title:`Automatisierte Analyse`,children:_jsx(_components.p,{children:`Das System analysiert die Codeänderungen anhand der aktiven Blocking Rules`})}),_jsxs(Step,{title:`Regelüberprüfung`,children:[_jsx(_components.p,{children:`Bei Regelverstößen wird der Pull Request automatisch blockiert`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_pr_blocked.png?fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=39013c8f8163f96d432b0f9bd4abbc05`,style:{borderRadius:`0.5rem`},\"data-og-width\":`2776`,width:`2776`,\"data-og-height\":`1034`,height:`1034`,\"data-path\":`images/blocking_rules_pr_blocked.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_pr_blocked.png?w=280\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=a30829a8397256d24bf99e7714ff7e30 280w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_pr_blocked.png?w=560\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=b52725944e1ae30ce07dba74e8a78478 560w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_pr_blocked.png?w=840\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=e2e907951bbab46eafb1b64a6100d529 840w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_pr_blocked.png?w=1100\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=c14190cd9d640387e7fe0acef6794298 1100w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_pr_blocked.png?w=1650\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=20a90628f1983af3321598d13d2379ce 1650w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_pr_blocked.png?w=2500\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=e01f67509e07a92988339aeb7db7a652 2500w`})})]}),_jsxs(Step,{title:`Benachrichtigung des Entwicklers`,children:[_jsx(_components.p,{children:`Der Entwickler erhält eine detaillierte Benachrichtigung über Regelverstöße`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_pr_details.png?fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=4ac0e073341d12a425db9a4412e55b3e`,style:{borderRadius:`0.5rem`},\"data-og-width\":`3078`,width:`3078`,\"data-og-height\":`1834`,height:`1834`,\"data-path\":`images/blocking_rules_pr_details.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_pr_details.png?w=280\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=993461300634968ea1133e1f1075f318 280w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_pr_details.png?w=560\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=c26d7fbd66d8381ae4718b7ea7937556 560w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_pr_details.png?w=840\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=8e23098e502c5bb6e23db507851b14d4 840w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_pr_details.png?w=1100\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=7fc794132c8af8c5aaaa5ba8568c32af 1100w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_pr_details.png?w=1650\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=8614207f8ae7e8191e35f398b06b5d1f 1650w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_pr_details.png?w=2500\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=d53184a432c41abbf6718019d4b3315d 2500w`})})]}),_jsx(Step,{title:`Behebung`,children:_jsx(_components.p,{children:`Vor dem Merge muss der Entwickler die Verstöße beheben und als Fixed markieren oder sie als False Positive beziehungsweise Accepted Risk kennzeichnen`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`so-funktioniert-es-mit-azure-devops`,children:`So funktioniert es mit Azure DevOps`}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Voraussetzung`}),` Stellen Sie sicher, dass die `,_jsx(_components.a,{href:`azure_devops`,children:`Azure DevOps-Integration`}),` mit Corgea konfiguriert ist und Sie die erforderlichen Berechtigungen besitzen.`]})}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Pull Request einreichen`,children:_jsx(_components.p,{children:`Ein Entwickler reicht in Azure DevOps einen Pull Request mit Codeänderungen ein.`})}),_jsx(Step,{title:`Automatisierte Analyse`,children:_jsx(_components.p,{children:`Das System prüft die Codeänderungen anhand der in Corgea aktiven Blocking Rules.`})}),_jsxs(Step,{title:`Regelüberprüfung`,children:[_jsx(_components.p,{children:`Bei Regelverstößen wird der Pull Request automatisch blockiert.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure_blocking_rules_pr_blocked.png?fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=a85aa91d3cea8d9572197b863bafa4e4`,style:{borderRadius:`0.5rem`},\"data-og-width\":`966`,width:`966`,\"data-og-height\":`512`,height:`512`,\"data-path\":`images/azure_blocking_rules_pr_blocked.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure_blocking_rules_pr_blocked.png?w=280\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=86916f9d80e1170fdac3a7a6581c11ed 280w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure_blocking_rules_pr_blocked.png?w=560\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=1d9df77a9d453847fbbcde2404cb914c 560w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure_blocking_rules_pr_blocked.png?w=840\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=0e07c663b2bd7279f941c7236fe8db5c 840w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure_blocking_rules_pr_blocked.png?w=1100\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=b195bcc896967e0a3af72fe6adf9bf08 1100w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure_blocking_rules_pr_blocked.png?w=1650\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=d73a3cc8f4f2a5bcf17b500f2d33cada 1650w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure_blocking_rules_pr_blocked.png?w=2500\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=b9b50b6d863396db4f51426e7c52e230 2500w`})}),_jsx(_components.p,{children:`Der Entwickler kann den PR erst mergen, nachdem die Verstöße behoben wurden.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure-devops_merging_blocked.png?fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=1ecb01eb911476a19b0265a3b56dad72`,style:{borderRadius:`0.5rem`},\"data-og-width\":`2900`,width:`2900`,\"data-og-height\":`2630`,height:`2630`,\"data-path\":`images/azure-devops_merging_blocked.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure-devops_merging_blocked.png?w=280\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=37a83ad08ba63540b6a96ded9fc2cded 280w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure-devops_merging_blocked.png?w=560\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=f5abe6837c47c9a5301c45170b1cc4b2 560w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure-devops_merging_blocked.png?w=840\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=af879f69a82cef36b02f696fd2567b2f 840w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure-devops_merging_blocked.png?w=1100\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=deff84406516ed9ad2994dbbc1008e3d 1100w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure-devops_merging_blocked.png?w=1650\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=02811d94253b0fee59bffa0895e5ad6f 1650w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure-devops_merging_blocked.png?w=2500\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=3c2dfcc3cf1ee386008c1e32f8363064 2500w`})})]}),_jsxs(Step,{title:`Benachrichtigung des Entwicklers`,children:[_jsx(_components.p,{children:`Der Entwickler erhält einen Link zu ausführlichen Informationen über die beanstandeten Issues auf der Scan-Seite von Corgea.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure_see_details_of_issues.png?fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=e5e94b8c2fec2b7abab7eb76a37533b1`,style:{borderRadius:`0.5rem`},\"data-og-width\":`2696`,width:`2696`,\"data-og-height\":`1556`,height:`1556`,\"data-path\":`images/azure_see_details_of_issues.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure_see_details_of_issues.png?w=280\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=b9e1574b516fa076e8dd9ea53b4ea330 280w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure_see_details_of_issues.png?w=560\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=02f81fbacf31ed9895533fc0769d1fbb 560w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure_see_details_of_issues.png?w=840\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=69bfc4d27b08d73c5b5390623f2a3199 840w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure_see_details_of_issues.png?w=1100\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=da218b53310d9dc4bf4455e13c0b6a1f 1100w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure_see_details_of_issues.png?w=1650\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=694c295b80955a6b8023dfd6e153b8ab 1650w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/azure_see_details_of_issues.png?w=2500\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=c979dea0fc5967810d2feed2fe0c42ac 2500w`})})]}),_jsx(Step,{title:`Behebung`,children:_jsx(_components.p,{children:`Vor dem Merge muss der Entwickler die Verstöße beheben oder als False Positive beziehungsweise Accepted Risk markieren.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`bedienungsanleitung`,children:`Bedienungsanleitung`}),`\n`,_jsx(Heading,{level:`3`,id:`neue-blocking-rule-erstellen`,children:`Neue Blocking Rule erstellen`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Erstellung initiieren`,children:_jsx(_components.p,{children:`Klicken Sie auf “Add Blocking Rule”`})}),_jsxs(Step,{title:`Regeltyp wählen`,children:[_jsx(_components.p,{children:`Wählen Sie den Typ der Blocking Rule:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Code Vulnerability`}),`: Blockiert Pull Requests aufgrund von Sicherheitsproblemen im Code (SAST-Befunde)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Dependency Vulnerability`}),`: Blockiert Pull Requests aufgrund anfälliger Abhängigkeiten (SCA-Befunde)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`License Compliance`}),`: Blockiert Abhängigkeiten anhand abgelehnter SPDX-Lizenzen oder Lizenzfamilien`]}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rule_create.png?fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=8dcdba40b68a4f557b9af9b596629262`,style:{borderRadius:`0.5rem`},alt:`Add Blocking Rule modal with Applies To, rule types, and Issue Type`,\"data-og-width\":`459`,width:`459`,\"data-og-height\":`969`,height:`969`,\"data-path\":`images/blocking_rule_create.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rule_create.png?w=280\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=054d84d66c6f48f696d828c0efa94f28 280w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rule_create.png?w=560\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=c57934927acb0f211632bc15c5699d98 560w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rule_create.png?w=840\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=036c71d17df171e600be8149e3bae414 840w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rule_create.png?w=1100\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=155c38b31ee5862832c67fc3d14ca15e 1100w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rule_create.png?w=1650\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=e3aa6754cb1e3e51ed3aeb2676f6a962 1650w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rule_create.png?w=2500\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=e9fdb9669593a43cb545adfd04f0e8dd 2500w`})})]}),_jsxs(Step,{title:`Grundinformationen`,children:[_jsxs(_components.p,{children:[`Geben Sie Regelname und Beschreibung ein und wählen Sie anschließend `,_jsx(_components.strong,{children:`Applies To`}),`:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Pull Requests`}),` setzt die Regel automatisch in Pull-Request-Checks durch.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`CI`}),` setzt die Regel nur durch, wenn eine Pipeline sie mit `,_jsx(_components.code,{children:`corgea scan --block-on \u003cslug>`}),` benennt. CI-Regeln blockieren keine Pull Requests.`]}),`\n`]}),_jsxs(_components.p,{children:[`Neue Regeln verwenden standardmäßig `,_jsx(_components.strong,{children:`Pull Requests`}),`. Corgea erzeugt den Slug aus dem Regelnamen und zeigt ihn in der Regelliste an.`]}),_jsx(_components.p,{children:`Pull-Request-Regeln kommentieren nur Findings, die eine Aktion erfordern. Corgea überspringt Kommentare für als nicht erreichbar bestätigte Findings, wegen eines False Positive oder einer nicht unterstützten Sprache zurückgehaltene Findings sowie Findings in vom Projekt ignorierten Pfaden. Diese Findings bleiben zur Prüfung in Corgea verfügbar, blockieren den Pull Request jedoch nicht.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rule_create_ci_license.png?fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=218cc233de7f4711f466cb92303eaf8c`,style:{borderRadius:`0.5rem`},alt:`Add Blocking Rule modal with CI selected and License Compliance configured`,\"data-og-width\":`469`,width:`469`,\"data-og-height\":`946`,height:`946`,\"data-path\":`images/blocking_rule_create_ci_license.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rule_create_ci_license.png?w=280\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=bda2ae30611144e535eb3041ddf93fa7 280w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rule_create_ci_license.png?w=560\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=0f5871ab6a6a37ba21752de25ee2bbf8 560w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rule_create_ci_license.png?w=840\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=51fc5c2770cf781282b6bf209fae4f15 840w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rule_create_ci_license.png?w=1100\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=4d3b6e80aceaf0eef8a619d78a543603 1100w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rule_create_ci_license.png?w=1650\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=38a3cba1b960dff2533d5822af289b37 1650w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rule_create_ci_license.png?w=2500\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=dd1d7c2fbf0c19a69c5e131f4a9495cb 2500w`})})]}),_jsxs(Step,{title:`Einstellungen konfigurieren`,children:[_jsxs(_components.p,{children:[`Für `,_jsx(_components.strong,{children:`Code Vulnerability`}),` Rules: Wählen Sie unter `,_jsx(_components.strong,{children:`Issue Type`}),`, ob die Regel für `,_jsx(_components.strong,{children:`All`}),` Befunde, nur `,_jsx(_components.strong,{children:`Vulnerabilities`}),` oder nur `,_jsx(_components.strong,{children:`Code Quality`}),` gelten soll. `,_jsx(_components.strong,{children:`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.`]}),_jsxs(_components.p,{children:[`Für `,_jsx(_components.strong,{children:`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. Wenn die Regel für die CI gilt, können Sie zusätzlich einen oder mehrere `,_jsx(_components.strong,{children:`Erreichbarkeits`}),`-Zustände auswählen, um sie weiter einzuschränken — siehe `,_jsx(_components.a,{href:`#reachability`,children:`Filtern nach Erreichbarkeit`}),`.`]}),_jsxs(_components.p,{children:[`Für `,_jsx(_components.strong,{children:`License Compliance`}),` Rules: Wählen Sie mindestens eine abgelehnte Lizenzfamilie (Copyleft, Permissive oder Commercial) oder geben Sie eine oder mehrere SPDX-Lizenz-IDs ein. Eine Abhängigkeit wird blockiert, wenn eine gemeldete Lizenz einer ausgewählten Familie oder einer bestimmten ID entspricht.`]})]}),_jsx(Step,{title:`Bereich festlegen`,children:_jsx(_components.p,{children:`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.`})}),_jsx(Step,{title:`Speichern`,children:_jsx(_components.p,{children:`Prüfen Sie die Angaben und klicken Sie auf “Create”`})})]}),`\n`,_jsx(Heading,{level:`3`,id:`vorhandene-regeln-verwalten`,children:`Vorhandene Regeln verwalten`}),`\n`,_jsxs(_components.p,{children:[`Suchen Sie Regeln anhand ihres Namens oder ihrer Einstellungen, oder filtern Sie die Liste nach Projekt-Tag oder `,_jsx(_components.strong,{children:`Applies To`}),`-Ziel. Die Regeltabelle zeigt den Slug jeder Regel in der Spalte `,_jsx(_components.strong,{children:`ID`}),` und stellt Projektumfang, Regeltyp sowie das Ziel `,_jsx(_components.strong,{children:`Pull Requests`}),` oder `,_jsx(_components.strong,{children:`CI`}),` unter `,_jsx(_components.strong,{children:`Triggers On`}),` dar. Wählen Sie einen Slug aus, um ihn für einen CI-Befehl zu kopieren. Regeln ohne Projekt- oder Tag-Scope gelten für alle Projekte; längere Scope-Listen werden hinter einem Tooltip `,_jsx(_components.strong,{children:`+N more`}),` zusammengefasst.`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rules_list.png?fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=fde00215e97e017b81af0100480d9ad4`,style:{borderRadius:`0.5rem`},alt:`Blocking rules list showing slug, Triggers On chips, and CI badge`,\"data-og-width\":`1684`,width:`1684`,\"data-og-height\":`426`,height:`426`,\"data-path\":`images/blocking_rules_list.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rules_list.png?w=280\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=8c06df3c337c81f67933b5088b7e87ed 280w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rules_list.png?w=560\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=f8399245a6b352a83855e28215cb09ec 560w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rules_list.png?w=840\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=89883a75f698e720951a0d7b1b6f32d5 840w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rules_list.png?w=1100\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=7b06e9d7bb0079ffbeee0130091bca60 1100w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rules_list.png?w=1650\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=5b1eab64e860f6e34670f47dc121c539 1650w, https://mintcdn.com/corgea/vl87stO-uNzXPjoi/images/blocking_rules_list.png?w=2500\u0026fit=max\u0026auto=format\u0026n=vl87stO-uNzXPjoi\u0026q=85\u0026s=33c8434de4ae15c1aa2de026712993ea 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`regeln-in-ci-durchsetzen`,children:`Regeln in CI durchsetzen`}),`\n`,_jsxs(_components.p,{children:[`Erstellen Sie eine aktive Regel mit `,_jsx(_components.strong,{children:`Applies To`}),` auf `,_jsx(_components.strong,{children:`CI`}),`, und übergeben Sie ihren Slug an den Scan-Befehl. Benennen Sie Regeln nach der auslösenden Bedingung — zum Beispiel `,_jsx(_components.code,{children:`criticals`}),`, nicht `,_jsx(_components.code,{children:`no-criticals`}),` —, damit `,_jsx(_components.code,{children:`--block-on`}),` wie eine direkte Aussage gelesen wird. `,_jsx(_components.code,{children:`--block-on`}),` erfordert Corgea CLI 1.10.0 oder neuer.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`corgea`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` scan`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --block-on`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` criticals`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Um mehrere CI-Regeln durchzusetzen, geben Sie ihre Slugs als kommagetrennte Liste an. Der Befehl schlägt fehl, wenn ein Finding gegen eine der genannten Regeln verstößt. Ein unbekannter Slug, eine inaktive Regel oder eine Regel für Pull Requests wird als Konfigurationsfehler behandelt und nicht übersprungen. `,_jsx(_components.code,{children:`--block-on`}),` wird nur vom BLAST-Scanner unterstützt und kann nicht mit `,_jsx(_components.code,{children:`--fail`}),` oder `,_jsx(_components.code,{children:`--fail-on`}),` kombiniert werden.`]}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Regel bearbeiten`,id:`regel-bearbeiten`,children:_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Regel in der Tabelle finden`}),`\n`,_jsx(_components.li,{children:`Klicken Sie auf “Edit”`}),`\n`,_jsx(_components.li,{children:`Passen Sie die Einstellungen nach Bedarf an`}),`\n`,_jsx(_components.li,{children:`Klicken Sie zum Speichern auf “Update”`}),`\n`]})}),_jsx(Tab,{title:`Status umschalten`,id:`status-umschalten`,children:_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Finden Sie die Regel in der Tabelle`}),`\n`,_jsx(_components.li,{children:`Klicken Sie auf “Toggle Status”`}),`\n`,_jsx(_components.li,{children:`Bestätigen Sie die Statusänderung`}),`\n`]})}),_jsx(Tab,{title:`Details anzeigen`,id:`details-anzeigen`,children:_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Klicken Sie auf den Regelnamen`}),`\n`,_jsx(_components.li,{children:`Prüfen Sie die ausführlichen Informationen`}),`\n`,_jsx(_components.li,{children:`Schließen Sie anschließend den Dialog`}),`\n`]})})]}),`\n`,_jsx(Heading,{level:`3`,id:`regeln-bei-scans-anzeigen`,children:`Regeln bei Scans anzeigen`}),`\n`,_jsx(_components.p,{children:`Sie können Blocking Rules, die für Ihre Scans gelten, an zwei Orten anzeigen:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Auf der Detailseite des Scans sehen Sie einen Abschnitt “Blocking Rules”, der alle ausgewerteten Regeln zeigt:`}),`\n`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_scan_details.png?fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=a132f7927273e0eaf8bdb84065bbcbf4`,style:{borderRadius:`0.5rem`},\"data-og-width\":`1518`,width:`1518`,\"data-og-height\":`1082`,height:`1082`,\"data-path\":`images/blocking_rules_scan_details.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_scan_details.png?w=280\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=2506f62e23926618d77b374cc6ce8af3 280w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_scan_details.png?w=560\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=91aea5d0567b8909be5664ec94af61b5 560w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_scan_details.png?w=840\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=c67566733fb8742f636ab401414ba9f7 840w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_scan_details.png?w=1100\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=1358301c8bdac7c1c0983a9276800f55 1100w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_scan_details.png?w=1650\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=a6034b5277cd2545bae8dcdb914c793e 1650w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rules_scan_details.png?w=2500\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=4d1abeac5e45021533d8dbf10b0dd78b 2500w`})}),`\n`,_jsxs(_components.ol,{start:`2`,children:[`\n`,_jsx(_components.li,{children:`In den Details einzelner Issues sehen Sie, welche Blocking Rules ausgelöst wurden:`}),`\n`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rule_issue_details.png?fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=433dd74d99f714b953608a1e59ac973a`,style:{borderRadius:`0.5rem`},\"data-og-width\":`3072`,width:`3072`,\"data-og-height\":`1124`,height:`1124`,\"data-path\":`images/blocking_rule_issue_details.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rule_issue_details.png?w=280\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=f018e1e8b4c4d92354a127e5716a8370 280w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rule_issue_details.png?w=560\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=bda0c51d92e6a2caa2f3873e8eac83c3 560w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rule_issue_details.png?w=840\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=e87b4d6f3d1cf506d64b64640d19c675 840w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rule_issue_details.png?w=1100\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=7bd96c3f0fe932b1f8570a9c31539b93 1100w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rule_issue_details.png?w=1650\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=f0d374fd9773f3a7e3c9def6a3ac77d1 1650w, https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/blocking_rule_issue_details.png?w=2500\u0026fit=max\u0026auto=format\u0026n=uxLuQR4653lM43Tj\u0026q=85\u0026s=3a59b8689328a1a8865b890a194cec4d 2500w`})}),`\n`,_jsx(_components.p,{children:`So erkennen Sie, welche Regeln sich auf Ihre Scans und einzelne Issues auswirken und weshalb bestimmte Änderungen blockiert werden.`}),`\n`,_jsx(Heading,{level:`2`,id:`reachability`,children:`Filtern nach Erreichbarkeit`}),`\n`,_jsxs(_components.p,{children:[`In den meisten Projekten wird der Großteil der anfälligen Abhängigkeiten von Ihrem Code nie tatsächlich ausgeführt. Mit dem Erreichbarkeitsfilter blockiert eine `,_jsx(_components.strong,{children:`Dependency Vulnerability`}),` Rule nur die relevanten Funde, sodass eine kritische CVE in einem Paket, das Sie nie aufrufen, Ihre Pipeline nicht fehlschlagen lässt.`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Nur für CI-Regeln verfügbar`}),` Die Erreichbarkeit wird nur bei Scans analysiert, die Sie selbst mit `,_jsx(_components.code,{children:`corgea scan`}),` starten, nicht bei Scans, die beim Öffnen eines Pull Requests automatisch ausgelöst werden. Setzen Sie `,_jsx(_components.strong,{children:`Applies To`}),` auf `,_jsx(_components.strong,{children:`CI`}),`, um diesen Filter zu nutzen; bei Pull-Request-Regeln ist die Option ausgeblendet. Referenzieren Sie die Regel anschließend in Ihrer Pipeline mit `,_jsx(_components.code,{children:`corgea scan --block-on \u003cslug>`}),`.`]})}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Voraussetzung`}),` Erreichbarkeit erfordert, dass `,_jsx(_components.strong,{children:`AI-Native SCA`}),` für Ihre Organisation aktiviert ist. Ohne diese Option wird keine Abhängigkeit analysiert, sodass eine Regel mit diesem Filter nie etwas blockiert. Der Regeleditor warnt Sie, wenn die Option deaktiviert ist.`]})}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/corgea/gpJCGMHYx471xVvQ/images/blocking_rule_create_ci_reachability.png?fit=max\u0026auto=format\u0026n=gpJCGMHYx471xVvQ\u0026q=85\u0026s=571c043010e6323e09fc1523cfd8a5b3`,style:{borderRadius:`0.5rem`},alt:`Add Blocking Rule modal with CI and Dependency Vulnerability selected and Reachable checked under Reachability`,\"data-og-width\":`447`,width:`447`,\"data-og-height\":`884`,height:`884`,\"data-path\":`images/blocking_rule_create_ci_reachability.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/corgea/gpJCGMHYx471xVvQ/images/blocking_rule_create_ci_reachability.png?w=280\u0026fit=max\u0026auto=format\u0026n=gpJCGMHYx471xVvQ\u0026q=85\u0026s=66a4ca8c20b9f1f1a54ed3a6814668b6 280w, https://mintcdn.com/corgea/gpJCGMHYx471xVvQ/images/blocking_rule_create_ci_reachability.png?w=560\u0026fit=max\u0026auto=format\u0026n=gpJCGMHYx471xVvQ\u0026q=85\u0026s=3a8b9ca58464b216ff030c6f0c47ae23 560w, https://mintcdn.com/corgea/gpJCGMHYx471xVvQ/images/blocking_rule_create_ci_reachability.png?w=840\u0026fit=max\u0026auto=format\u0026n=gpJCGMHYx471xVvQ\u0026q=85\u0026s=6cceeed7d4097b5ea18b37b3e5c3b15f 840w, https://mintcdn.com/corgea/gpJCGMHYx471xVvQ/images/blocking_rule_create_ci_reachability.png?w=1100\u0026fit=max\u0026auto=format\u0026n=gpJCGMHYx471xVvQ\u0026q=85\u0026s=e37a3d1e43b62043d3390608dfa36c44 1100w, https://mintcdn.com/corgea/gpJCGMHYx471xVvQ/images/blocking_rule_create_ci_reachability.png?w=1650\u0026fit=max\u0026auto=format\u0026n=gpJCGMHYx471xVvQ\u0026q=85\u0026s=d794c1e1d1a29b9ff2edcea67add2c28 1650w, https://mintcdn.com/corgea/gpJCGMHYx471xVvQ/images/blocking_rule_create_ci_reachability.png?w=2500\u0026fit=max\u0026auto=format\u0026n=gpJCGMHYx471xVvQ\u0026q=85\u0026s=c680e20859aaba7e1ccca3e8b8d632f5 2500w`})}),`\n`,_jsx(_components.p,{children:`Wählen Sie einen oder mehrere der folgenden Zustände:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Zustand`}),_jsx(_components.th,{children:`Bedeutung`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Reachable`})}),_jsx(_components.td,{children:`Die anfällige Funktion ist aus Ihrem Anwendungscode erreichbar.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Not Reachable`})}),_jsx(_components.td,{children:`Die Abhängigkeit wird verwendet, die anfällige Funktion ist jedoch nicht erreichbar.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Unused Dependency`})}),_jsx(_components.td,{children:`Die Abhängigkeit ist deklariert, wird aber nirgends im Code verwendet.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Unknown`})}),_jsx(_components.td,{children:`Die Abhängigkeit wurde analysiert, die Erreichbarkeit konnte jedoch nicht bestimmt werden.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Der Erreichbarkeitsfilter wird `,_jsx(_components.strong,{children:`mit`}),` dem Schweregrad-, CVSS- oder Malicious-Filter `,_jsx(_components.strong,{children:`kombiniert`}),` und ersetzt ihn nicht: Ein Fund muss beide Bedingungen erfüllen. Eine Regel mit Schweregrad Critical und Reachable blockiert nur kritische Schwachstellen, die zugleich erreichbar sind. Bleibt die Erreichbarkeit leer, behält die Regel ihr bisheriges Verhalten und blockiert unabhängig von der Erreichbarkeit.`]}),`\n`,_jsx(Heading,{level:`3`,id:`warten-auf-die-analyse`,children:`Warten auf die Analyse`}),`\n`,_jsxs(_components.p,{children:[`Die Erreichbarkeitsanalyse läuft nach Abschluss des eigentlichen Scans. `,_jsx(_components.code,{children:`corgea scan`}),` fragt daher weiter ab, bis sie beendet ist, statt sofort ein Ergebnis zu melden. Die Analyse ist abgeschlossen, sobald alle direkten Abhängigkeiten analysiert sind — üblicherweise nach wenigen Minuten und spätestens nach 30.`]}),`\n`,_jsxs(_components.p,{children:[`Dieser Filter schlägt `,_jsx(_components.strong,{children:`zugunsten des Builds`}),` fehl. Kann die Analyse nicht abgeschlossen werden — das 30-Minuten-Fenster läuft ab, die Analyse schlägt fehl oder AI-Native SCA ist deaktiviert —, meldet die Regel keinen Verstoß, statt Ihren Build fehlschlagen zu lassen. Eine Pipeline wird nur aufgrund einer von Corgea tatsächlich bestimmten Erreichbarkeit blockiert, niemals aufgrund einer fehlenden Analyse.`]}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`corgea scan`}),` schlägt bei Ablauf der eigenen Frist restriktiv fehl. Corgea CLI 1.13.0 und höher erlauben 35 Minuten und überdauern damit das 30-Minuten-Analysefenster deutlich. Bei einer älteren CLI beträgt die Frist 15 Minuten und kann ablaufen, während Corgea noch analysiert, was die Pipeline fehlschlagen lässt. Aktualisieren Sie die CLI oder erhöhen Sie die Frist mit `,_jsx(_components.code,{children:`CORGEA_BLOCKING_RULES_TIMEOUT_SECONDS`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`CORGEA_BLOCKING_RULES_TIMEOUT_SECONDS`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`2100`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` corgea`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` scan`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --block-on`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` reachable-criticals`})]}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`beispiele`,children:`Beispiele`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Unsichere Kryptografie blockieren`,icon:`lock`,id:`unsichere-kryptografie-blockieren`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Regeltyp:`}),` Code Vulnerability`]}),_jsx(_components.p,{children:`Erstellen Sie eine Regel, die auf CWE-326 (Inadequate Encryption Strength) und CWE-327 (Use of a Broken or Risky Cryptographic Algorithm) mit der Dringlichkeit “Critical” abzielt, um die Verwendung schwacher Verschlüsselung zu verhindern.`})]}),_jsxs(Accordion,{title:`Code Quality durchsetzen`,icon:`code`,id:`code-quality-durchsetzen`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Regeltyp:`}),` Code Vulnerability`]}),_jsxs(_components.p,{children:[`Wählen Sie `,_jsx(_components.strong,{children:`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.`]})]}),_jsxs(Accordion,{title:`Kritische Abhängigkeitslücken blockieren`,icon:`box`,id:`kritische-abhaengigkeitsluecken-blockieren`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Regeltyp:`}),` Dependency Vulnerability`]}),_jsx(_components.p,{children:`Erstellen 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.`})]}),_jsxs(Accordion,{title:`Abhängigkeiten nach CVSS-Bereich blockieren`,icon:`gauge`,id:`abhaengigkeiten-nach-cvss-bereich-blockieren`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Regeltyp:`}),` Dependency Vulnerability`]}),_jsx(_components.p,{children:`Erstellen 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.`})]}),_jsxs(Accordion,{title:`Nur erreichbare kritische Schwachstellen blockieren`,icon:`diagram-project`,id:`nur-erreichbare-kritische-schwachstellen-blockieren`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Regeltyp:`}),` Dependency Vulnerability — `,_jsx(_components.strong,{children:`Gilt für:`}),` CI`]}),_jsxs(_components.p,{children:[`Wählen Sie die Dringlichkeitsstufen „Critical“ und „High“ und anschließend `,_jsx(_components.strong,{children:`Reachable`}),` unter Erreichbarkeit. Die Regel lässt eine Pipeline nur dann fehlschlagen, wenn eine kritische oder hohe Schwachstelle aus Ihrem Anwendungscode erreichbar ist, sodass unbenutzte und nicht erreichbare Pakete Entwickler nicht aufhalten. Das ist eine gute erste Erreichbarkeitsregel, weil sie eine bestehende Schweregradregel einschränkt, anstatt den Umfang des Blockierens zu erweitern.`]})]}),_jsxs(Accordion,{title:`Unbenutzte Abhängigkeiten blockieren`,icon:`broom`,id:`unbenutzte-abhaengigkeiten-blockieren`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Regeltyp:`}),` Dependency Vulnerability — `,_jsx(_components.strong,{children:`Gilt für:`}),` CI`]}),_jsxs(_components.p,{children:[`Wählen Sie `,_jsx(_components.strong,{children:`Unused Dependency`}),` unter Erreichbarkeit allein, ohne Schweregrad- oder CVSS-Filter. Die Regel lässt eine Pipeline fehlschlagen, die anfällige Pakete einführt, die im Code nirgends verwendet werden, und veranlasst Entwickler, die Abhängigkeit zu entfernen statt zu aktualisieren.`]})]}),_jsxs(Accordion,{title:`Copyleft-Abhängigkeiten blockieren`,icon:`file-contract`,id:`copyleft-abhaengigkeiten-blockieren`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Regeltyp:`}),` License Compliance`]}),_jsxs(_components.p,{children:[`Wählen Sie die Familie `,_jsx(_components.strong,{children:`Copyleft`}),`, um Abhängigkeiten zu blockieren, deren gemeldete Lizenzen zu dieser Familie gehören. Fügen Sie bestimmte SPDX-IDs hinzu, wenn Ihre Richtlinie eine engere Ablehnungsliste benötigt.`]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`best-practices`,children:`Best Practices`}),`\n`,_jsx(Card,{title:`Implementierungstipps`,icon:`lightbulb`,children:_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Beginnen Sie mit den wesentlichen Regeln und erweitern Sie sie schrittweise`}),`\n`,_jsxs(_components.li,{children:[`Beginnen Sie bei `,_jsx(_components.strong,{children:`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`]}),`\n`,_jsxs(_components.li,{children:[`Ergänzen Sie bei `,_jsx(_components.strong,{children:`CI-Regeln`}),` eine bestehende Schweregradregel um den Erreichbarkeitsfilter `,_jsx(_components.strong,{children:`Reachable`}),`, um Rauschen zu reduzieren, ohne die Abdeckung der tatsächlich ausnutzbaren Schwachstellen zu schwächen`]}),`\n`,_jsxs(_components.li,{children:[`Konzentrieren Sie sich bei `,_jsx(_components.strong,{children:`Code Vulnerability Rules`}),` zunächst auf die folgenreichsten CWEs (z. B. Injection- und Authentifizierungsfehler)`]}),`\n`,_jsx(_components.li,{children:`Regelmäßige Überprüfung und Aktualisierungen`}),`\n`,_jsx(_components.li,{children:`Klare Dokumentation und Schulung des Teams`}),`\n`,_jsx(_components.li,{children:`Feedback und Zusammenarbeit fördern`}),`\n`,_jsx(_components.li,{children:`Strategische Nutzung von Dringlichkeitsstufen`}),`\n`,_jsx(_components.li,{children:`Berücksichtigen Sie Projekttags, wenn dieselbe Regel eine Gruppe verwandter Projekte abdecken soll`}),`\n`]})}),`\n`,_jsx(Heading,{level:`2`,id:`fehlerbehebung`,children:`Fehlerbehebung`}),`\n`,_jsx(Warning,{children:`Wenn ein Pull Request unerwartet blockiert ist, überprüfen Sie zuerst die aktiven Regeln und deren Konfigurationen.`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Häufige Probleme`,icon:`bug`,id:`haeufige-probleme`,children:_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Unerwartetes Blockierverhalten`}),`\n`,_jsx(_components.li,{children:`Fehlerhafte Zieldefinition der Regel`}),`\n`,_jsx(_components.li,{children:`Probleme mit dem Projekt-Scope`}),`\n`]})}),_jsx(Accordion,{title:`Schritte zur Behebung`,icon:`wrench`,id:`schritte-zur-behebung`,children:_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Überprüfen Sie die Regelkonfigurationen`}),`\n`,_jsx(_components.li,{children:`CWE-Zielsetzung überprüfen`}),`\n`,_jsx(_components.li,{children:`Projekteinstellungen bestätigen`}),`\n`,_jsx(_components.li,{children:`Bei Bedarf den Support kontaktieren`}),`\n`]})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Blocking Rules","description":"Blocking Rules setzen Sicherheits- und Qualitätsstandards in Pull Requests oder CI-Pipelines durch.","href":"/de/blocking_rules"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Übersicht","slug":"übersicht","depth":2,"children":[{"title":"Funktionsweise","slug":"funktionsweise","depth":3,"children":[]},{"title":"Zielgruppe","slug":"zielgruppe","depth":3,"children":[]}]},{"title":"Hauptmerkmale und Vorteile","slug":"hauptmerkmale-und-vorteile","depth":2,"children":[]},{"title":"Regeltypen","slug":"rule-types","depth":2,"children":[]},{"title":"So funktioniert es mit GitHub","slug":"so-funktioniert-es-mit-github","depth":2,"children":[]},{"title":"So funktioniert es mit Azure DevOps","slug":"so-funktioniert-es-mit-azure-devops","depth":2,"children":[]},{"title":"Bedienungsanleitung","slug":"bedienungsanleitung","depth":2,"children":[{"title":"Neue Blocking Rule erstellen","slug":"neue-blocking-rule-erstellen","depth":3,"children":[]},{"title":"Vorhandene Regeln verwalten","slug":"vorhandene-regeln-verwalten","depth":3,"children":[]},{"title":"Regeln in CI durchsetzen","slug":"regeln-in-ci-durchsetzen","depth":3,"children":[]},{"title":"Regeln bei Scans anzeigen","slug":"regeln-bei-scans-anzeigen","depth":3,"children":[]}]},{"title":"Filtern nach Erreichbarkeit","slug":"reachability","depth":2,"children":[{"title":"Warten auf die Analyse","slug":"warten-auf-die-analyse","depth":3,"children":[]}]},{"title":"Beispiele","slug":"beispiele","depth":2,"children":[]},{"title":"Best Practices","slug":"best-practices","depth":2,"children":[]},{"title":"Fehlerbehebung","slug":"fehlerbehebung","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"corgea","siteName":"Corgea Documentation","title":"Blocking Rules - Corgea Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/blocking_rules","matchLevel":1},"de":{"href":"/de/blocking_rules","matchLevel":0},"fr":{"href":"/fr/blocking_rules","matchLevel":1},"es":{"href":"/es/blocking_rules","matchLevel":1},"ja":{"href":"/ja/blocking_rules","matchLevel":1}}},"lastModified":"2026-09-07T17:47:50.714Z","originalFileLocation":"de/blocking_rules.mdx","locale":"de"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Blocking Rules setzen Sicherheits- und Qualitätsstandards in Pull Requests oder CI-Pipelines durch.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Corgea Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/corgea/S1IZmkPVVuf-3VMn/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/corgea/S1IZmkPVVuf-3VMn/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/corgea/S1IZmkPVVuf-3VMn/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/corgea/S1IZmkPVVuf-3VMn/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/corgea/S1IZmkPVVuf-3VMn/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/corgea/S1IZmkPVVuf-3VMn/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/corgea/S1IZmkPVVuf-3VMn/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/corgea/S1IZmkPVVuf-3VMn/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/corgea/S1IZmkPVVuf-3VMn/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Blocking Rules - Corgea Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Blocking Rules setzen Sicherheits- und Qualitätsstandards in Pull Requests oder CI-Pipelines durch.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Corgea Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.corgea.app/de/blocking_rules\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://corgea.mintlify.app/_mintlify/api/og/v2?division=Richtlinienverwaltung\u0026amp;title=Blocking+Rules\u0026amp;description=Blocking+Rules+setzen+Sicherheits-+und+Qualit%C3%A4tsstandards+in+Pull+Requests+oder+CI-Pipelines+durch.\u0026amp;theme=2deb6b7fd8ec87b21784abb2\u0026amp;signature=1ad990316b5c65ed8a7ae3437b40024e05fbc3df8a94f2f274fb2a696e9be758\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Blocking Rules - Corgea Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Blocking Rules setzen Sicherheits- und Qualitätsstandards in Pull Requests oder CI-Pipelines durch.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://corgea.mintlify.app/_mintlify/api/og/v2?division=Richtlinienverwaltung\u0026amp;title=Blocking+Rules\u0026amp;description=Blocking+Rules+setzen+Sicherheits-+und+Qualit%C3%A4tsstandards+in+Pull+Requests+oder+CI-Pipelines+durch.\u0026amp;theme=2deb6b7fd8ec87b21784abb2\u0026amp;signature=1ad990316b5c65ed8a7ae3437b40024e05fbc3df8a94f2f274fb2a696e9be758\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/corgea/S1IZmkPVVuf-3VMn/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Corgea Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F56C26\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.corgea.app/de/blocking_rules\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/de/blocking_rules.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.corgea.app/de/blocking_rules\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.corgea.app/blocking_rules\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.corgea.app/fr/blocking_rules\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.corgea.app/es/blocking_rules\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.corgea.app/ja/blocking_rules\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.corgea.app/blocking_rules\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.corgea.app/#organization\",\"name\":\"Corgea Documentation\",\"url\":\"https://docs.corgea.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/corgea/mpJUc1GyXtnVYEyT/logo/logo.png?fit=max\u0026auto=format\u0026n=mpJUc1GyXtnVYEyT\u0026q=85\u0026s=f66a9484335ac4db5d5d92e12fd87af6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.corgea.app#website\",\"name\":\"Corgea Documentation\",\"url\":\"https://docs.corgea.app\",\"publisher\":{\"@id\":\"https://docs.corgea.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.corgea.app/de/blocking_rules#webpage\",\"url\":\"https://docs.corgea.app/de/blocking_rules\",\"name\":\"Blocking Rules\",\"description\":\"Blocking Rules setzen Sicherheits- und Qualitätsstandards in Pull Requests oder CI-Pipelines durch.\",\"dateModified\":\"2026-09-07T17:47:50.714Z\",\"isPartOf\":{\"@id\":\"https://docs.corgea.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.corgea.app/de/blocking_rules#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.corgea.app/de/blocking_rules#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Kernfunktionen\",\"item\":\"https://docs.corgea.app/de/agent\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Richtlinienverwaltung\",\"item\":\"https://docs.corgea.app/de/policies\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Blocking Rules\",\"item\":\"https://docs.corgea.app/de/blocking_rules\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.corgea.app/de/blocking_rules#article\",\"headline\":\"Blocking Rules\",\"name\":\"Blocking Rules\",\"description\":\"Blocking Rules setzen Sicherheits- und Qualitätsstandards in Pull Requests oder CI-Pipelines durch.\",\"url\":\"https://docs.corgea.app/de/blocking_rules\",\"mainEntityOfPage\":{\"@id\":\"https://docs.corgea.app/de/blocking_rules#webpage\"},\"dateModified\":\"2026-09-07T17:47:50.714Z\",\"publisher\":{\"@id\":\"https://docs.corgea.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.corgea.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Corgea Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Corgea Documentation","nav":{"global":null,"languages":[{"language":"en","default":true,"navbar":{"links":[{"href":"mailto:help@corgea.com","label":"Support"}],"primary":{"type":"button","label":"Go to Corgea","href":"https://www.corgea.app"}},"pages":[{"title":"en","href":"/blocking_rules"}]},{"language":"de","navbar":{"links":[{"href":"mailto:help@corgea.com","label":"Support"}],"primary":{"type":"button","label":"Zu Corgea","href":"https://www.corgea.app"}},"anchors":[{"anchor":"Dokumentation","icon":"book-open","groups":[{"group":"Erste Schritte","pages":[{"title":"Corgea-Dokumentation","sidebarTitle":"Einführung","mode":"wide","href":"/de/introduction"},{"title":"Quickstart","href":"/de/quickstart"},{"title":"Einstellungen","href":"/de/settings"}]},{"group":"Kernfunktionen","pages":[{"title":"Corgea Agent","href":"/de/agent"},{"title":"Security Design Reviews","href":"/de/security-review"},{"title":"Code Quality","href":"/de/code-quality-scanner"},{"title":"Pentesting","href":"/de/pentesting"},{"group":"Sicherheitsscans","pages":[{"title":"AI-native SAST","href":"/de/blast"},{"title":"Secret-Scanning","href":"/de/secret-scanning"},{"title":"Dependency-Scanning (SCA)","href":"/de/sca"},{"title":"Container-Image-Scanning","href":"/de/container-scanning"},{"title":"Erkennung bösartiger Pakete","href":"/de/malware-scanning"},{"title":"PII/PHI-Scanning","href":"/de/pii"},{"title":"Infrastructure as Code (IaC) Scanning","href":"/de/iac"},{"title":"Scans hochladen","href":"/de/upload-report"},{"title":"Scheduled Scans","href":"/de/scheduled-scans"},{"title":"Issue-Fingerprinting","href":"/de/fingerprint"}]},{"group":"Issue-Management","pages":[{"title":"Vulnerabilities Workbench","href":"/de/vulnerabilities"},{"title":"Fixes anwenden","href":"/de/fixes"},{"title":"False Positive-Erkennung","href":"/de/false_positive"},{"title":"Issue-Zuweisung und Statusverwaltung","href":"/de/issue_assignment"},{"title":"Triage-Begründungen","href":"/de/triage_justifications"},{"title":"Issue-Export","href":"/de/issue_export"},{"title":"Projektmanagement","href":"/de/project"}]},{"group":"Richtlinienverwaltung","pages":[{"title":"PolicyIQ","href":"/de/policies"},{"title":"SLA Management","description":"Service Level Agreements (SLAs) für Security-Issues konfigurieren und verwalten","href":"/de/sla_management"},{"title":"Blocking Rules","href":"/de/blocking_rules"}]},{"group":"Benutzer \u0026 Gruppen","pages":[{"title":"User Management","description":"Benutzer in Corgea verwalten","href":"/de/user_management"},{"title":"Rollen","href":"/de/permission_groups"},{"title":"Teams","href":"/de/teams"},{"title":"Content Access Management","href":"/de/content-access-management"},{"title":"Benachrichtigungen","href":"/de/notifications"}]},{"title":"Reporting","href":"/de/reporting"}]},{"group":"Integrationen","pages":[{"group":"IDEs","pages":[{"title":"Visual Studio Code und Cursor","sidebarTitle":"VS Code und Cursor","href":"/de/vsc_extension"},{"title":"Visual Studio 2022","href":"/de/vs2022_extension"},{"title":"JetBrains-IDEs","href":"/de/jetbrains_extension"}]},{"group":"Versionsverwaltung","pages":[{"title":"GitHub","href":"/de/github"},{"title":"GitLab","href":"/de/gitlab"},{"title":"Azure DevOps","href":"/de/azure_devops"},{"title":"Bitbucket","href":"/de/bitbucket"},{"title":"Harness","href":"/de/harness"}]},{"group":"Automatisierung","pages":[{"title":"JIRA","href":"/de/jira"},{"title":"Linear","href":"/de/linear"},{"title":"Slack","href":"/de/slack"},{"title":"Zapier","href":"/de/zapier"},{"title":"Webhooks","href":"/de/webhooks"}]},{"title":"Private Package-Registries","href":"/de/private-package-registries"},{"title":"Agentenbasierte Integrationen","href":"/de/agentic_integrations"}]},{"group":"Werkzeuge \u0026 Hilfsprogramme","pages":[{"group":"CLI","pages":[{"title":"CLI","href":"/de/cli"},{"title":"Abhängigkeits-Scanning (CLI)","href":"/de/cli/deps"}]},{"title":"Model Context Protocol (MCP)","href":"/de/modelcontextprotocol"}]},{"group":"Versionshinweise","pages":[{"title":"Changelog","href":"/de/changelog"}]},{"group":"Vertrauen \u0026 Compliance","pages":[{"title":"Security","href":"/de/security"}]},{"group":"Authentifizierung","pages":[{"title":"SSO","href":"/de/sso"},{"title":"JWT-Authentifizierung","href":"/de/jwt-token"}]}]},{"anchor":"Systemstatus","icon":"check","href":"https://status.corgea.app/"},{"anchor":"Blog","icon":"newspaper","href":"https://corgea.com/blog"},{"anchor":"API-Referenz","icon":"square-terminal","pages":[{"title":"API-Referenz","href":"/de/api-reference/introduction"}]}]},{"language":"fr","navbar":{"links":[{"href":"mailto:help@corgea.com","label":"Assistance"}],"primary":{"type":"button","label":"Accéder à Corgea","href":"https://www.corgea.app"}},"pages":[{"title":"fr","href":"/fr/blocking_rules"}]},{"language":"es","navbar":{"links":[{"href":"mailto:help@corgea.com","label":"Soporte"}],"primary":{"type":"button","label":"Ir a Corgea","href":"https://www.corgea.app"}},"pages":[{"title":"es","href":"/es/blocking_rules"}]},{"language":"ja","navbar":{"links":[{"href":"mailto:help@corgea.com","label":"サポート"}],"primary":{"type":"button","label":"Corgeaを開く","href":"https://www.corgea.app"}},"pages":[{"title":"ja","href":"/ja/blocking_rules"}]}]},"title":"Blocking Rules - Corgea Documentation","buildId":"dpl_5UDDZ9hnigTkoV7QtvQ39eUp84nu","deploymentId":"dpl_5UDDZ9hnigTkoV7QtvQ39eUp84nu","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-CUTvSGqu.js","DynamicMarkdown-BGu84FgU.js","zoom-image-lightbox-ChyC7Hte.js","PlusIcon-DXkY3IBj.js","lightbox-handle-r17bVUz3.js"]}