Skip to main content

Überschreiten mindestens eines Grenzwerts durch SARIF-Ergebnisse

Hier erfährst du, wie du Probleme behebst, wenn eine SARIF-Datei von code scanning abgelehnt wird, weil mindestens ein Grenzwert überschritten wird.

Informationen zu code scanning-Grenzwerten für SARIF-Ergebnisse

# SARIF results exceed soft limits
  Locations for an alert exceeded limits
  Analysis SARIF file exceeded alert limits
  Rule tags in SARIF file exceed limits
  Alert in SARIF upload exceeded thread flow location limits
  Repository is at risk of exceeding the alert limit.

# SARIF results exceed hard limit
  Alert(s) in SARIF file exceeded thread flow location limits
  Analysis SARIF file rejected due to extension limits
  Analysis SARIF file rejected due to location limit
  Analysis SARIF file rejected due to rule tag limits
  Analysis SARIF file rejected due to result limits
  Analysis SARIF file rejected due to rule limits
  Analysis SARIF file rejected due to run limits
  All analysis uploads blocked due to alert limit

Code scanning legt zwei Arten von Grenzwerten für Felder in SARIF-Ergebnisdateien fest.

  • Weiche Grenzwerte, die bestimmen, wie viele Daten gespeichert und Benutzer*innen angezeigt werden
  • Harte Grenzwerte, die die maximale Menge an Daten bestimmen, die für die Verarbeitung akzeptiert werden

Diese Fehler werden möglicherweise für SARIF-Dateien angezeigt, die von CodeQL oder von Drittanbieter-Analysetools generiert wurden.

SARIF-DatenMaximalwerteGrenzwerte zum Abschneiden von Daten
Ausführungen pro Datei20Keine
Ergebnisse pro Ausführung25,000Es werden nur die ersten 5.000 Ergebnisse (nach Schweregrad priorisiert) berücksichtigt.
Regeln pro Ausführung25,000Keine
Toolerweiterungen pro Ausführung100Keine
Threadfluss-Speicherorte pro Ergebnis10.000Es werden nur die ersten 1.000 Threadfluss-Speicherorte anhand ihrer Priorisierung berücksichtigt.
Speicherorte pro Ergebnis1.000Es werden nur 100 Speicherorte berücksichtigt.
Tags pro Regel20Es werden nur 10 Tags berücksichtigt.
Warnungsgrenzwert1.000.000Keine

Informationen zum Überprüfen deiner SARIF-Datei findest du unter SARIF-Unterstützung für die Codeüberprüfung.

Beheben von Fehlern bei weichen Grenzwerten

Wenn weiche Grenzwerte überschritten werden, zeigt code scanning die Informationen mit der höchsten Priorität an. Häufig musst du keine Änderungen an deiner code scanning-Konfiguration vornehmen. Wenn dein Team Warnungen behebt, verringert sich die Anzahl der in jeder Ausführung gemeldeten Ergebnisse, bis sie innerhalb der weichen Grenzwerte liegen und alle Ergebnisse angezeigt werden. Alternativ dazu kannst du die beschriebenen Vorgehensweisen für Fehler bei harten Grenzwerten anwenden.

Korrigieren des Fehlers „SARIF-Analysedatei aufgrund von Ergebnislimits abgelehnt“

Es gibt viele Aspekte und mögliche Lösungen bei der Überlegung, wie sich die Anzahl der in einer SARIF-Ergebnisdatei enthaltenen Ergebnisse reduzieren lässt. Informationen dazu findest du unter SARIF-Ergebnisdatei zu groß.

Korrigieren des Fehlers „Warnungen in SARIF-Datei haben Grenzwerte im Threadflow überschritten“

Du kannst die Analyse so konfigurieren, dass die Anzahl der in den Ergebnissen enthaltenen Dataflowpfade begrenzt wird. Standardmäßig sind vier Dataflowpfade für jedes Ergebnis enthalten.

  • Erweitertes CodeQL-Setup für code scanning: Aktualisiere den analyze-Schritt, um die Anzahl der Pfade auf maximal 1 oder 0 zu begrenzen.

    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v3
      env: 
        CODEQL_ACTION_EXTRA_OPTIONS: '{"database":{"interpret-results":["--max-paths", 1]}}'
    
  • CodeQL CLI: database analyze: Aktualisiere den Datenbankanalysebefehl, und schließe das Flag --max-paths=1 ein. Weitere Informationen findest du unter database analyze.

Hinweis: Die Einstellung max-paths wirkt sich auf die Ergebnisse aller Dataflowabfragen aus.

Korrigieren des Fehlers „SARIF-Analysedatei aufgrund von Ausführungsgrenzwerten abgelehnt“

Der einfachste Ansatz besteht darin, für jede Ausführung eine neue SARIF-Datei zu generieren und jede Datei separat hochzuladen. Zu diesem Zweck fügst du jedem Ergebnis eine „Kategorie“ hinzu. Dadurch kann code scanning die Ergebnisse entsprechend speichern und anzeigen. Weitere Informationen findest du unter SARIF-Unterstützung für die Codeüberprüfung.

Korrigieren des Fehlers „SARIF-Analysedatei aufgrund von Regelgrenzwerten abgelehnt“

