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-Daten | Maximalwerte | Grenzwerte zum Abschneiden von Daten |
---|---|---|
Ausführungen pro Datei | 20 | Keine |
Ergebnisse pro Ausführung | 25,000 | Es werden nur die ersten 5.000 Ergebnisse (nach Schweregrad priorisiert) berücksichtigt. |
Regeln pro Ausführung | 25,000 | Keine |
Toolerweiterungen pro Ausführung | 100 | Keine |
Threadfluss-Speicherorte pro Ergebnis | 10.000 | Es werden nur die ersten 1.000 Threadfluss-Speicherorte anhand ihrer Priorisierung berücksichtigt. |
Speicherorte pro Ergebnis | 1.000 | Es werden nur 100 Speicherorte berücksichtigt. |
Tags pro Regel | 20 | Es werden nur 10 Tags berücksichtigt. |
Warnungsgrenzwert | 1.000.000 | Keine |
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. Anleitungen 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@v2 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.
Note
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 finden Sie 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.
- 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ß“.
- 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 finden Sie 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 finden Sie 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 finden Sie 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 im Abschnitt zu properties.tags[]
unter 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.
- 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.
- Die SARIF-Eigenschaft
- 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.
- 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 Ihrer Websiteadministratoren wenden.
Es gibt derzeit keine Self-Service-Methode zum Löschen von Warnungen, weshalb du dich unbedingt an den Kundensupport wenden musst, bevor die Codeüberprüfung erneut aktiviert werden kann.