Skip to main content

Java- und Kotlin-Abfragen zur CodeQL-Analyse

Erkunden Sie die Abfragen, die CodeQL zum Analysieren von Code verwendet, der in Java oder Kotlin geschrieben wurde, wenn Sie die Abfragesammlung default oder security-extended auswählen.

Wer kann dieses Feature verwenden?

Code scanning ist für alle öffentlichen Repositorys auf GitHub.com verfügbar. Zur Verwendung von code scanning in einem privaten organisationseigenen Repository musst du über eine Lizenz für GitHub Advanced Security verfügen. Weitere Informationen findest du unter Informationen zu GitHub Advanced Security.

CodeQL enthält viele Abfragen zum Analysieren von Java- oder Kotlin-Code. Alle Abfragen in der default Abfragesammlung werden standardmäßig ausgeführt. Wenn Sie sich für die Verwendung der security-extended Abfragesammlung entscheiden, werden zusätzliche Abfragen ausgeführt. Weitere Informationen findest du unter CodeQL-Abfragesammlungen.

Hinweis: Die CodeQL-Analyse für Kotlini ist derzeit als Betaversion verfügbar. Während der Betaphase ist die Analyse von Kotlin weniger umfassend als die CodeQL-Analyse für andere Sprachen.

Integrierte Abfragen zur Java- und Kotlin-Analyse

In dieser Tabelle sind die Abfragen aufgeführt, die mit der neuesten Version der Aktion CodeQL und CodeQL CLI verfügbar sind. Weitere Informationen finden Sie unter CodeQL-Änderungsprotokollen auf der Dokumentationsseite zu CodeQL.

Hinweis: Die automatische Korrektur von GitHub für code scanning befindet sich in der Betaversion. Funktionalität und Dokumentation können Änderungen unterliegen. In dieser Phase ist das Feature auf die von CodeQL erkannten JavaScript-, TypeScript-, Python und Java-Warnungen beschränkt. Wenn Sie ein Unternehmenskonto haben und GitHub Advanced Security verwenden, hat Ihr Unternehmen Zugang zur Beta-Version.

