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

# 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

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-DatenMaximalwerteAnzeigegrenzwerte
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.

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.