协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
senior-security【开发与工程】Kit de engenharia de segurança para modelagem de ameaças, análise de vulnerabilidades, arquitetura segura e testes de penetração. Inclui análise STRIDE, orientação OWASP, padrões de criptografia e ferramentas de escaneamento de segurança. Use quando o usuário perguntar sobre revisões de segurança, análise de ameaças, avaliações de vulnerabilidades, p…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: "senior-security" description: "Kit de engenharia de segurança para modelagem de ameaças, análise de vulnerabilidades, arquitetura segura e testes de penetração. Inclui análise STRIDE, orientação OWASP, padrões de criptografia e ferramentas de escaneamento de segurança. Use quando o usuário perguntar sobre revisões de segurança, análise de ameaças, avaliações de vulnerabilidades, práticas de codificação segura, auditorias de segurança, análise de superfície de ataque, remediação de CVE ou melhores práticas de segurança." agents:
Ferramentas de engenharia de segurança para modelagem de ameaças, análise de vulnerabilidades, design de arquitetura segura e testes de penetração.
Identifique e analise ameaças de segurança usando a metodologia STRIDE.
| Categoria | Propriedade de Segurança | Foco de Mitigação |
|---|---|---|
| Spoofing | Autenticação | MFA, certificados, auth forte |
| Tampering | Integridade | Assinatura, checksums, validação |
| Repudiation | Não-repúdio | Logs de auditoria, assinaturas digitais |
| Information Disclosure | Confidencialidade | Criptografia, controles de acesso |
| Denial of Service | Disponibilidade | Rate limiting, redundância |
| Elevation of Privilege | Autorização | RBAC, princípio do menor privilégio |
| Elemento DFD | S | T | R | I | D | E |
|---|---|---|---|---|---|---|
| Entidade Externa | X | X | ||||
| Processo | X | X | X | X | X | X |
| Armazenamento de Dados | X | X | X | X | ||
| Fluxo de Dados | X | X | X |
Veja: references/threat-modeling-guide.md
Projete sistemas seguros usando princípios de defesa em profundidade.
Camada 1: PERÍMETRO
WAF, mitigação DDoS, filtragem DNS, rate limiting
Camada 2: REDE
Segmentação, IDS/IPS, monitoramento de rede, VPN, mTLS
Camada 3: HOST
Proteção de endpoint, hardening de SO, patching, logging
Camada 4: APLICAÇÃO
Validação de entrada, autenticação, codificação segura, SAST
Camada 5: DADOS
Criptografia em repouso/trânsito, controles de acesso, DLP, backup
| Caso de Uso | Padrão Recomendado |
|---|---|
| Aplicação web | OAuth 2.0 + PKCE com OIDC |
| Autenticação de API | JWT com expiração curta + refresh tokens |
| Serviço para serviço | mTLS com rotação de certificado |
| CLI/Automação | Chaves de API com allowlisting de IP |
| Alta segurança | Chaves hardware FIDO2/WebAuthn |
Veja: references/security-architecture-patterns.md
Identifique e remedie vulnerabilidades de segurança em aplicações.
Para descrições de vulnerabilidades do OWASP Top 10 e orientação de testes, consulte owasp.org/Top10.
| Impacto \ Explorabilidade | Fácil | Moderado | Difícil |
|---|---|---|---|
| Crítico | Crítico | Crítico | Alto |
| Alto | Crítico | Alto | Médio |
| Médio | Alto | Médio | Baixo |
| Baixo | Médio | Baixo | Baixo |
Revise código em busca de vulnerabilidades de segurança antes da implantação.
| Categoria | Verificação | Risco |
|---|---|---|
| Validação de Entrada | Toda entrada do usuário validada e sanitizada | Injeção |
| Codificação de Saída | Codificação apropriada ao contexto aplicada | XSS |
| Autenticação | Senhas com hash usando Argon2/bcrypt | Roubo de credenciais |
| Sessão | Flags de cookie seguros definidos (HttpOnly, Secure, SameSite) | Hijacking de sessão |
| Autorização | Verificações de permissão no lado do servidor em todos os endpoints | Escalação de privilégio |
| SQL | Queries parametrizadas usadas exclusivamente | SQL injection |
| Acesso a Arquivo | Sequências de path traversal rejeitadas | Path traversal |
| Segredos | Sem credenciais ou chaves hardcoded | Divulgação de informações |
| Dependências | Pacotes vulneráveis conhecidos atualizados | Cadeia de suprimentos |
| Logging | Dados sensíveis não registrados | Divulgação de informações |
| Padrão | Problema | Alternativa Segura |
|---|---|---|
| Formatação de string SQL | SQL injection | Use queries parametrizadas com placeholders |
| Construção de comando shell | Injeção de comando | Use subprocess com listas de argumentos, sem shell |
| Concatenação de caminho | Path traversal | Validar e canonicalizar caminhos |
| MD5/SHA1 para senhas | Hash fraco | Use Argon2id ou bcrypt |
| Math.random para tokens | Valores previsíveis | Use crypto.getRandomValues |
SQL Injection — inseguro vs. seguro (Python):
# Inseguro: formatação de string permite SQL injection
query = f"SELECT * FROM users WHERE username = '{username}'"
cursor.execute(query)
# Seguro: query parametrizada — entrada do usuário nunca interpretada como SQL
query = "SELECT * FROM users WHERE username = %s"
cursor.execute(query, (username,))
Hashing de Senha com Argon2id (Python):
from argon2 import PasswordHasher
ph = PasswordHasher() # usa padrões seguros (time_cost, memory_cost)
# No registro
hashed = ph.hash(plain_password)
# No login — lança argon2.exceptions.VerifyMismatchError em falha
ph.verify(hashed, plain_password)
Escaneamento de Segredos — padrão de correspondência central (Python):
import re, pathlib
SECRET_PATTERNS = {
"aws_access_key": re.compile(r"AKIA[0-9A-Z]{16}"),
"github_token": re.compile(r"ghp_[A-Za-z0-9]{36}"),
"private_key": re.compile(r"-----BEGIN (RSA |EC )?PRIVATE KEY-----"),
"generic_secret": re.compile(r'(?i)(password|secret|api_key)\s*=\s*["\']?\S{8,}'),
}
def scan_file(path: pathlib.Path) -> list[dict]:
findings = []
for lineno, line in enumerate(path.read_text(errors="replace").splitlines(), 1):
for name, pattern in SECRET_PATTERNS.items():
if pattern.search(line):
findings.append({"file": str(path), "line": lineno, "type": name})
return findings
Responda e contenha incidentes de segurança.
| Nível | Tempo de Resposta | Escalação |
|---|---|---|
| P1 - Crítico (violação ativa/exfiltração) | Imediato | CISO, Jurídico, Executivo |
| P2 - Alto (confirmado, contido) | 1 hora | Líder de Segurança, Diretor de TI |
| P3 - Médio (potencial, sob investigação) | 4 horas | Equipe de Segurança |
| P4 - Baixo (suspeito, baixo impacto) | 24 horas | Engenheiro de plantão |
| Fase | Ações |
|---|---|
| Identificação | Validar alerta, avaliar escopo, determinar severidade |
| Contenção | Isolar sistemas, preservar evidências, bloquear acesso |
| Erradicação | Remover ameaça, corrigir vulnerabilidades, redefinir credenciais |
| Recuperação | Restaurar serviços, verificar integridade, aumentar monitoramento |
| Lições Aprendidas | Documentar timeline, identificar lacunas, atualizar procedimentos |
| Categoria | Ferramentas |
|---|---|
| SAST | Semgrep, CodeQL, Bandit (Python), plugins de segurança ESLint |
| DAST | OWASP ZAP, Burp Suite, Nikto |
| Escaneamento de Dependências | Snyk, Dependabot, npm audit, pip-audit |
| Detecção de Segredos | GitLeaks, TruffleHog, detect-secrets |
| Segurança de Container | Trivy, Clair, Anchore |
| Infraestrutura | Checkov, tfsec, ScoutSuite |
| Rede | Wireshark, Nmap, Masscan |
| Penetração | Metasploit, sqlmap, Burp Suite Pro |
| Caso de Uso | Algoritmo | Tamanho da Chave |
|---|---|---|
| Criptografia simétrica | AES-256-GCM | 256 bits |
| Hashing de senha | Argon2id | N/A (usar padrões) |
| Autenticação de mensagem | HMAC-SHA256 | 256 bits |
| Assinaturas digitais | Ed25519 | 256 bits |
| Troca de chaves | X25519 | 256 bits |
| TLS | TLS 1.3 | N/A |
Veja: references/cryptography-implementation.md
| Script | Propósito |
|---|---|
| threat_modeler.py | Análise de ameaças STRIDE com scoring de risco DREAD; saída JSON e texto; modo guiado interativo |
| secret_scanner.py | Detectar segredos e credenciais hardcoded em 20+ padrões; pronto para integração CI/CD |
Para uso, consulte os exemplos de código inline em Workflow de Revisão de Código Seguro e os arquivos de script diretamente.
| Documento | Conteúdo |
|---|---|
| security-architecture-patterns.md | Zero Trust, defesa em profundidade, padrões de autenticação, segurança de API |
| threat-modeling-guide.md | Metodologia STRIDE, árvores de ataque, scoring DREAD, criação de DFD |
| cryptography-implementation.md | AES-GCM, RSA, Ed25519, hashing de senha, gerenciamento de chaves |
| Cabeçalho | Valor Recomendado |
|---|---|
| Content-Security-Policy | default-src self; script-src self |
| X-Frame-Options | DENY |
| X-Content-Type-Options | nosniff |
| Strict-Transport-Security | max-age=31536000; includeSubDomains |
| Referrer-Policy | strict-origin-when-cross-origin |
| Permissions-Policy | geolocation=(), microphone=(), camera=() |
Para requisitos de frameworks de conformidade (OWASP ASVS, CIS Benchmarks, NIST CSF, PCI-DSS, LGPD/ANVISA, SOC 2), consulte a respectiva documentação oficial.
| Skill | Ponto de Integração |
|---|---|
| senior-devops | Segurança CI/CD, hardening de infraestrutura |
| senior-secops | Monitoramento de segurança, resposta a incidentes |
| senior-backend | Desenvolvimento de API segura |
| senior-architect | Decisões de arquitetura de segurança |