CodeGuard

Glossar

Alle Begriffe rund um CodeGuard, alphabetisch sortiert.

Glossar

Begriffe die im Wiki, in der CLI-Ausgabe oder im Portal auftauchen, kurz erklärt.

API-Key

Ein langer, geheimer String den du im Portal unter API Keys erzeugst und in eurer CI als Secret hinterlegst. Authentifiziert die GitHub Action gegen den Portal-Download-Endpoint. Mehr unter API-Keys verwalten.

Cgr-Datei

Die Dateiendung für CodeGuard-Regeln. Eine .cgr-Datei enthält Metadaten (@name, @severity, ...) und eine LINQ-Query gegen das Schema. Siehe Datei-Struktur.

Channel

Release-Channel der CodeGuard-Distributionen: Stable für geprüfte Releases und Edge für frühe Vorab-Versionen.

CLI

Die Standalone-Kommandozeilen-Variante von CodeGuard. Liegt als selbst-enthaltenes Binary für Windows, Linux und macOS vor, läuft ohne installiertes .NET-Runtime.

CodeGuard-DSL

Die kleine LINQ-ähnliche Sprache in der eigene Regeln geschrieben werden. Siehe DSL-Referenz.

Determinismus

CodeGuard-Eigenschaft: gleicher Source-Code und gleiche Regelmenge ergeben jedes Mal exakt die gleichen Findings, unabhängig von Rechner, Tageszeit oder Systemlast. Siehe Determinismus und Caching.

Finding

Ein konkreter Verstoß gegen eine Regel an einer konkreten Stelle im Code. Hat eine Severity (info, warn, error), einen Dateipfad, eine Zeilennummer und einen Link zur Regel-Beschreibung.

GitHub Action

Die offizielle CI-Integration bochmann-software/codeguard@v1. Wraps die CLI, holt sie aus dem Portal mit eurem API-Key, läuft die Analyse und veröffentlicht Findings als PR-Annotations.

Rule-Pack

Eine Gruppe verwandter Regeln, ausgeliefert als Verzeichnis von .cgr-Dateien. CodeGuard kommt mit eingebauten Packs (ASP.NET, Async, Naming, ...). Eigene Packs könnt ihr beliebig dazu schreiben.

SARIF

Static Analysis Results Interchange Format, JSON-basierter Standard für Code-Analyse-Tools. CodeGuard kann SARIF v2.1 ausgeben, wird von GitHub Code Scanning und GitLab SAST nativ konsumiert.

Selector

Der erste Teil einer Regel-Query, der bestimmt welche Code-Elemente geprüft werden: from t in Types, from m in Methods und so weiter.

Severity

Schweregrad eines Findings. CodeGuard kennt drei Stufen:

  • info. Hinweis, blockiert nichts
  • warn. Warnung, blockiert per Default nicht
  • error. Fehler, blockiert den Build je nach Konfiguration

Subscription

Die kommerzielle Lizenz die ihr für CodeGuard habt. Steuert ob ihr Downloads aus dem Portal pullen dürft. Trial, Team Small, Team, Team Plus oder Enterprise. Siehe Plan-Übersicht.

Suppression

Eine bewusste Ausnahme zu einer Regel an einer konkreten Stelle. Kann inline per Kommentar oder zentral in einer Konfigdatei stehen. Mehr unter Suppressions.

SyntaxIssue

Ein vom Analyzer vorbereiteter, semantisch erkannter Code-Befund, etwa "DateTime.Now wurde direkt aufgerufen". Die DSL kann auf diese Befunde zugreifen über SyntaxIssues.Where(s => s.Kind == "...").

TimeProvider

Ab .NET 8 die offizielle Abstraktion über die Systemuhr. CodeGuard empfiehlt sie statt direkter DateTime.Now-Aufrufe, und prüft es mit einer eingebauten Regel.

Trial

Der 7-tägige kostenlose Vollzugriff den jeder neue Account beim Registrieren bekommt. Siehe Registrierung und Trial.

VSIX

Die VS-Code-Extension-Datei. Wird über das Portal als Download angeboten und installiert die CodeGuard-Extension im Editor.

Waiver

Synonym zu Suppression, wir nutzen beides austauschbar.