CodeQL 2.27.1 bringt eine C++-Abfrage und liest Actions-Lock-Dateien
CodeQL 2.27.1 liefert 498 Standard-Sicherheitsabfragen für 170 CWEs, eine neue C/C++-Prüfung, Unterstützung für Kotlin 2.4.20 und kennt Actions-Lock-Dateien.
3 Min. Lesezeit

Die Zahlen
- security queries in the default suite
- 498
- CWEs those default queries cover
- 170
- extra queries in the extended suite
- 131
GitHub hat CodeQL 2.27.1 am 25. September 2026 angekündigt. Die Version bringt eine neue C- und C++-Abfrage, unterstützt Kotlin 2.4.20 und ändert, wie sie GitHub-Actions-Workflows beurteilt. Im Alltag zählt die Actions-Änderung am meisten. CodeQL wertet eine Action jetzt als sicher gepinnt, wenn ein gültiger Eintrag in einer Lock-Datei sie abdeckt. Teams, die so pinnen, sollten weniger Fehlalarme sehen.
CodeQL ist die Engine für statische Analyse hinter GitHub Code Scanning. Statische Analyse heißt, Quellcode auf Fehler und Sicherheitslücken zu lesen, ohne ihn auszuführen. Code Scanning führt diese Prüfungen bei Pull Requests aus und zeigt die Ergebnisse als Alerts.
Was in CodeQL 2.27.1 neu ist
Das CodeQL-CLI-Changelog führt die Version unter dem 22. September 2026. Der Beitrag im GitHub-Changelog folgte drei Tage später. Beide beschreiben dieselben Änderungen.
| Bereich | Änderung in 2.27.1 |
|---|---|
| C/C++ | Neue Abfrage cpp/ambiguous-assignment-of-comparison |
| C# | Neue Abfrage cs/linq/missed-firstordefault |
| C# Web | cs/web/missing-token-validation erkennt AutoValidateAntiforgeryTokenAttribute |
| GitHub Actions | actions/unpinned-tag akzeptiert gültige Einträge in .github/workflows/actions.lock und $/-Referenzen |
| Kotlin | Kotlin 2.4.20 unterstützt; Extraktion von Foo::class.java unter dem K2-Compiler korrigiert |
| Go | Datenflussmodelle für bytes.CutLast, strings.Clone und das JSON-Encoding-Paket aus Go 1.27 |
| Rust | Extraktor auf rust-analyzer 0.0.347 umgestellt |
| JavaScript | Bessere Erkennung von Fastify-Serverrouten |
Die Dokumentation nennt auch die Größe der Abfragepakete. Die Standard-Suite enthält 498 Sicherheitsabfragen für 170 CWEs. Ein CWE ist ein Eintrag in der Common Weakness Enumeration, einem öffentlichen Katalog von Fehlertypen. Die erweiterte Suite fügt 131 weitere Abfragen für 32 weitere CWEs hinzu.
Die neue C- und C++-Abfrage
Die C/C++-Neuerung zielt auf eine unauffällige Fehlerart. Sie markiert Code, der das Ergebnis eines Vergleichs einer Variablen zuweist, die danach als Wahrheitswert verwendet wird. Laut GitHub sind solche Ausdrücke potenziell mehrdeutig.
Der klassische Fall ist eine Zeile, die = und == mischt. Ein Leser kann nicht immer erkennen, ob der Autor einen Vergleich speichern oder einen Wert prüfen wollte. Ein Compiler akzeptiert meist beide Lesarten, deshalb hilft eine eigene Prüfung.
Auch die C#-Seite erhält eine Abfrage zur Codequalität. cs/linq/missed-firstordefault weist auf foreach-Schleifen hin, die sich mit der LINQ-Methode FirstOrDefault schreiben ließen. LINQ ist die eingebaute Abfragesyntax von C# für Collections. Laut Changelog erfassen ihre Umschreibvorschläge keine in-, out- oder ref-Parameter mehr.
Warum die Änderung bei den Actions-Lock-Dateien zählt
Eine Action zu pinnen heißt, sie über einen exakten Commit statt über einen Tag wie v4 anzusprechen. Ein Tag kann nach der Übernahme auf anderen Code verschoben werden. Ein Commit nicht. Die CodeQL-Abfrage actions/unpinned-tag warnt, wenn ein Workflow einen Tag verwendet.
In 2.27.1 akzeptiert diese Abfrage nun Referenzen, die durch strukturell gültige Einträge in .github/workflows/actions.lock abgesichert sind. Außerdem behandelt sie $/-Referenzen, die auf das Repository selbst zeigen, von Natur aus als gepinnt. Code im eigenen Repository kann ein Dritter nicht so austauschen wie einen fremden Tag.
Wann Self-Hosted-Nutzer es bekommen
GitHub Enterprise Server ist die GitHub-Version, die Unternehmen auf eigenen Rechnern betreiben. Laut GitHub wird Enterprise Server 3.24 CodeQL 2.27.1 enthalten. Auch die Java-Werkzeuge haben sich bewegt: Die Dokumentation nennt ein Update auf Eclipse Temurin OpenJDK 25.0.4.1.
Was das für Entwickler bedeutet
Prüfen Sie nach dem Upgrade Ihre Code-Scanning-Alerts zu actions/unpinned-tag. Wenn Sie Actions bereits in .github/workflows/actions.lock erfassen, sollten sich die Alerts zu diesen Referenzen schließen. Die offen bleibenden zeigen auf eine Referenz, die die Lock-Datei nicht abdeckt, oder auf einen Eintrag, den die Abfrage nicht als gültig ansieht. So oder so lohnt ein Blick.
C- und C++-Teams sollten bei älterem Code mit einer ersten Welle von Treffern für cpp/ambiguous-assignment-of-comparison rechnen. Sichten Sie sie, statt sie pauschal zu verwerfen. Manche sind bewusster Stil. Andere können ein echter Tippfehler sein, der jahrelang jedes Review überstanden hat.
Kotlin-Teams mit dem K2-Compiler bekommen zwei Korrekturen auf einmal. Dank der Unterstützung für 2.4.20 können Sie den Compiler aktualisieren, ohne die Analyse zu verlieren. Die Korrektur bei Foo::class.java sollte zudem einige Fehlalarme beseitigen.
Go-Teams mit 1.27 erhalten Datenflussmodelle für neue Funktionen der Standardbibliothek. Taint Tracking verfolgt nicht vertrauenswürdige Eingaben durch ein Programm bis zu einer riskanten Stelle. Es kann Daten jetzt durch bytes.CutLast und strings.Clone verfolgen, statt dort die Spur zu verlieren.
Wenn Sie GitHub Enterprise Server betreiben, planen Sie das Upgrade auf 3.24, um diese Änderungen zu erhalten. Bis dahin behält Ihr Code Scanning das ältere Verhalten der Abfragen.
Quellen
- CodeQL 2.27.1 adds C and C++ query and Kotlin 2.4.20 support - GitHub Changelog
- CodeQL 2.27.1 (2026-09-22) - CodeQL documentation
Ähnliche Artikel

Kubernetes 1.37 hebt den Rootless-Modus auf Beta
Kubernetes 1.37 setzt KubeletInUserNamespace auf Beta. Kubelet, Container-Runtimes, CNI-Plugins und kube-proxy können nun alle als normaler Benutzer laufen.

Kiteworks bittet Kunden, ihre Server an diesem Wochenende abzuschalten
Kiteworks hat alle Kunden gebeten, ihre Server am Samstag, dem 26. September, für sechs Stunden abzuschalten, nachdem Strafverfolger vor einem unmittelbar bevorstehenden Angriff gewarnt hatten.

Node.js 22.23.3 LTS behebt einen Use-after-free-Fehler in HTTP/2
Node.js 22.23.3 LTS, erschienen am 23. September, behebt einen Use-after-free-Fehler in HTTP/2, bringt SharedArrayBuffer-Unterstützung in Node-API und wechselt zu OpenSSL 3.5.8.