AbfragenameVerwandte CWEsStandardErweitertAutofix
TrustManager, die alle Zertifikate akzeptiert295
Android WebView, das alle Zertifikate akzeptiert295
Android-Attribut zum Debuggen aktiviert489
Android-Fragmenteinspeisung470
Android-Fragmenteinspeisung in PreferenceActivity470
Android Absicht-Umleitung926, 940
Android Webview-Debuggen aktiviert489
Beliebiger Dateizugriff während der Archivextraktion („Zip Slip“)022
Erstellen einer Befehlszeile mit Zeichenketten-Verkettung078, 088
Speicherung von Klartext vertraulicher Informationen in Cookie315
Cross-Site Scripting079
Abhängig von JCenter/Bintray als Artefakt-Repository1104
Deserialisierung benutzergesteuerter Daten502
Erkennen der Verwundbarkeit des JHipster-Generators CVE-2019-16303338
Deaktivierte Überprüfung des Netty-HTTP-Headers93, 113
Deaktivierter Feder-CSRF-Schutz352
Einspeisung der Ausdruckssprache (JEXL)094
Einspeisung der Ausdruckssprache (MVEL)094
Einspeisung der Ausdruckssprache (Spring)094
Fehler bei der Verwendung der HTTPS- oder SFTP-URL im Maven-Artefakt-Upload/-Download300, 319, 494, 829
Fehler bei der Verwendung sicherer Cookies614
Einspeisung der Groovy Language094
HTTP Response Splitting113
Implizite einschränkende Konvertierung in zusammengesetzter Aufgabe190, 192, 197, 681
Implizit exportierte Android-Komponente926
Falsche Überprüfung der Absicht durch Sendungsempfänger925
Ineffizienter regulärer Ausdruck1333, 730, 400
Gefährdung von Informationen über eine Stapelüberwachung209, 497
Unsichere Bean-Überprüfung094
Unsichere LDAP-Authentifizierung522, 319
Unsichere lokale Authentifizierung287
Unsichere Zufallselemente330, 338
Manipulation von Absichts-URI-Berechtigungen266, 926
JNDI-Verweis mit benutzerdefiniertem Namen074
LDAP-Abfrage, die aus benutzerdefinierten Quellen erstellt wurde090
Fehlende JWT-Signaturprüfung347
OGNL Ausdruckssprachanweisung mit benutzergesteuerter Eingabe917
Übermäßig zulässiger regulärer Ausdrucksbereich020
Teilweise Pfadüberwindungs-Schwachstelle von Remote023
Polynomischer regulärer Ausdruck, der für unkontrollierte Daten verwendet wird1333, 730, 400
Abfrage, die aus benutzerdefinierten Quellen erstellt wurde089, 564
Lesen aus einer schreibbaren Weltdatei732
Einspeisung regulärer Ausdrücke730, 400
Auflösen der externen XML-Entität in benutzergesteuerten Daten611, 776, 827
Serverseitige Anforderungsfälschung918
Serverseitige Vorlageneinspeisung1336, 094
Nicht gesteuerte Befehlszeile078, 088
Nicht kontrollierte Daten, die in der Inhaltsauflösung verwendet werden441, 610
Nicht kontrollierte Daten, die im Pfadausdruck verwendet werden022, 023, 036, 073
Unsichere Hostnamenprüfung297
URL-Weiterleitung aus einer Remotequelle552
URL-Umleitung von Remote-Quelle601
Verwendung eines fehlerhaften oder riskanten Kryptografiealgorithmus327, 328
Verwendung eines Kryptografiealgorithmus mit unzureichender Schlüsselgröße326
Verwendung eines vorhersehbaren Seeds in einer sicheren Zufallszahlengenerierung335, 337
Verwenden einer extern gesteuerten Formatzeichenkette134
Verwendung impliziter PendingIntents927
Verwendung des RSA-Algorithmus ohne OAEP780
Benutzergesteuerte Daten in numerischer Umwandlung197, 681
Benutzergesteuerte Daten, die bei der Berechtigungsprüfung verwendet werden807, 290
Verwendung eines statischen Initialisierungsvektors für die Verschlüsselung329, 1204
XPath-Einspeisung643
XSLT-Transformation mit benutzerdefiniertem Stylesheet074
Zugriff auf Java-Objektmethoden über JavaScript-Gefährdung079
Android APK-Installation094
Android fehlendes Anheften von Zertifikaten295
Android vertrauliche Zwischenspeicherung für Tastatur524
Android WebSettings Dateizugriff200
JavaScript-Einstellungen für Android WebView079
Android WebView-Einstellungen aktivieren den Zugriff auf Inhaltslinks200
Anwendungssicherung zulässig312
Erstellen eines Befehls mit einer injizierten Umgebungsvariable078, 088, 454
Speichern von Klartext vertraulicher Informationen im Android Dateisystem312
Speicherung von Klartext vertraulicher Informationen mithilfe der Klasse „Properties“313
Speichern von Klartext vertraulicher Informationen mit SharedPreferences auf Android312
Speicherung von Klartext vertraulicher Informationen mithilfe einer lokalen Datenbank auf Android312
Vergleich des schmalen Typs mit breitem Typ in Loop-Bedingung190, 197
Ausführen eines Befehls mit einem relativen Pfad078, 088
Gefährdung vertraulicher Informationen über Benachrichtigungen200
Gefährdung vertraulicher Informationen über Benutzeroberflächentextansichten200
Hartcodierte Anmeldedaten im API-Aufruf798
Falsche Validierung des vom Benutzer bereitgestellten Array-Index129
Falsche Validierung der vom Benutzer bereitgestellten Größe, die für die Array-Erstellung verwendet wird129
Unsichere Standardauthentifizierung522, 319
Unsichere JavaMail SSL-Konfiguration297
Unsicher generierte Schlüssel für die lokale Authentifizierung287
Einfügen vertraulicher Informationen in Protokolldateien532
Verlust vertraulicher Informationen über einen ResultReceiver927
Verlust vertraulicher Informationen über eine implizite Absicht927
Veröffentlichung lokaler Informationen in einem temporären Verzeichnis200, 732
Protokolleinspeisung117
Loop mit nicht erreichbarer Ausgangsbedingung835
Fehlende Lese- oder Schreibberechtigung in einem Inhaltsanbieter926
Teilweise Pfadüberwindungs-Schwachstelle023
Abfrage, die durch Verkettung mit einer möglicherweise nicht vertrauenswürdigen Zeichenkette erstellt wurde089, 564
Racebedingung in Socket-Authentifizierung421
Time-of-Check Time-of-Use Racebedingung367
Verletzung der Vertrauensgrenze501
Nicht kontrollierte Daten im arithmetischen Ausdruck190, 191
Nicht freigegebene Sperre764, 833
Unsicheres Zertifikatsvertrauen273
Unsichere Ressourcenabrufe in Android WebView749, 079
Verwendung eines potenziell fehlerhaften oder riskanten Kryptografiealgorithmus327, 328
Verwendung einer potenziell gefährlichen Funktion676
Benutzergesteuerte Überbrückung vertraulicher Methoden807, 290
Benutzergesteuerte Daten im arithmetischen Ausdruck190, 191