Hier gibt es zwei mögliche Ansätze.

  1. Reduziere die Anzahl der Regeln, die du zum Analysieren des Codes verwendest. Weitere Informationen findest du unter Definieren der auszuführenden Abfragesammlung und Ausschließen einer Abfrage aus der Analyse in „SARIF-Ergebnisdatei zu groß“.
  2. Führe die Analyse zweimal aus, und verwende jedes Mal einen anderen Regelsatz. Dann lädst du beide Ergebnisdateien in code scanning hoch. Weitere Informationen findest du unter SARIF-Unterstützung für die Codeüberprüfung.

Korrigieren des Fehlers „SARIF-Analysedatei aufgrund von Erweiterungsgrenzwerten abgelehnt“

Die einfachste Vorgehensweise besteht darin, bei jeder Ausführung des Tools eine separate SARIF-Datei zu erstellen und jede Datei separat hochzuladen. Möglicherweise musst du dich auch die Person wenden, die das Tool betreut. Weitere Informationen findest du unter SARIF-Unterstützung für die Codeüberprüfung.

Eine CodeQL-Analyse sollte diesen Fehler nicht generieren. Wenn dieser Fehler beim Verwenden der Aktion CodeQL oder der CodeQL CLI angezeigt wird, solltest du sich an den GitHub-Support wenden, um uns darüber zu informieren. Weitere Informationen findest du unter Kontaktieren des GitHub-Supports.

Korrigieren des Fehlers „SARIF-Analysedatei aufgrund von Speicherortgrenzwerten abgelehnt“

Dieses Problem lässt sich in der Regel am besten damit beheben, dass die Abfrage identifiziert wird, die zu viele Speicherorte meldet, und diese aus der Analyse ausgeschlossen wird. Informationen dazu findest du unter SARIF-Ergebnisdatei zu groß.

Korrigieren des Fehlers „SARIF-Analysedatei aufgrund von Grenzwerten bei Regeltags abgelehnt“

Du musst die SARIF-Datei oder den Generator aktualisieren, sodass das Array aus Tags, die für jedes reportingDescriptor-Objekt gemeldet werden, kleiner als 10 ist. Weitere Informationen findest du unter properties.tags[] in SARIF-Unterstützung für die Codeüberprüfung.

Beheben des Problems „Repository droht, den Warnungsgrenzwert zu überschreiten“ und „Alle Analyse-Uploads aufgrund des Warnungsgrenzwerts blockiert“

Dieser Grenzwert wird durch ein Repository ausgelöst, das mehr einzelne Warnungen erzeugt, als es im Rahmen einer gut funktionierenden code scanning-Konfiguration jemals geben sollte. Das kann möglicherweise auf die Ausgabe eines Drittanbietertools zurückzuführen sein und ist nicht unbedingt ein Konfigurationsfehler seitens des Benutzers. Sowohl ein Konfigurationsfehler seitens des Benutzers als auch ein Fehler des Toolanbieters sind mögliche Ursachen.

Es gibt einige Schritte zum Beheben dieses Problems.

  1. Sehen Sie sich die von Ihnen erzeugten SARIF-Dateien an, um festzustellen, was die Ursache dafür ist, dass code scanning-Warnungen bei den Ausführungen eines Tools als unterschiedlich eingestuft werden. Das ist normalerweise auf einen der folgenden Faktoren zurückzuführen:
    • Die SARIF-Eigenschaft artifactLocation.uri (Dateipfad in der code scanning-Benutzeroberfläche für Warnungen) ist aufgrund der Einbeziehung temporärer Verzeichnisse oder generierter Dateinamen nicht deterministisch.
    • Das verwendete Tool erzeugt instabile SARIF-Regelnamen oder artifactLocation object uri property-Werte, was in der Regel auf die Verwendung von Hashes (z. B. von Git-Commits oder Docker-Image-SHAs) oder anderen Datenquellen zurückzuführen, die sich in verschiedenen Ausführungen oder Umgebungen ändern.
  2. Wenn Sie die Quelle des Problems ermittelt haben, sollten Sie Ihre Konfiguration entsprechend aktualisieren und sich an den Toolanbieter wenden, wenn das Tool die Quelle der instabilen SARIF-Ergebnisse ist.
  3. Beenden Sie das Hochladen von Codeüberprüfungsergebnissen für die Drittanbietertools, die eine nicht-deterministische Ausgabe erzeugen, bis das Problem vom Toolanbieter behoben wurde.

Zusätzliche Schritte für „Alle Analyse-Uploads aufgrund des Warnungsgrenzwerts blockiert“

Zusätzlich zum Beheben der Codeüberprüfungskonfiguration und zum Entfernen oder Beheben der Ausgabe von Drittanbietertools müssen Sie sich zwecks Unterstützung beim Löschen der Warnungen für die betreffenden Konfigurationen an uns über das GitHub-Support-Portal wenden.

Es gibt derzeit keine Self-Service-Methode zum Löschen von Warnungen, weshalb Sie sich unbedingt an den Kundensupport wenden müssen, bevor die Codeüberprüfung erneut aktiviert werden kann.