Conceito e mecanismo
A análise de código produz evidência apenas das linguagens, branches, queries, modelos e execuções que efetivamente cobriu. Um query pack contém queries e pode declarar suites, dependências e bibliotecas através de qlpack.yml. A função do pack é distribuir e executar consultas; não transforma automaticamente todas as APIs desconhecidas em fontes e destinos de dados.
Um model pack, atualmente em public preview nas linguagens indicadas pela documentação GitHub, acrescenta modelos de bibliotecas e frameworks através de data extensions. Estes modelos podem melhorar a análise de propagação, fontes e sinks quando as dependências do projeto não são suportadas por defeito.
Não assumas que a preview é estável ou está disponível em qualquer linguagem. Antes de usar um pack externo, verifica origem, versão, compatibilidade, permissões e impacto nas execuções. Uma falha de análise ou um job skipped não equivale a zero vulnerabilidades.
Os alertas existentes podem continuar no painel depois de uma nova configuração falhar; observabilidade da execução é distinta de inventário histórico de alertas.
Aplicação guiada
Numa demonstração sem credenciais de produção, começa por inventariar linguagem, modo default ou advanced, data da última análise completa e conjunto de queries em execução. Perante uma framework de entrada de dados sem modelos suficientes, decide se faltam queries para um problema conhecido ou se faltam modelos para compreender fontes, etapas de propagação e destinos.
Usa exemplos mínimos com resultado esperado, executa o CodeQL num ambiente autorizado e compara resultados com e sem a extensão, guardando falso positivo, falso negativo observado e impacto de tempo. Se a equipa migrar de default setup para advanced setup para personalizar o pipeline, verifica elegibilidade do repositório, permissões e runners, analisa os logs e confirma que a base de dados CodeQL e as queries realmente executaram.
Compara branches analisadas, pacotes carregados, alertas gerados e responsáveis de triagem. Não representes a criação do YAML como prova de cobertura, nem um alerta encerrado como prova da correção sem rever o motivo e a alteração do código.
Uma consulta adicional não identifica a origem de dados de uma API própria; um model pack pode fornecer essa semântica onde suportado, mas a eficácia só é conhecida depois de testar o fluxo relevante.
Armadilhas comuns
Query pack e model pack como sinónimos; tratar preview como suporte universal; YAML como prova de execução; alertas antigos como sinal de análise atual; pack externo sem origem validada.
Tópicos relacionados: Produtos, âmbito e prevenção · Credenciais, resposta e exceções · Dependências, inventário e prevenção no merge
Separa regras de deteção, modelos de dados e saúde do pipeline; valida cada um com evidência.
Referências
- CodeQL query and model packs · GitHub CodeQL Docs current Oct 2026 (model packs public preview)
- CodeQL advanced setup and runtime prerequisites · GitHub CodeQL Docs current Oct 2026 (model packs public preview)