CodeQL 2.27.2 aprende a analisar expressões regulares em C++ e melhora a análise de Go, Rust e JavaScript

O GitHub lançou o CodeQL 2.27.2, nova versão da ferramenta de análise estática code scanning. O lançamento adiciona um analisador de expressões regulares com gramática ECMAScript para C++ e atualiza o suporte a Go, Rust, JavaScript e TypeScript. A Default suite agora inclui 498 queries, cobrindo 170 CWE; a Extended suite adiciona 131 queries extras para 32 CWE adicionais. • C++: analisador de regex std::regex, modelos de SQL injection para Comdb2 C API • Rust e Go: suporte a native-tls, async-native-tls, tokio-native-tls, github.com/coder/websocket • JavaScript/TypeScript: diretivas "use workflow" e "use step" do Workflow SDK

Processado por IA de GitHub Changelog; editado por Hamidun News
CodeQL 2.27.2 aprende a analisar expressões regulares em C++ e melhora a análise de Go, Rust e JavaScript
Fonte: GitHub Changelog. Colagem: Hamidun News.
Ouvir artigo
Ficha técnica e números-chave
ParâmetroDados
Fonte originalGitHub Changelog ↗
Editor-chefe
C++analisador de regex std::regex, modelos de SQL injection para Comdb2 C API
Rust e Gosuporte a native-tls, async-native-tls, tokio-native-tls, github.com/coder/websocket
JavaScript/TypeScriptdiretivas "use workflow" e "use step" do Workflow SDK

O CodeQL 2.27.2 expande as capacidades do analisador estático code scanning do GitHub, adicionando um analisador de expressões regulares para C++ e melhorando o suporte a Go, Rust e JavaScript/TypeScript. A ferramenta continua evoluindo para ampliar a cobertura de vulnerabilidades e aumentar a precisão da análise de fluxo de dados.

A Default suite agora inclui 498 queries de segurança, cobrindo 170 tipos de vulnerabilidades (CWE). A Extended suite adiciona 131 queries extras para 32 tipos de CWE adicionais.

Suporte ampliado a linguagens

C/C++

Foi adicionado um analisador para expressões regulares que usam a gramática ECMAScript em std::regex. Isso amplia a capacidade de detectar problemas de segurança relacionados ao tratamento de expressões regulares.

Para injeção de SQL, foram adicionados sink models para a API em C do Comdb2. Também foram aprimorados os flow summaries para os codecs do Bloomberg BDE e os deserializadores de byte-stream, melhorando a qualidade da análise de fluxo de dados nessas bibliotecas populares.

Go

O CodeQL agora modela o github.com/coder/websocket, além do nhooyr.io/websocket, permitindo detectar vulnerabilidades em código que use qualquer uma das duas variantes de biblioteca WebSocket.

Rust

O extractor do Rust passou a oferecer suporte às classes AnyAttr e DocComment, aprimorando a análise de atributos e documentação.

O tratamento de blocos async com await foi melhorado, permitindo rastrear melhor os fluxos de dados em código assíncrono. Foram adicionados flow summaries para native-tls, async-native-tls e tokio-native-tls.

JavaScript/TypeScript

O CodeQL agora reconhece as diretivas do Workflow SDK: "use workflow" e "use step".

Foi aprimorado o rastreamento de route handlers do Hapi e da entrada de requests por meio de helpers personalizados de registro de rotas e funções de ordem superior, ajudando a detectar vulnerabilidades em aplicações web.

Mudança crítica: macOS 27 e Xcode 27

A Apple parou de distribuir os binários multi-arquitetura (x86-64/arm64) exigidos pelo CodeQL para a análise rastreada (traced analysis). No macOS 27 (com qualquer versão do Xcode) e no macOS 26 (com Xcode 27), os modos autobuild e manual build ficarão indisponíveis para linguagens compiladas.

Recomendação: usar no máximo macOS 26 e Xcode 26 para esses modos. O GitHub está trabalhando para melhorar o build mode "none" no macOS.

Mudanças em queries e na CLI

