CodeQL 2.27.2: Rust, Go и TypeScript в GitHub code scanning

Движок CodeQL 2.27.2 уже работает в GitHub code scanning на github.com — платформа выкатывает каждую версию анализатора сама, без отдельного переключателя в репозитории. Default suite по-прежнему прогоняет 498 security-запросов на 170 CWE, Extended suite добавляет 131 запрос и ещё 32 CWE.
Что подтянули в языках
Обновление затрагивает C++, Go, Rust и JavaScript/TypeScript — то, что чаще всего всплывает в отчётах code scanning на прикладных репозиториях.
- C/C++ — разбор регулярных выражений с грамматикой ECMAScript в
std::regex; модели SQL-injection для Comdb2 и потоки для кодеков Bloomberg BDE. - Go — моделирование пакета
github.com/coder/websocketрядом с уже знакомымnhooyr.io/websocket. - Rust — классы AnyAttr и DocComment в экстракторе, точнее data flow в
async-блоках сawait, summaries для native-tls и tokio-native-tls. - JavaScript/TypeScript — директивы Workflow SDK
use workflowиuse step; лучше отслеживание входов Hapi через кастомные регистраторы маршрутов.
Локальный CodeQL на macOS 27
С macOS 27 и Xcode 27 Apple больше не кладёт в один файл бинарники x86-64 и arm64 — такие сборки нужны CodeQL для traced-анализа компилируемых языков. Autobuild и ручной build mode на macOS 27 с любым Xcode и на macOS 26 с Xcode 27 для C++, Go и Rust не поддерживаются.
Для локальных прогонов с автосборкой остаётся потолок macOS 26 и Xcode 26. Альтернатива — build mode none; команде CodeQL обещают его доработать под новые ограничения Apple.
Запросы и CLI
- C# — запрос missing-x-frame-options учитывает заголовки ASP.NET Core и CSP
frame-ancestors; XSS в Razor не считаетWriteLiteralв tag-helper опасным sink. - GitHub Actions — в доверенных владельцах для
actions/unpinned-tagowner можно убрать префиксом!, например!github, чтобы ловить unpinned-теги у first-party. - CLI — явные ERROR:/WARNING: в stderr, валидация полей qlpack в suite, отказ от тихого усечения больших integer в YAML data extensions.
Для Go это breaking change: граф потока управления переехал на общую библиотеку CFG — меняются узлы, рёбра и границы basic block. Кастомные запросы, завязанные на старое представление, после обновления нужно пересмотреть. На GitHub Enterprise Server 2.27.2 приедет в одном из следующих релизов; на старых инстансах движок можно обновить вручную.
Источник: CodeQL 2.27.2 improves C++, Go, Rust, and JavaScript analysis.