Pular para o conteúdo
Skillpedia
Testes35 mil · #5987

integrating-sast-into-github-actions-pipeline

Faz seu agente adicionar detecção automática de vulnerabilidades de código em pipelines de desenvolvimento.

O que ela faz

Esta ferramenta adiciona verificações automáticas de segurança ao seu código no GitHub. Ela procura por vulnerabilidades e erros comuns antes que o código seja aprovado, ajudando a manter seu projeto seguro.

Quando usar

  • ✓Ao adicionar detecção automática de vulnerabilidades ao seu processo de desenvolvimento.
  • ✓Para garantir que todos os projetos sigam as mesmas regras de segurança.
  • ✓Quando você precisa provar que está seguindo normas de segurança como SOC 2 ou PCI DSS.

Exemplo do que pedir para a IA

“Configure a verificação de segurança automática para o meu projeto.”

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/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/integrating-sast-into-github-actions-pipeline/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/integrating-sast-into-github-actions-pipeline/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta usa duas tecnologias principais (CodeQL e Semgrep) que analisam seu código em busca de problemas conhecidos. Ela pode impedir que código com problemas graves seja misturado ao código principal.

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 mukul975/Anthropic-Cybersecurity-Skills --skill integrating-sast-into-github-actions-pipeline

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/integrating-sast-into-github-actions-pipeline/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.

Integrando SAST ao Pipeline do GitHub Actions

Quando Usar

  • Quando equipes de desenvolvimento precisam de detecção automatizada de vulnerabilidades em nível de código em cada pull request.
  • Quando equipes de segurança exigem aplicação consistente de SAST em todos os repositórios de uma organização.
  • Ao migrar de revisões de segurança manuais ou periódicas para testes de segurança contínuos.
  • Quando frameworks de conformidade (SOC 2, PCI DSS, NIST SSDF) exigem evidências de análise de código automatizada.
  • Quando vários idiomas coexistem em um monorepo e precisam de varredura unificada sob um único workflow.

Não use para detecção de vulnerabilidades em tempo de execução (use DAST em vez disso), para escanear dependências de terceiros (use ferramentas SCA como Snyk) ou para escanear infraestrutura como código (use Checkov ou tfsec).

Pré-requisitos

  • Repositório GitHub com GitHub Actions ativado.
  • Licença GitHub Advanced Security (necessária para CodeQL em repositórios privados; gratuita para repositórios públicos).
  • Conta Semgrep para regras gerenciadas e painel Semgrep App (nível gratuito disponível).
  • Código do repositório em um idioma suportado: Python, JavaScript/TypeScript, Java, C/C++, C#, Go, Ruby, Swift, Kotlin.

Workflow

Passo 1: Configurar Workflow de Análise CodeQL

Crie um workflow do CodeQL que rode em pull requests e em uma programação semanal para capturar vulnerabilidades em código existente.

# .github/workflows/codeql-analysis.yml
name: "CodeQL Analysis"

on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]
  schedule:
    - cron: '30 2 * * 1'  # Weekly Monday 2:30 AM

jobs:
  analyze:
    name: Analyze (${{ matrix.language }})
    runs-on: ubuntu-latest
    permissions:
      actions: read
      contents: read
      security-events: write

    strategy:
      fail-fast: false
      matrix:
        language: ['javascript', 'python']

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Initialize CodeQL
        uses: github/codeql-action/init@v3
        with:
          languages: ${{ matrix.language }}
          queries: security-extended,security-and-quality

      - name: Autobuild
        uses: github/codeql-action/autobuild@v3

      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@v3
        with:
          category: "/language:${{ matrix.language }}"

Passo 2: Adicionar Varredura Semgrep para Regras Personalizadas

Semgrep complementa o CodeQL com varreduras mais rápidas e suporte para regras personalizadas baseadas em padrões. Configure-o para enviar resultados SARIF para a mesma aba de Segurança do GitHub.

# .github/workflows/semgrep.yml
name: "Semgrep SAST Scan"

on:
  pull_request:
    branches: [main, develop]
  push:
    branches: [main]

jobs:
  semgrep:
    name: Semgrep Scan
    runs-on: ubuntu-latest
    permissions:
      security-events: write
      contents: read

    container:
      image: semgrep/semgrep:latest

    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Run Semgrep
        run: |
          semgrep ci \
            --config auto \
            --config p/owasp-top-ten \
            --config p/cwe-top-25 \
            --sarif --output semgrep-results.sarif \
            --severity ERROR \
            --error
        env:
          SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}

      - name: Upload SARIF
        if: always()
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: semgrep-results.sarif
          category: semgrep

Passo 3: Criar Regras Semgrep Personalizadas para Padrões da Organização

Escreva regras específicas da organização para capturar padrões exclusivos da sua base de código, como APIs internas depreciadas ou padrões de configuração inseguros.

# .semgrep/custom-rules.yml
rules:
  - id: hardcoded-database-url
    patterns:
      - pattern: |
          $DB_URL = "...$PROTO://...:...$PASS@..."
    message: |
      String de conexão de banco de dados codificada com credenciais detectada.
      Use variáveis de ambiente ou um gerenciador de segredos em vez disso.
    languages: [python, javascript, typescript]
    severity: ERROR
    metadata:
      cwe: "CWE-798: Use of Hard-coded Credentials"
      owasp: "A07:2021 - Identification and Authentication Failures"

  - id: unsafe-deserialization
    patterns:
      - pattern-either:
          - pattern: pickle.loads(...)
          - pattern: yaml.load(..., Loader=yaml.Loader)
          - pattern: yaml.load(..., Loader=yaml.FullLoader)
    message: |
      Desserialização insegura detectada. Use alternativas seguras para prevenir

…
Perguntas frequentes

O que são 'falsos positivos'?

São alertas de segurança que a ferramenta gera, mas que na verdade não são problemas reais. É possível ajustar a ferramenta para ignorar esses alertas.

Preciso pagar para usar?

O CodeQL é gratuito para projetos públicos. Para projetos privados, você precisa de uma licença do GitHub Advanced Security. O Semgrep tem um plano gratuito.

Quais linguagens de programação são suportadas?

Python, JavaScript/TypeScript, Java, C/C++, C#, Go, Ruby, Swift e Kotlin.

Detalhes

Descrição original do autor

Integrates CodeQL and Semgrep SAST scanning into GitHub Actions, covering scans on pull requests/pushes, rule tuning to cut false positives, SARIF upload to GitHub Advanced Security, and merge-blocking quality gates for high-severity findings. Use when adding automated code vulnerability detection to CI, enforcing consistent SAST org-wide, or producing SOC 2/PCI DSS/NIST SSDF compliance evidence.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5987
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas