CodeQL 2.27.1 adiciona uma consulta C++ e lê arquivos de lock do Actions
O CodeQL 2.27.1 traz 498 consultas de segurança padrão cobrindo 170 CWEs, uma nova verificação de C/C++, suporte ao Kotlin 2.4.20 e reconhece arquivos de lock do Actions.
3 min de leitura

Em números
- security queries in the default suite
- 498
- CWEs those default queries cover
- 170
- extra queries in the extended suite
- 131
O GitHub anunciou o CodeQL 2.27.1 em 25 de setembro de 2026. A versão adiciona uma nova consulta de C e C++, suporta o Kotlin 2.4.20 e muda a forma como avalia workflows do GitHub Actions. No dia a dia, a mudança no Actions é a que mais importa. O CodeQL agora considera uma action fixada com segurança quando uma entrada válida de um arquivo de lock a cobre. Equipes que fixam dessa forma devem ver menos alarmes falsos.
O CodeQL é o motor de análise estática por trás do code scanning do GitHub. Análise estática significa ler o código-fonte em busca de bugs e falhas de segurança sem executá-lo. O code scanning roda essas verificações em pull requests e mostra os resultados como alertas.
O que há de novo no CodeQL 2.27.1
O changelog da CLI do CodeQL registra a versão em 22 de setembro de 2026. O post no changelog do GitHub veio três dias depois. Os dois descrevem o mesmo conjunto de mudanças.
| Área | Mudança no 2.27.1 |
|---|---|
| C/C++ | Nova consulta cpp/ambiguous-assignment-of-comparison |
| C# | Nova consulta cs/linq/missed-firstordefault |
| C# web | cs/web/missing-token-validation reconhece AutoValidateAntiforgeryTokenAttribute |
| GitHub Actions | actions/unpinned-tag aceita entradas válidas de .github/workflows/actions.lock e referências $/ |
| Kotlin | Kotlin 2.4.20 suportado; corrigida a extração de Foo::class.java no compilador K2 |
| Go | Modelos de fluxo de dados para bytes.CutLast, strings.Clone e o pacote de codificação JSON do Go 1.27 |
| Rust | Extrator migrado para rust-analyzer 0.0.347 |
| JavaScript | Melhor reconhecimento de rotas de servidor do Fastify |
A documentação também informa o tamanho dos pacotes de consultas. A suíte padrão tem 498 consultas de segurança cobrindo 170 CWEs. Um CWE é uma entrada da Common Weakness Enumeration, um catálogo público de tipos de bug. A suíte estendida adiciona mais 131 consultas cobrindo mais 32 CWEs.
A nova consulta de C e C++
A novidade de C/C++ mira um tipo discreto de bug. Ela sinaliza código que atribui o resultado de uma comparação a uma variável, quando essa variável é depois usada como valor verdadeiro ou falso. Segundo o GitHub, essas expressões são potencialmente ambíguas.
O caso clássico é uma linha que mistura = e ==. Quem lê nem sempre consegue saber se o autor queria guardar uma comparação ou testar um valor. Um compilador geralmente aceita as duas leituras, por isso uma verificação dedicada ajuda.
O lado do C# também ganha uma consulta de qualidade de código. cs/linq/missed-firstordefault aponta laços foreach que poderiam ser escritos com o método FirstOrDefault do LINQ. O LINQ é a sintaxe de consulta embutida do C# para coleções. O changelog acrescenta que as sugestões de reescrita dela não capturam mais parâmetros in, out ou ref.
Por que a mudança nos arquivos de lock do Actions importa
Fixar uma action significa referenciá-la por um commit exato em vez de uma tag como v4. Uma tag pode ser movida para outro código depois que você a adota. Um commit não. A consulta actions/unpinned-tag do CodeQL avisa quando um workflow usa uma tag.
No 2.27.1, essa consulta agora aceita referências apoiadas por entradas estruturalmente válidas em .github/workflows/actions.lock. Ela também trata referências $/, que apontam para o próprio repositório, como fixadas por natureza. O código do seu próprio repositório não pode ser trocado por terceiros como uma tag externa pode.
Quando usuários self-hosted recebem
O GitHub Enterprise Server é a versão do GitHub que empresas rodam em suas próprias máquinas. O GitHub diz que o Enterprise Server 3.24 vai incluir o CodeQL 2.27.1. As ferramentas do lado Java também mudaram: a documentação lista uma atualização para o Eclipse Temurin OpenJDK 25.0.4.1.
O que isso significa para desenvolvedores
Confira seus alertas de code scanning de actions/unpinned-tag depois da atualização. Se você já registra actions em .github/workflows/actions.lock, os alertas sobre essas referências devem ser fechados. Os que continuarem abertos apontam para uma referência que o arquivo de lock não cobre, ou para uma entrada que a consulta não considera válida. De qualquer forma, vale a pena olhar.
Equipes de C e C++ devem esperar uma primeira onda de resultados de cpp/ambiguous-assignment-of-comparison em código antigo. Faça a triagem em vez de descartá-los em massa. Alguns serão estilo intencional. Outros podem ser um erro de digitação real que sobreviveu a revisões por anos.
Equipes de Kotlin no compilador K2 recebem duas correções de uma vez. O suporte ao 2.4.20 permite atualizar o compilador sem perder a análise. A correção de Foo::class.java também deve eliminar alguns falsos positivos.
Equipes de Go no 1.27 ganham modelos de fluxo de dados para novas funções da biblioteca padrão. O rastreamento de contaminação (taint tracking) segue uma entrada não confiável por um programa até um ponto de risco. Agora ele consegue seguir os dados por bytes.CutLast e strings.Clone em vez de perder o rastro ali.
Se você usa o GitHub Enterprise Server, planeje a atualização para o 3.24 para receber essas mudanças. Até lá, seu code scanning mantém o comportamento antigo das consultas.
Fontes
- 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
Artigos relacionados

Kubernetes 1.37 promove o modo rootless a beta
O Kubernetes 1.37 promove o KubeletInUserNamespace a beta. O kubelet, os runtimes de contentores, os plugins CNI e o kube-proxy passam a poder correr como utilizador comum.

Kiteworks pede que clientes desliguem seus servidores neste fim de semana
A Kiteworks pediu a todos os clientes que desliguem seus servidores por seis horas no sábado, 26 de setembro, depois que autoridades policiais alertaram sobre um ataque iminente.

Node.js 22.23.3 LTS corrige um bug use-after-free no HTTP/2
O Node.js 22.23.3 LTS, lançado em 23 de setembro, corrige um bug use-after-free no HTTP/2, adiciona suporte a SharedArrayBuffer na Node-API e passa para o OpenSSL 3.5.8.