codeql
Guia seu agente na configuração de ferramentas de análise de código para encontrar falhas de segurança. Essencial para garantir a proteção e a qualidade do software.
O que ela faz
Esta ferramenta ajuda a configurar e usar o CodeQL para analisar seu código em busca de problemas de segurança. Você pode usá-la com o GitHub Actions ou diretamente no seu computador.
Quando usar
- ✓Quando você quer configurar a análise de segurança do seu código no GitHub.
- ✓Quando você precisa criar ou ajustar um arquivo de configuração para o CodeQL.
- ✓Quando você quer rodar o CodeQL no seu computador para verificar seu código.
Exemplo do que pedir para a IA
“Como configuro o CodeQL para analisar meu projeto em Python no GitHub Actions?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O CodeQL cria um 'banco de dados' do seu código e depois o analisa usando um conjunto de regras de segurança. Isso pode ser feito automaticamente com o GitHub Actions ou manualmente com a linha de comando.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill codeqlOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/codeql/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
CodeQL Code Scanning
Esta habilidade fornece orientação procedural para configurar e executar o CodeQL code scanning — tanto através de fluxos de trabalho do GitHub Actions quanto da CLI standalone do CodeQL.
Quando Usar Esta Habilidade
Use esta habilidade quando a solicitação envolver:
- Criar ou personalizar um
codeql.ymlfluxo de trabalho do GitHub Actions - Escolher entre configuração padrão e configuração avançada para code scanning
- Configurar a matriz de linguagens do CodeQL, modos de compilação ou suítes de consultas
- Executar a CLI do CodeQL localmente (
codeql database create,database analyze,github upload-results) - Entender ou interpretar a saída SARIF do CodeQL
- Solucionar falhas de análise do CodeQL (modos de compilação, linguagens compiladas, requisitos do runner)
- Configurar o CodeQL para monorepos com escaneamento por componente
- Configurar cache de dependências, pacotes de consultas personalizados ou pacotes de modelos
Linguagens Suportadas
O CodeQL suporta os seguintes identificadores de linguagem:
| Linguagem | Identificador | Alternativas |
|---|---|---|
| C/C++ | c-cpp |
c, cpp |
| C# | csharp |
— |
| Go | go |
— |
| Java/Kotlin | java-kotlin |
java, kotlin |
| JavaScript/TypeScript | javascript-typescript |
javascript, typescript |
| Python | python |
— |
| Ruby | ruby |
— |
| Rust | rust |
— |
| Swift | swift |
— |
| GitHub Actions | actions |
— |
Identificadores alternativos são equivalentes ao identificador padrão (por exemplo,
javascriptnão exclui a análise de TypeScript).
Fluxo de Trabalho Principal — GitHub Actions
Etapa 1: Escolher o Tipo de Configuração
- Configuração padrão — Habilite em Configurações do repositório → Segurança Avançada → Análise CodeQL. Melhor para começar rapidamente. Usa o modo de compilação
nonepara a maioria das linguagens. - Configuração avançada — Crie um arquivo
.github/workflows/codeql.ymlpara controle total sobre gatilhos, modos de compilação, suítes de consultas e estratégias de matriz.
Para alternar de padrão para avançado: desabilite a configuração padrão primeiro e, em seguida, confirme o arquivo de fluxo de trabalho.
Etapa 2: Configurar Gatilhos do Fluxo de Trabalho
Defina quando o escaneamento é executado:
on:
push:
branches: [main, protected]
pull_request:
branches: [main]
schedule:
- cron: '30 6 * * 1' # Weekly Monday 6:30 UTC
push— escaneia a cada push para branches especificados; os resultados aparecem na aba Segurançapull_request— escaneia commits de merge de PRs; os resultados aparecem como anotações de verificação de PRschedule— escaneamentos periódicos do branch padrão (cron deve existir no branch padrão)merge_group— adicione se o repositório usa filas de merge
Para pular escaneamentos para PRs apenas de documentação:
on:
pull_request:
paths-ignore:
- '**/*.md'
- '**/*.txt'
paths-ignorecontrola se o fluxo de trabalho é executado, não quais arquivos são analisados.
Etapa 3: Configurar Permissões
Defina permissões de menor privilégio:
permissions:
security-events: write # Required to upload SARIF results
contents: read # Required to checkout code
actions: read # Required for private repos using codeql-action
Etapa 4: Configurar Matriz de Linguagens
Use uma estratégia de matriz para analisar cada linguagem em paralelo:
jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- language: javascript-typescript
build-mode: none
- language: python
build-mode: none
Para linguagens compiladas, defina o build-mode apropriado:
none— nenhuma compilação necessária (suportado para C/C++, C#, Java, Rust)autobuild— detecção automática de compilaçãomanual— comandos de compilação personalizados (apenas configuração avançada)
Para comportamento detalhado de autobuild por linguagem e requisitos do runner, pesquise
references/compiled-languages.md.
Etapa 5: Configurar Inicialização e Análise do CodeQL
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
queries: security-extended
dependency-caching: true
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
category: "/language:${{ matrix.language }}"
Opções de suíte de consultas:
security-extended— consultas de segurança padrão mais cobertura adicionalsecurity-and-quality— consultas de segurança mais qualidade de código- Pacotes de consultas personalizados via entrada
packs:(por exemplo,codeql/javascript-queries:AlertSuppression.ql)
…
Perguntas frequentes
O que é CodeQL?
CodeQL é uma ferramenta que transforma seu código em dados para que possa ser analisado em busca de vulnerabilidades de segurança e erros.
O que é GitHub Actions?
GitHub Actions é um serviço que permite automatizar tarefas no GitHub, como rodar testes ou analisar código, diretamente do seu repositório.
O que é SARIF?
SARIF é um formato padrão para relatar resultados de análise de segurança, usado pelo CodeQL para mostrar os problemas encontrados.
Detalhes
Descrição original do autor
Comprehensive guide for setting up and configuring CodeQL code scanning via GitHub Actions workflows and the CodeQL CLI. This skill should be used when users need help with code scanning configuration, CodeQL workflow files, CodeQL CLI commands, SARIF output, security analysis setup, or troubleshooting CodeQL analysis.
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5055
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC