brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
security-pen-testingUse quando o usuário pedir para realizar auditorias de segurança, testes de penetração, varredura de vulnerabilidades, verificações OWASP Top 10 ou avaliações de segurança ofensiva. Cobre análise estática, varredura de dependências, detecção de segredos, testes de segurança de API e geração de relatórios de pen test.
Independent GitHub snapshot · Automated classification · Original documentation governs
name: "security-pen-testing" description: "Use quando o usuário pedir para realizar auditorias de segurança, testes de penetração, varredura de vulnerabilidades, verificações OWASP Top 10 ou avaliações de segurança ofensiva. Cobre análise estática, varredura de dependências, detecção de segredos, testes de segurança de API e geração de relatórios de pen test." agents:
Skill de testes de segurança ofensivos para encontrar vulnerabilidades antes que os atacantes o façam. Isso NÃO é verificação de conformidade (veja senior-secops) ou redação de políticas de segurança (veja senior-security) — trata-se de descoberta sistemática de vulnerabilidades por meio de testes autorizados.
Esta skill fornece a metodologia, checklists e automação para testes de segurança ofensivos — sondagem ativa de sistemas para descobrir vulnerabilidades exploráveis. Cobre aplicações web, APIs, infraestrutura e segurança da cadeia de suprimentos.
| Skill | Foco | Abordagem |
|---|---|---|
| security-pen-testing (esta) | Encontrar vulnerabilidades | Ofensiva — simular técnicas de atacante |
| senior-secops | Operações de segurança | Defensiva — monitoramento, resposta a incidentes, SIEM |
| senior-security | Política de segurança | Governança — políticas, frameworks, registro de riscos |
| skill-security-auditor | Gates de CI/CD | Automatizada — verificações de segurança pré-merge |
Todos os testes descritos aqui pressupõem autorização por escrito do proprietário do sistema. Testes não autorizados são ilegais sob o CFAA e legislações equivalentes em todo o mundo. Sempre obtenha um documento de escopo de trabalho ou regras de engajamento assinado antes de começar.
Use a ferramenta de varredura de vulnerabilidades para geração automatizada de checklist:
# Gerar checklist OWASP para uma aplicação web
python scripts/vulnerability_scanner.py --target web --scope full
# Varredura rápida focada em API
python scripts/vulnerability_scanner.py --target api --scope quick --json
| # | Categoria | Testes Principais |
|---|---|---|
| A01 | Controle de Acesso Quebrado | IDOR, escalonamento vertical, CORS, manipulação de claims JWT, navegação forçada |
| A02 | Falhas Criptográficas | Versão TLS, hash de senha, chaves hardcoded, PRNG fraco |
| A03 | Injeção | SQLi, NoSQLi, injeção de comando, injeção de template, XSS |
| A04 | Design Inseguro | Limitação de taxa, abuso de lógica de negócio, bypass de fluxo multi-etapas |
| A05 | Configuração Incorreta de Segurança | Credenciais padrão, modo debug, cabeçalhos de segurança, listagem de diretórios |
| A06 | Componentes Vulneráveis | Auditoria de dependências (npm/pip/go), verificações de EOL, CVEs conhecidos |
| A07 | Falhas de Autenticação | Força bruta, flags de cookie de sessão, invalidação de sessão, bypass de MFA |
| A08 | Falhas de Integridade | Desserialização insegura, verificações SRI, integridade do pipeline CI/CD |
| A09 | Falhas de Logging | Log de eventos de autenticação, dados sensíveis em logs, limiares de alertas |
| A10 | SSRF | Acesso a IPs internos, endpoints de metadados cloud, rebinding DNS |
# Auditar dependências
python scripts/dependency_auditor.py --file package.json --severity high
python scripts/dependency_auditor.py --file requirements.txt --json
Veja owasp_top_10_checklist.md para procedimentos detalhados de teste, padrões de código a detectar, etapas de remediação e orientação de pontuação CVSS para cada categoria.
Ferramentas recomendadas: CodeQL (consultas personalizadas para padrões específicos do projeto), Semgrep (varredura baseada em regras com correção automática), plugins de segurança ESLint (eslint-plugin-security, eslint-plugin-no-unsanitized).
Padrões principais a detectar: injeção SQL via concatenação de strings, segredos JWT hardcoded, desserialização insegura de YAML, middleware de segurança ausente (ex.: Express sem Helmet).
Veja attack_patterns.md para padrões de código e payloads de detecção em tipos de injeção.
Comandos por ecossistema: npm audit, pip audit, govulncheck ./..., bundle audit check
Fluxo de Trabalho de Triagem de CVE:
python scripts/dependency_auditor.py --file package.json --severity critical --json
Ferramentas: TruffleHog (histórico git + sistema de arquivos), Gitleaks (baseado em regex com regras personalizadas).
# Varrer histórico git por segredos verificados
trufflehog git file://. --only-verified --json
# Varrer sistema de arquivos
trufflehog filesystem . --json
Pontos de integração: Hooks de pré-commit (gitleaks, trufflehog), gates de CI/CD (GitHub Actions com trufflesecurity/trufflehog@main). Configurar .gitleaks.toml para regras personalizadas (chaves AWS, chaves de API, cabeçalhos de chave privada) e listas de permissão para fixtures de teste.
alg para none, confusão RS256-para-HS256, modificação de claims (role: "admin", exp: 9999999999)role, is_admin) a requisições de atualizaçãoVeja attack_patterns.md para payloads completos de manipulação JWT, metodologia de teste IDOR, listas de endpoints BFLA, padrões de introspecção/profundidade/batch GraphQL e técnicas de bypass de limitação de taxa.
| Vulnerabilidade | Testes Principais |
|---|---|
| XSS | Refletido (payloads script/img/svg), Armazenado (campos persistentes), DOM-based (innerHTML + location.hash) |
| CSRF | Repetir sem token (esperar 403), repetição de token entre sessões, verificar atributo SameSite do cookie |
| Injeção SQL | Baseado em erro (' OR 1=1--), enumeração por union, baseado em tempo (SLEEP(5)), baseado em booleano |
| SSRF | IPs internos, endpoints de metadados cloud (AWS/GCP/Azure), bypasses via IPv6/hex/decimal |
| Traversal de Caminho | ../../../etc/passwd, codificação URL, bypasses com dupla codificação |
Veja attack_patterns.md para payloads completos de teste (bypasses de filtros XSS, XSS específico por contexto, injeção SQL por engine de banco de dados, técnicas de bypass SSRF e pares source/sink de XSS DOM-based).
Verificações principais:
aws s3 ls s3://bucket --no-sign-request), políticas de bucket, ACLsunsafe-inline/unsafe-eval), X-Content-Type-Options, X-Frame-Options, Referrer-Policynmap --script ssl-enum-ciphers -p 443 target.com ou testssl.sh — rejeitar TLS 1.0/1.1, RC4, 3DES, cifras de exportaçãonmap -sV target.com — sinalizar portas abertas perigosas (FTP/21, Telnet/23, Redis/6379, MongoDB/27017)Gerar relatórios profissionais a partir de achados estruturados:
# Gerar relatório markdown a partir do JSON de achados
python scripts/pentest_report_generator.py --findings findings.json --format md --output report.md
# Gerar relatório JSON
python scripts/pentest_report_generator.py --findings findings.json --format json --output report.json
[
{
"title": "SQL Injection in Login Endpoint",
"severity": "critical",
"cvss_score": 9.8,
"cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"category": "A03:2021 - Injection",
"description": "The /api/login endpoint is vulnerable to SQL injection via the email parameter.",
"evidence": "Request: POST /api/login — Response: 200 OK with admin session token",
"impact": "Full database access, authentication bypass, potential remote code execution",
"remediation": "Use parameterized queries. Replace string concatenation with prepared statements.",
"references": ["https://cwe.mitre.org/data/definitions/89.html"]
}
]
A divulgação responsável é obrigatória para qualquer vulnerabilidade encontrada durante testes autorizados. Cronograma padrão: reportar no dia 1, acompanhar no dia 7, atualização de status no dia 30, divulgação pública no dia 90.
Princípios principais: Nunca explorar além de prova de conceito, criptografar todas as comunicações, não acessar dados reais de usuários, documentar tudo com timestamps.
Veja responsible_disclosure.md para cronogramas completos de divulgação (padrão 90 dias, acelerado 30 dias, estendido 120 dias), modelos de comunicação, considerações legais, integração com programas de bug bounty e processo de solicitação de CVE.
Para revisões pré-merge ou verificações rápidas de saúde:
# 1. Gerar checklist OWASP
python scripts/vulnerability_scanner.py --target web --scope quick
# 2. Varrer dependências
python scripts/dependency_auditor.py --file package.json --severity high
# 3. Verificar segredos em commits recentes
# (Use gitleaks ou trufflehog conforme descrito na seção Varredura de Segredos)
# 4. Revisar cabeçalhos de segurança HTTP
curl -sI https://target.com | grep -iE "(strict-transport|content-security|x-frame|x-content-type)"
Decisão: Se houver achados críticos ou altos, bloquear o merge.
Dia 1 — Reconhecimento:
Dia 2 — Testes Manuais:
Dia 3 — Infraestrutura e Relatório:
# Gerar relatório final
python scripts/pentest_report_generator.py --findings findings.json --format md --output pentest-report.md
Verificações de segurança automatizadas em cada PR: varredura de segredos (TruffleHog), auditoria de dependências (npm audit, pip audit), SAST (Semgrep com p/security-audit, p/owasp-top-ten) e verificação de cabeçalhos de segurança em staging.
Política de Gate: Bloquear merge em achados críticos/altos. Avisar em médios. Registrar baixos/info.
| Skill | Relação |
|---|---|
| senior-secops | Operações defensivas de segurança — monitoramento, resposta a incidentes, configuração de SIEM |
| senior-security | Política e governança de segurança — frameworks, registro de riscos, conformidade |
| dependency-auditor | Segurança profunda da cadeia de suprimentos — SBOMs, conformidade de licenças, risco transitivo |
| code-reviewer | Práticas de revisão de código — inclui checklist de revisão de segurança |