Engenheiro de Segurança Sênior
Ferramentas de engenharia de segurança para modelagem de ameaças, análise de vulnerabilidades, design de arquitetura segura e testes de penetração.
Sumário
Workflow de Modelagem de Ameaças
Identifique e analise ameaças de segurança usando a metodologia STRIDE.
Workflow: Conduzir Modelagem de Ameaças
- Definir escopo e limites do sistema:
- Identificar ativos a proteger
- Mapear limites de confiança
- Documentar fluxos de dados
- Criar diagrama de fluxo de dados:
- Entidades externas (usuários, serviços)
- Processos (componentes da aplicação)
- Armazenamentos de dados (bancos de dados, caches)
- Fluxos de dados (APIs, conexões de rede)
- Aplicar STRIDE a cada elemento do DFD (veja Matriz STRIDE por Elemento abaixo)
- Pontuar riscos usando DREAD:
- Potencial de dano (1-10)
- Reprodutibilidade (1-10)
- Explorabilidade (1-10)
- Usuários afetados (1-10)
- Descobribilidade (1-10)
- Priorizar ameaças por score de risco
- Definir mitigações para cada ameaça
- Documentar no relatório de modelagem de ameaças
- Validação: Todos os elementos do DFD analisados; STRIDE aplicado; ameaças pontuadas; mitigações mapeadas
Categorias de Ameaças 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 |
Matriz STRIDE por Elemento
| 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
Workflow de Arquitetura de Segurança
Projete sistemas seguros usando princípios de defesa em profundidade.
Workflow: Projetar Arquitetura Segura
- Definir requisitos de segurança:
- Requisitos de conformidade (LGPD, LGPD/ANVISA, PCI-DSS)
- Classificação de dados (público, interno, confidencial, restrito)
- Entradas do modelo de ameaças
- Aplicar camadas de defesa em profundidade:
- Perímetro: WAF, proteção DDoS, rate limiting
- Rede: Segmentação, IDS/IPS, mTLS
- Host: Patching, EDR, hardening
- Aplicação: Validação de entrada, autenticação, codificação segura
- Dados: Criptografia em repouso e em trânsito
- Implementar princípios Zero Trust:
- Verificar explicitamente (cada requisição)
- Acesso com menor privilégio (JIT/JEA)
- Assumir violação (segmentar, monitorar)
- Configurar autenticação e autorização:
- Seleção de provedor de identidade
- Requisitos de MFA
- Modelo RBAC/ABAC
- Projetar estratégia de criptografia:
- Abordagem de gerenciamento de chaves
- Seleção de algoritmo
- Ciclo de vida de certificados
- Planejar monitoramento de segurança:
- Agregação de logs
- Integração SIEM
- Regras de alerta
- Documentar decisões de arquitetura
- Validação: Camadas de defesa em profundidade definidas; Zero Trust aplicado; estratégia de criptografia documentada; monitoramento planejado
Camadas 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
Seleção de Padrão de Autenticação
| 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
Workflow de Avaliação de Vulnerabilidades
Identifique e remedie vulnerabilidades de segurança em aplicações.
Workflow: Conduzir Avaliação de Vulnerabilidades
- Definir escopo da avaliação:
- Sistemas e aplicações em escopo
- Metodologia de teste (caixa preta, caixa cinza, caixa branca)
- Regras de engajamento
- Coletar informações:
- Inventário de stack tecnológico
- Documentação de arquitetura
- Relatórios anteriores de vulnerabilidades
- Realizar escaneamento automatizado:
- SAST (análise estática)
- DAST (análise dinâmica)
- Escaneamento de dependências
- Detecção de segredos
- Conduzir testes manuais:
- Falhas de lógica de negócio
- Bypass de autenticação
- Problemas de autorização
- Vulnerabilidades de injeção
- Classificar achados por severidade:
- Crítico: Risco de exploração imediata
- Alto: Impacto significativo, mais fácil de explorar
- Médio: Impacto moderado ou dificuldade
- Baixo: Impacto menor
- Desenvolver plano de remediação:
- Priorizar por risco
- Atribuir responsáveis
- Definir prazos
- Verificar correções e documentar
- Validação: Escopo definido; testes automatizados e manuais completos; achados classificados; remediação rastreada
Para descrições de vulnerabilidades do OWASP Top 10 e orientação de testes, consulte owasp.org/Top10.
Matriz de Severidade de Vulnerabilidades
| 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 |
Workflow de Revisão de Código Seguro
Revise código em busca de vulnerabilidades de segurança antes da implantação.
Workflow: Conduzir Revisão de Código de Segurança
- Estabelecer escopo de revisão:
- Arquivos e funções alterados
- Áreas sensíveis à segurança (auth, crypto, tratamento de entrada)
- Integrações de terceiros
- Executar análise automatizada:
- Ferramentas SAST (Semgrep, CodeQL, Bandit)
- Escaneamento de segredos
- Verificação de vulnerabilidades de dependências
- Revisar código de autenticação:
- Tratamento de senha (hashing, armazenamento)
- Gerenciamento de sessão
- Validação de token
- Revisar código de autorização:
- Verificações de controle de acesso
- Implementação RBAC
- Limites de privilégio
- Revisar tratamento de dados:
- Validação de entrada
- Codificação de saída
- Construção de query SQL
- Tratamento de caminho de arquivo
- Revisar código criptográfico:
- Seleção de algoritmo
- Gerenciamento de chaves
- Geração de número aleatório
- Documentar achados com severidade
- Validação: Scans automatizados aprovados; auth/authz revisados; tratamento de dados verificado; crypto verificada; achados documentados
Checklist de Revisão de Código de Segurança
| 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ões Seguros vs Inseguros
| 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 |
Exemplos de Código Inline
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
Workflow de Resposta a Incidentes
Responda e contenha incidentes de segurança.
Workflow: Lidar com Incidente de Segurança
- Identificar e triar:
- Validar que o incidente é genuíno
- Avaliar escopo e severidade inicial
- Ativar equipe de resposta a incidentes
- Conter a ameaça:
- Isolar sistemas afetados
- Bloquear IPs/contas maliciosos
- Desabilitar credenciais comprometidas
- Erradicar a causa raiz:
- Remover malware/backdoors
- Corrigir vulnerabilidades
- Atualizar configurações
- Recuperar operações:
- Restaurar a partir de backups limpos
- Verificar integridade do sistema
- Monitorar recorrência
- Conduzir pós-mortem:
- Reconstrução da timeline
- Análise de causa raiz
- Lições aprendidas
- Implementar melhorias:
- Atualizar regras de detecção
- Aprimorar controles
- Atualizar runbooks
- Documentar e reportar
- Validação: Ameaça contida; causa raiz eliminada; sistemas recuperados; pós-mortem completo; melhorias implementadas
Níveis de Severidade de Incidentes
| 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 |
Checklist de Resposta a Incidentes
| 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 |
Referência de Ferramentas de Segurança
Ferramentas de Segurança Recomendadas
| 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 |
Seleção de Algoritmo Criptográfico
| 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
Ferramentas e Referências
Scripts
| 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.
Referências
| 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 |
Referência de Padrões de Segurança
Checklist de Cabeçalhos de Segurança
| 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.
Skills Relacionadas
1---2name: senior-security3description: 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.4---56# Engenheiro de Segurança Sênior78Ferramentas de engenharia de segurança para modelagem de ameaças, análise de vulnerabilidades, design de arquitetura segura e testes de penetração.910---1112## Sumário1314- [Workflow de Modelagem de Ameaças](#threat-modeling-workflow)15- [Workflow de Arquitetura de Segurança](#security-architecture-workflow)16- [Workflow de Avaliação de Vulnerabilidades](#vulnerability-assessment-workflow)17- [Workflow de Revisão de Código Seguro](#secure-code-review-workflow)18- [Workflow de Resposta a Incidentes](#incident-response-workflow)19- [Referência de Ferramentas de Segurança](#security-tools-referência)20- [Ferramentas e Referências](#ferramentas-e-referências)2122---2324## Workflow de Modelagem de Ameaças2526Identifique e analise ameaças de segurança usando a metodologia STRIDE.2728### Workflow: Conduzir Modelagem de Ameaças29301. Definir escopo e limites do sistema:31 - Identificar ativos a proteger32 - Mapear limites de confiança33 - Documentar fluxos de dados342. Criar diagrama de fluxo de dados:35 - Entidades externas (usuários, serviços)36 - Processos (componentes da aplicação)37 - Armazenamentos de dados (bancos de dados, caches)38 - Fluxos de dados (APIs, conexões de rede)393. Aplicar STRIDE a cada elemento do DFD (veja [Matriz STRIDE por Elemento](#stride-per-element-matrix) abaixo)404. Pontuar riscos usando DREAD:41 - Potencial de dano (1-10)42 - Reprodutibilidade (1-10)43 - Explorabilidade (1-10)44 - Usuários afetados (1-10)45 - Descobribilidade (1-10)465. Priorizar ameaças por score de risco476. Definir mitigações para cada ameaça487. Documentar no relatório de modelagem de ameaças498. **Validação:** Todos os elementos do DFD analisados; STRIDE aplicado; ameaças pontuadas; mitigações mapeadas5051### Categorias de Ameaças STRIDE5253| Categoria | Propriedade de Segurança | Foco de Mitigação |54|----------|-------------------|------------------|55| Spoofing | Autenticação | MFA, certificados, auth forte |56| Tampering | Integridade | Assinatura, checksums, validação |57| Repudiation | Não-repúdio | Logs de auditoria, assinaturas digitais |58| Information Disclosure | Confidencialidade | Criptografia, controles de acesso |59| Denial of Service | Disponibilidade | Rate limiting, redundância |60| Elevation of Privilege | Autorização | RBAC, princípio do menor privilégio |6162### Matriz STRIDE por Elemento6364| Elemento DFD | S | T | R | I | D | E |65|-------------|---|---|---|---|---|---|66| Entidade Externa | X | | X | | | |67| Processo | X | X | X | X | X | X |68| Armazenamento de Dados | | X | X | X | X | |69| Fluxo de Dados | | X | | X | X | |7071Veja: [references/threat-modeling-guide.md](references/threat-modeling-guide.md)7273---7475## Workflow de Arquitetura de Segurança7677Projete sistemas seguros usando princípios de defesa em profundidade.7879### Workflow: Projetar Arquitetura Segura80811. Definir requisitos de segurança:82 - Requisitos de conformidade (LGPD, LGPD/ANVISA, PCI-DSS)83 - Classificação de dados (público, interno, confidencial, restrito)84 - Entradas do modelo de ameaças852. Aplicar camadas de defesa em profundidade:86 - Perímetro: WAF, proteção DDoS, rate limiting87 - Rede: Segmentação, IDS/IPS, mTLS88 - Host: Patching, EDR, hardening89 - Aplicação: Validação de entrada, autenticação, codificação segura90 - Dados: Criptografia em repouso e em trânsito913. Implementar princípios Zero Trust:92 - Verificar explicitamente (cada requisição)93 - Acesso com menor privilégio (JIT/JEA)94 - Assumir violação (segmentar, monitorar)954. Configurar autenticação e autorização:96 - Seleção de provedor de identidade97 - Requisitos de MFA98 - Modelo RBAC/ABAC995. Projetar estratégia de criptografia:100 - Abordagem de gerenciamento de chaves101 - Seleção de algoritmo102 - Ciclo de vida de certificados1036. Planejar monitoramento de segurança:104 - Agregação de logs105 - Integração SIEM106 - Regras de alerta1077. Documentar decisões de arquitetura1088. **Validação:** Camadas de defesa em profundidade definidas; Zero Trust aplicado; estratégia de criptografia documentada; monitoramento planejado109110### Camadas de Defesa em Profundidade111112```113Camada 1: PERÍMETRO114 WAF, mitigação DDoS, filtragem DNS, rate limiting115116Camada 2: REDE117 Segmentação, IDS/IPS, monitoramento de rede, VPN, mTLS118119Camada 3: HOST120 Proteção de endpoint, hardening de SO, patching, logging121122Camada 4: APLICAÇÃO123 Validação de entrada, autenticação, codificação segura, SAST124125Camada 5: DADOS126 Criptografia em repouso/trânsito, controles de acesso, DLP, backup127```128129### Seleção de Padrão de Autenticação130131| Caso de Uso | Padrão Recomendado |132|----------|---------------------|133| Aplicação web | OAuth 2.0 + PKCE com OIDC |134| Autenticação de API | JWT com expiração curta + refresh tokens |135| Serviço para serviço | mTLS com rotação de certificado |136| CLI/Automação | Chaves de API com allowlisting de IP |137| Alta segurança | Chaves hardware FIDO2/WebAuthn |138139Veja: [references/security-architecture-patterns.md](references/security-architecture-patterns.md)140141---142143## Workflow de Avaliação de Vulnerabilidades144145Identifique e remedie vulnerabilidades de segurança em aplicações.146147### Workflow: Conduzir Avaliação de Vulnerabilidades1481491. Definir escopo da avaliação:150 - Sistemas e aplicações em escopo151 - Metodologia de teste (caixa preta, caixa cinza, caixa branca)152 - Regras de engajamento1532. Coletar informações:154 - Inventário de stack tecnológico155 - Documentação de arquitetura156 - Relatórios anteriores de vulnerabilidades1573. Realizar escaneamento automatizado:158 - SAST (análise estática)159 - DAST (análise dinâmica)160 - Escaneamento de dependências161 - Detecção de segredos1624. Conduzir testes manuais:163 - Falhas de lógica de negócio164 - Bypass de autenticação165 - Problemas de autorização166 - Vulnerabilidades de injeção1675. Classificar achados por severidade:168 - Crítico: Risco de exploração imediata169 - Alto: Impacto significativo, mais fácil de explorar170 - Médio: Impacto moderado ou dificuldade171 - Baixo: Impacto menor1726. Desenvolver plano de remediação:173 - Priorizar por risco174 - Atribuir responsáveis175 - Definir prazos1767. Verificar correções e documentar1778. **Validação:** Escopo definido; testes automatizados e manuais completos; achados classificados; remediação rastreada178179Para descrições de vulnerabilidades do OWASP Top 10 e orientação de testes, consulte [owasp.org/Top10](https://owasp.org/Top10).180181### Matriz de Severidade de Vulnerabilidades182183| Impacto \ Explorabilidade | Fácil | Moderado | Difícil |184|-------------------------|------|----------|-----------|185| Crítico | Crítico | Crítico | Alto |186| Alto | Crítico | Alto | Médio |187| Médio | Alto | Médio | Baixo |188| Baixo | Médio | Baixo | Baixo |189190---191192## Workflow de Revisão de Código Seguro193194Revise código em busca de vulnerabilidades de segurança antes da implantação.195196### Workflow: Conduzir Revisão de Código de Segurança1971981. Estabelecer escopo de revisão:199 - Arquivos e funções alterados200 - Áreas sensíveis à segurança (auth, crypto, tratamento de entrada)201 - Integrações de terceiros2022. Executar análise automatizada:203 - Ferramentas SAST (Semgrep, CodeQL, Bandit)204 - Escaneamento de segredos205 - Verificação de vulnerabilidades de dependências2063. Revisar código de autenticação:207 - Tratamento de senha (hashing, armazenamento)208 - Gerenciamento de sessão209 - Validação de token2104. Revisar código de autorização:211 - Verificações de controle de acesso212 - Implementação RBAC213 - Limites de privilégio2145. Revisar tratamento de dados:215 - Validação de entrada216 - Codificação de saída217 - Construção de query SQL218 - Tratamento de caminho de arquivo2196. Revisar código criptográfico:220 - Seleção de algoritmo221 - Gerenciamento de chaves222 - Geração de número aleatório2237. Documentar achados com severidade2248. **Validação:** Scans automatizados aprovados; auth/authz revisados; tratamento de dados verificado; crypto verificada; achados documentados225226### Checklist de Revisão de Código de Segurança227228| Categoria | Verificação | Risco |229|----------|-------|------|230| Validação de Entrada | Toda entrada do usuário validada e sanitizada | Injeção |231| Codificação de Saída | Codificação apropriada ao contexto aplicada | XSS |232| Autenticação | Senhas com hash usando Argon2/bcrypt | Roubo de credenciais |233| Sessão | Flags de cookie seguros definidos (HttpOnly, Secure, SameSite) | Hijacking de sessão |234| Autorização | Verificações de permissão no lado do servidor em todos os endpoints | Escalação de privilégio |235| SQL | Queries parametrizadas usadas exclusivamente | SQL injection |236| Acesso a Arquivo | Sequências de path traversal rejeitadas | Path traversal |237| Segredos | Sem credenciais ou chaves hardcoded | Divulgação de informações |238| Dependências | Pacotes vulneráveis conhecidos atualizados | Cadeia de suprimentos |239| Logging | Dados sensíveis não registrados | Divulgação de informações |240241### Padrões Seguros vs Inseguros242243| Padrão | Problema | Alternativa Segura |244|---------|-------|-------------------|245| Formatação de string SQL | SQL injection | Use queries parametrizadas com placeholders |246| Construção de comando shell | Injeção de comando | Use subprocess com listas de argumentos, sem shell |247| Concatenação de caminho | Path traversal | Validar e canonicalizar caminhos |248| MD5/SHA1 para senhas | Hash fraco | Use Argon2id ou bcrypt |249| Math.random para tokens | Valores previsíveis | Use crypto.getRandomValues |250251### Exemplos de Código Inline252253**SQL Injection — inseguro vs. seguro (Python):**254255```python256# Inseguro: formatação de string permite SQL injection257query = f"SELECT * FROM users WHERE username = '{username}'"258cursor.execute(query)259260# Seguro: query parametrizada — entrada do usuário nunca interpretada como SQL261query = "SELECT * FROM users WHERE username = %s"262cursor.execute(query, (username,))263```264265**Hashing de Senha com Argon2id (Python):**266267```python268from argon2 import PasswordHasher269270ph = PasswordHasher() # usa padrões seguros (time_cost, memory_cost)271272# No registro273hashed = ph.hash(plain_password)274275# No login — lança argon2.exceptions.VerifyMismatchError em falha276ph.verify(hashed, plain_password)277```278279**Escaneamento de Segredos — padrão de correspondência central (Python):**280281```python282import re, pathlib283284SECRET_PATTERNS = {285 "aws_access_key": re.compile(r"AKIA[0-9A-Z]{16}"),286 "github_token": re.compile(r"ghp_[A-Za-z0-9]{36}"),287 "private_key": re.compile(r"-----BEGIN (RSA |EC )?PRIVATE KEY-----"),288 "generic_secret": re.compile(r'(?i)(password|secret|api_key)\s*=\s*["']?\S{8,}'),289}290291def scan_file(path: pathlib.Path) -> list[dict]:292 findings = []293 for lineno, line in enumerate(path.read_text(errors="replace").splitlines(), 1):294 for name, pattern in SECRET_PATTERNS.items():295 if pattern.search(line):296 findings.append({"file": str(path), "line": lineno, "type": name})297 return findings298```299300---301302## Workflow de Resposta a Incidentes303304Responda e contenha incidentes de segurança.305306### Workflow: Lidar com Incidente de Segurança3073081. Identificar e triar:309 - Validar que o incidente é genuíno310 - Avaliar escopo e severidade inicial311 - Ativar equipe de resposta a incidentes3122. Conter a ameaça:313 - Isolar sistemas afetados314 - Bloquear IPs/contas maliciosos315 - Desabilitar credenciais comprometidas3163. Erradicar a causa raiz:317 - Remover malware/backdoors318 - Corrigir vulnerabilidades319 - Atualizar configurações3204. Recuperar operações:321 - Restaurar a partir de backups limpos322 - Verificar integridade do sistema323 - Monitorar recorrência3245. Conduzir pós-mortem:325 - Reconstrução da timeline326 - Análise de causa raiz327 - Lições aprendidas3286. Implementar melhorias:329 - Atualizar regras de detecção330 - Aprimorar controles331 - Atualizar runbooks3327. Documentar e reportar3338. **Validação:** Ameaça contida; causa raiz eliminada; sistemas recuperados; pós-mortem completo; melhorias implementadas334335### Níveis de Severidade de Incidentes336337| Nível | Tempo de Resposta | Escalação |338|-------|---------------|------------|339| P1 - Crítico (violação ativa/exfiltração) | Imediato | CISO, Jurídico, Executivo |340| P2 - Alto (confirmado, contido) | 1 hora | Líder de Segurança, Diretor de TI |341| P3 - Médio (potencial, sob investigação) | 4 horas | Equipe de Segurança |342| P4 - Baixo (suspeito, baixo impacto) | 24 horas | Engenheiro de plantão |343344### Checklist de Resposta a Incidentes345346| Fase | Ações |347|-------|---------|348| Identificação | Validar alerta, avaliar escopo, determinar severidade |349| Contenção | Isolar sistemas, preservar evidências, bloquear acesso |350| Erradicação | Remover ameaça, corrigir vulnerabilidades, redefinir credenciais |351| Recuperação | Restaurar serviços, verificar integridade, aumentar monitoramento |352| Lições Aprendidas | Documentar timeline, identificar lacunas, atualizar procedimentos |353354---355356## Referência de Ferramentas de Segurança357358### Ferramentas de Segurança Recomendadas359360| Categoria | Ferramentas |361|----------|-------|362| SAST | Semgrep, CodeQL, Bandit (Python), plugins de segurança ESLint |363| DAST | OWASP ZAP, Burp Suite, Nikto |364| Escaneamento de Dependências | Snyk, Dependabot, npm audit, pip-audit |365| Detecção de Segredos | GitLeaks, TruffleHog, detect-secrets |366| Segurança de Container | Trivy, Clair, Anchore |367| Infraestrutura | Checkov, tfsec, ScoutSuite |368| Rede | Wireshark, Nmap, Masscan |369| Penetração | Metasploit, sqlmap, Burp Suite Pro |370371### Seleção de Algoritmo Criptográfico372373| Caso de Uso | Algoritmo | Tamanho da Chave |374|----------|-----------|----------|375| Criptografia simétrica | AES-256-GCM | 256 bits |376| Hashing de senha | Argon2id | N/A (usar padrões) |377| Autenticação de mensagem | HMAC-SHA256 | 256 bits |378| Assinaturas digitais | Ed25519 | 256 bits |379| Troca de chaves | X25519 | 256 bits |380| TLS | TLS 1.3 | N/A |381382Veja: [references/cryptography-implementation.md](references/cryptography-implementation.md)383384---385386## Ferramentas e Referências387388### Scripts389390| Script | Propósito |391|--------|---------|392| [threat_modeler.py](scripts/threat_modeler.py) | Análise de ameaças STRIDE com scoring de risco DREAD; saída JSON e texto; modo guiado interativo |393| [secret_scanner.py](scripts/secret_scanner.py) | Detectar segredos e credenciais hardcoded em 20+ padrões; pronto para integração CI/CD |394395Para uso, consulte os exemplos de código inline em [Workflow de Revisão de Código Seguro](#inline-code-examples) e os arquivos de script diretamente.396397### Referências398399| Documento | Conteúdo |400|----------|---------|401| [security-architecture-patterns.md](references/security-architecture-patterns.md) | Zero Trust, defesa em profundidade, padrões de autenticação, segurança de API |402| [threat-modeling-guide.md](references/threat-modeling-guide.md) | Metodologia STRIDE, árvores de ataque, scoring DREAD, criação de DFD |403| [cryptography-implementation.md](references/cryptography-implementation.md) | AES-GCM, RSA, Ed25519, hashing de senha, gerenciamento de chaves |404405---406407## Referência de Padrões de Segurança408409### Checklist de Cabeçalhos de Segurança410411| Cabeçalho | Valor Recomendado |412|--------|-------------------|413| Content-Security-Policy | default-src self; script-src self |414| X-Frame-Options | DENY |415| X-Content-Type-Options | nosniff |416| Strict-Transport-Security | max-age=31536000; includeSubDomains |417| Referrer-Policy | strict-origin-when-cross-origin |418| Permissions-Policy | geolocation=(), microphone=(), camera=() |419420Para requisitos de frameworks de conformidade (OWASP ASVS, CIS Benchmarks, NIST CSF, PCI-DSS, LGPD/ANVISA, SOC 2), consulte a respectiva documentação oficial.421422---423424## Skills Relacionadas425426| Skill | Ponto de Integração |427|-------|-------------------|428| [senior-devops](../senior-devops/) | Segurança CI/CD, hardening de infraestrutura |429| [senior-secops](../senior-secops/) | Monitoramento de segurança, resposta a incidentes |430| [senior-backend](../senior-backend/) | Desenvolvimento de API segura |431| [senior-architect](../senior-architect/) | Decisões de arquitetura de segurança |