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.
Por Claire Whitmore
3 min de leitura
Traduzido automaticamente do original em inglês, que Claire Whitmore verificou e editou. Prevalece a versão em inglês. Como trabalhamos

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

Tailscale 1.104.4 corrige falhas de privilégio no SSH apontadas pelo Tailworm
O Tailscale 1.104.4 corrige quatro boletins de segurança depois que o relatório Tailworm mostrou que o encaminhamento do Tailscale SSH podia alcançar sockets restritos ao root.

Invasão na Railway: todos os usuários devem trocar seus segredos
A Railway revelou em 21 de outubro de 2026 que um atacante pode ter acessado variáveis de ambiente criptografadas de clientes e decifrado algumas. Ela pede que cada usuário troque seus segredos.

CodeQL não consegue rastrear builds do Xcode 27 nem analisar Swift 6.4
O GitHub diz que o CodeQL não consegue rastrear builds no Xcode 27 nem analisar Swift 6.4, depois que a Apple removeu código Intel do qual ele dependia. O conselho: ficar no Xcode 26 por enquanto.