CodeQL 2.26.3 melhora a análise de Vue, JavaScript e workflows do GitHub Actions

Uma atualização de análise estática nem sempre aparece no código do projeto, mas pode mudar o que a equipe enxerga nele. O CodeQL 2.26.3, anunciado em 19 de agosto, melhora a modelagem de fluxos em JavaScript, TypeScript e Vue, além de refinar consultas que procuram problemas em workflows do GitHub Actions.

Na prática, o mesmo repositório pode ganhar alertas novos, perder falsos positivos ou apresentar caminhos de dados mais fáceis de entender. Isso não significa automaticamente que alguém introduziu ou corrigiu uma vulnerabilidade: a lente ficou diferente.

Vue e JavaScript ganham modelos mais específicos

O analisador passou a compreender melhor helpers da Composition API, incluindo ref, shallowRef, toRef, reactive e computed. O useRoute() do Vue Router também entra como fonte remota do lado do cliente, cobrindo propriedades como query, params, path e hash.

Isso importa porque a análise de fluxo depende de saber onde dados não confiáveis entram e por quais transformações passam. Sem um modelo do framework, um valor vindo da URL pode parecer apenas mais um objeto local e escapar de consultas como as voltadas a XSS ou injeção de caminho.

A versão também reconhece entradas declaradas de controllers Sails Action2 e acompanha respostas assíncronas encapsuladas em promises com mais precisão. Já a consulta de ausência de rate limiting passa a reconhecer o pacote @fastify/rate-limit, reduzindo alertas incorretos em aplicações Fastify.

Workflows do GitHub Actions recebem ajustes de contexto

No GitHub Actions, o CodeQL agora considera dados de github.event.merge_group como não confiáveis em workflows acionados por merge_group. Consultas de envenenamento de cache, checkout não confiável e injeção por variáveis de ambiente também ganharam critérios mais próximos das permissões reais de cada gatilho.

Alguns alertas passam a mostrar o caminho a partir da expressão que controla o checkout, o que reduz o trabalho de reconstruir mentalmente o fluxo. Outros deixam de acusar situações que não conseguem escrever no escopo de cache analisado ou em que origem e contexto privilegiado pertencem a eventos diferentes.

Há uma quebra para quem mantém queries próprias

O módulo codeql.actions.security.SelfHostedQuery foi removido. Segundo o GitHub, labels de runners não distinguem de forma confiável ambientes self-hosted e gerenciados. Consultas customizadas que importam esse módulo precisam ser atualizadas antes de adotar a nova versão em uma instalação controlada pela equipe.

No GitHub.com, o novo CodeQL é distribuído automaticamente para o code scanning. Em versões antigas do GitHub Enterprise Server, a atualização pode depender de ação manual ou de uma versão futura do produto.

O que revisar depois da atualização

  • Compare alertas novos e encerrados antes de tratá-los como regressões do código.
  • Reavalie findings em Vue Router, Composition API, Sails e Fastify.
  • Confira workflows que recebem dados de pull requests, merge queues e caches compartilhados.
  • Procure imports do módulo removido nas queries mantidas pela organização.

O valor do CodeQL não está apenas na quantidade de regras. Está na fidelidade do modelo sobre frameworks, eventos e permissões. Quando esse modelo muda, o dashboard também precisa ser lido com contexto.

Fontes