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
Mensagem pronta para colar
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-pipelineOu 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.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.
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.
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5987
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
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