Configuração de SAST
Configuração de ferramentas de Teste Estático de Segurança de Aplicações (SAST), customização e criação de regras personalizadas para varredura de segurança abrangente em múltiplas linguagens de programação.
Use essa habilidade quando
- Configurar varredura SAST em pipelines CI/CD
- Criar regras de segurança personalizadas para sua base de código
- Configurar quality gates e políticas de conformidade
- Otimizar desempenho de varredura e reduzir falsos positivos
- Integrar múltiplas ferramentas SAST para defesa em profundidade
Não use essa habilidade quando
- Você precisa apenas de orientação em DAST ou teste de penetração manual
- Você não tem acesso ao código-fonte ou pipelines CI/CD
- Você precisa de decisões de política organizacional em vez de configuração de ferramentas
Instruções
- Identifique linguagens, repositórios e requisitos de conformidade.
- Escolha ferramentas e defina uma política baseline.
- Integre varreduras em CI/CD com thresholds de gating.
- Ajuste regras e suppressões com base em falsos positivos.
- Acompanhe remediação e verifique correções.
Segurança
- Evite varreduras de repositórios sensíveis com serviços de terceiros sem aprovação.
- Previna vazamentos de secrets em artefatos de varredura e logs.
Visão Geral
Essa habilidade fornece orientação abrangente para configuração de ferramentas SAST, incluindo Semgrep, SonarQube e CodeQL.
Capacidades Principais
1. Configuração Semgrep
- Criação de regras personalizadas com pattern matching
- Regras de segurança específicas por linguagem (Python, JavaScript, Go, Java, etc.)
- Integração CI/CD (GitHub Actions, GitLab CI, Jenkins)
- Ajuste de falsos positivos e otimização de regras
- Imposição de política organizacional
2. Configuração SonarQube
- Configuração de quality gates
- Análise de hotspots de segurança
- Rastreamento de cobertura de código e débito técnico
- Perfis de qualidade personalizados por linguagem
- Integração empresarial com LDAP/SAML
3. Análise CodeQL
- Integração com GitHub Advanced Security
- Desenvolvimento de queries personalizadas
- Análise de variantes de vulnerabilidade
- Workflows de pesquisa de segurança
- Processamento de resultado SARIF
Início Rápido
Avaliação Inicial
- Identifique as linguagens de programação primárias em sua base de código
- Determine requisitos de conformidade (PCI-DSS, SOC 2, etc.)
- Escolha ferramenta SAST baseado em suporte de linguagem e necessidades de integração
- Revise varredura baseline para entender a postura de segurança atual
Configuração Básica
# Início rápido com Semgrep
pip install semgrep
semgrep --config=auto --error
# SonarQube com Docker
docker run -d --name sonarqube -p 9000:9000 sonarqube:latest
# Configuração CLI do CodeQL
gh extension install github/gh-codeql
codeql database create mydb --language=python
Documentação de Referência
- Semgrep Rule Creation - Desenvolvimento de regras de segurança baseadas em pattern
- SonarQube Configuration - Quality gates e perfis
- CodeQL Setup Guide - Desenvolvimento de queries e workflows
Templates & Assets
- semgrep-config.yml - Configuração Semgrep pronta para produção
- sonarqube-settings.xml - Template de perfil de qualidade SonarQube
- run-sast.sh - Script de execução automática de SAST
Padrões de Integração
Integração com Pipeline CI/CD
# Exemplo GitHub Actions
- name: Run Semgrep
uses: returntocorp/semgrep-action@v1
with:
config: >-
p/security-audit
p/owasp-top-ten
Pre-commit Hook
# .pre-commit-config.yaml
- repo: https://github.com/returntocorp/semgrep
rev: v1.45.0
hooks:
- id: semgrep
args: ['--config=auto', '--error']
Melhores Práticas
Comece com Baseline
- Execute varredura inicial para estabelecer baseline de segurança
- Priorize achados críticos e de alta severidade
- Crie roadmap de remediação
Adoção Incremental
- Comece com regras focadas em segurança
- Adicione gradualmente regras de qualidade de código
- Implemente bloqueio apenas para problemas críticos
Gerenciamento de Falsos Positivos
- Documente suppressões legítimas
- Crie listas de permissão para patterns conhecidos seguros
- Revise regularmente achados suprimidos
Otimização de Desempenho
- Exclude arquivos de teste e código gerado
- Use varredura incremental para bases de código grandes
- Armazene em cache resultados de varredura em CI/CD
Capacitação do Time
- Forneça treinamento de segurança para desenvolvedores
- Crie documentação interna para patterns comuns
- Estabeleça programa de security champions
Casos de Uso Comum
Configuração de Novo Projeto
./scripts/run-sast.sh --setup --language python --tools semgrep,sonarqube
Desenvolvimento de Regra Personalizada
# Veja references/semgrep-rules.md para exemplos detalhados
rules:
- id: hardcoded-jwt-secret
pattern: jwt.encode($DATA, "...", ...)
message: JWT secret não deve ser hardcoded
severity: ERROR
Varredura de Conformidade
# Varredura focada em PCI-DSS
semgrep --config p/pci-dss --json -o pci-scan-results.json
Troubleshooting
Taxa Alta de Falsos Positivos
- Revise e ajuste sensibilidade de regra
- Adicione filtros de path para excluir arquivos de teste
- Use metadados nostmt para patterns barulhentos
- Crie exceções de regra específicas da organização
Problemas de Desempenho
- Ative varredura incremental
- Paralelizar varreduras entre módulos
- Otimize patterns de regra para eficiência
- Armazene em cache dependências e resultados de varredura
Falhas de Integração
- Verifique tokens de API e credenciais
- Valide conectividade de rede e configurações de proxy
- Revise compatibilidade de formato de saída SARIF
- Valide permissões do runner de CI/CD
Habilidades Relacionadas
- OWASP Top 10 Checklist
- Container Security
- Dependency Scanning
Comparação de Ferramentas
| Ferramenta | Melhor para | Suporte de Linguagem | Custo | Integração |
|---|---|---|---|---|
| Semgrep | Regras personalizadas, varreduras rápidas | 30+ linguagens | Grátis/Enterprise | Excelente |
| SonarQube | Qualidade de código + segurança | 25+ linguagens | Grátis/Comercial | Bom |
| CodeQL | Análise profunda, pesquisa | 10+ linguagens | Grátis (OSS) | GitHub nativo |
Próximos Passos
- Conclua configuração inicial de ferramenta SAST
- Execute varredura de segurança baseline
- Crie regras personalizadas para patterns específicos da organização
- Integre ao pipeline CI/CD
- Estabeleça políticas de security gate
- Treine time de desenvolvimento em achados e remediação