Atualizações de queries (C# e GitHub Actions)

A query cs/web/missing-x-frame-options agora reconhece response headers do ASP.NET Core e diretivas frame-ancestors de Content Security Policy como proteção contra clickjacking.

A query cs/web/xss deixou de tratar valores de atributos de tag-helper do Razor que usam WriteLiteral como XSS sinks.

Na query actions/unpinned-tag, agora é possível remover owners do conjunto confiável usando o prefixo "!" (por exemplo, "!github"), permitindo identificar tags não fixadas de owners de primeira parte.

Melhorias na CLI do CodeQL

A interface de linha de comando agora exibe erros claros para valores inválidos de qlpack e de "from", em vez de travar.

Os inteiros de data-extension em YAML fora do intervalo de 32 bits com sinal agora são rejeitados, em vez de truncados silenciosamente.

As mensagens de erro e aviso no stderr agora recebem os prefixos ERROR: e WARNING:. A saída estruturada (logs e SARIF) permanece inalterada.

O comando codeql query compile agora aceita --dil-constants junto com --dump-dil para incluir tuplas de constantes otimizadas no DIL gerado.

Os comandos que carregam data extensions agora exibem um aviso apenas quando nenhum padrão da lista dataExtensions corresponde a arquivos.

Mudança drástica na biblioteca do Go

O grafo de fluxo de controle (CFG) do Go agora usa uma shared CFG library, que inclui nós adicionais para atribuições, parâmetros, resultados, range statements e chamadas deferred. Nós inalcançáveis a partir do ponto de entrada foram excluídos.

Isso afeta nós, edges, locations, representações textuais e os limites dos blocos básicos, de modo que queries que dependem da representação antiga precisarão ser atualizadas.

Mudanças específicas:

• Removido: BasicBlocks::Cfg • Adicionado: ControlFlow::EntryNode, ControlFlow::ExitNode, SwitchStmt.getExpr • Depreciado: IfStmt.getCond → IfStmt.getCondition • Tipos de retorno alterados: IfStmt.getThen e LoopStmt.getBody agora retornam Stmt • Consolidadas: diversas classes de instruções IR

O GitHub implanta automaticamente as novas versões do CodeQL para o code scanning no github.com. Futuras versões do GitHub Enterprise Server (GHES) também incluirão a funcionalidade do CodeQL 2.27.2. Quem usa uma versão mais antiga do GHES pode atualizar manualmente a versão do CodeQL.

História

Perguntas frequentes sobre a notícia

O que se sabe sobre Suporte ampliado a linguagens?

C/C++ Foi adicionado um analisador para expressões regulares que usam a gramática ECMAScript em std::regex. Isso amplia a capacidade de detectar problemas de segurança relacionados ao tratamento de expressões regulares. Para injeção de SQL, foram adicionados sink models para a API em C do Comdb2. Também foram aprimorados os flow summaries para os codecs do Bloomberg BDE e os deserializadores de byte-stream, melhorando a qualidade da análise de fluxo de dados nessas bibliotecas populares. Go O CodeQL agora modela o github.com/coder/websocket, além do nhooyr.io/websocket, per

O que se sabe sobre Mudança crítica: macOS 27 e Xcode 27?

A Apple parou de distribuir os binários multi-arquitetura (x86-64/arm64) exigidos pelo CodeQL para a análise rastreada (traced analysis). No macOS 27 (com qualquer versão do Xcode) e no macOS 26 (com Xcode 27), os modos autobuild e manual build ficarão indisponíveis para linguagens compiladas. Recomendação: usar no máximo macOS 26 e Xcode 26 para esses modos. O GitHub está trabalhando para melhorar o build mode "none" no macOS.

O que se sabe sobre Mudanças em queries e na CLI?

Atualizações de queries (C# e GitHub Actions) A query cs/web/missing-x-frame-options agora reconhece response headers do ASP.NET Core e diretivas frame-ancestors de Content Security Policy como proteção contra clickjacking. A query cs/web/xss deixou de tratar valores de atributos de tag-helper do Razor que usam WriteLiteral como XSS sinks. Na query actions/unpinned-tag, agora é possível remover owners do conjunto confiável usando o prefixo "!" (por exemplo, "!github"), permitindo identificar tags não fixadas de owners de primeira parte. Melhorias na CLI do CodeQL A interfac

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Hands-On AI Engineering · Hamidun Academy

Build & Ship Production AI Agents Without Boilerplate Code

Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.

Start 72h Free Trial →Vibe-Coding Intensive
O que você acha?
Carregando comentários…