Pular para o conteúdo
Skillpedia
Testes40 mil · #5055

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

https://github.com/github/awesome-copilot/blob/main/skills/codeql/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/codeql/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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 codeql

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/codeql/SKILL.md -o SKILL.md
Conteú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.yml fluxo 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, javascript nã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 none para a maioria das linguagens.
  • Configuração avançada — Crie um arquivo .github/workflows/codeql.yml para 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ça
  • pull_request — escaneia commits de merge de PRs; os resultados aparecem como anotações de verificação de PR
  • schedule — 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-ignore controla 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ção
  • manual — 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 adicional
  • security-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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas