@maestro-ai/cli 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -0
- package/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +119 -0
- package/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +147 -0
- package/content/guides/Checklist Mestre de Entrega.md +68 -0
- package/content/guides/Gates de Qualidade.md +209 -0
- package/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +355 -0
- package/content/guides/Guia de Chaos Engineering.md +267 -0
- package/content/guides/Guia de Debugging com IA.md +135 -0
- package/content/guides/Guia de Estrat/303/251gias de Cache.md" +352 -0
- package/content/guides/Guia de Migrations Zero-Downtime.md +311 -0
- package/content/guides/Guia de Multi-tenancy.md +368 -0
- package/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +195 -0
- package/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +162 -0
- package/content/guides/Guia de SLOs e Error Budgets.md +315 -0
- package/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +93 -0
- package/content/guides/Rules base.md +90 -0
- package/content/prompts/README.md +203 -0
- package/content/prompts/acessibilidade/analise-acessibilidade.md +257 -0
- package/content/prompts/apis/design-api-rest.md +303 -0
- package/content/prompts/apis/idempotencia.md +254 -0
- package/content/prompts/apis/versionamento.md +313 -0
- package/content/prompts/arquitetura/arquitetura-c4-completo.md +190 -0
- package/content/prompts/arquitetura/clean-architecture.md +151 -0
- package/content/prompts/arquitetura/ddd-bounded-contexts.md +183 -0
- package/content/prompts/arquitetura/ddd-cqrs.md +176 -0
- package/content/prompts/arquitetura/modelo-dominio.md +207 -0
- package/content/prompts/arquitetura/multi-tenancy.md +235 -0
- package/content/prompts/database/migrations-zero-downtime.md +192 -0
- package/content/prompts/database/otimizacao-queries.md +296 -0
- package/content/prompts/desenvolvimento/code-review.md +301 -0
- package/content/prompts/desenvolvimento/gerar-servico.md +271 -0
- package/content/prompts/devops/docker-compose.md +336 -0
- package/content/prompts/devops/feature-flags.md +374 -0
- package/content/prompts/devops/kubernetes-deploy.md +460 -0
- package/content/prompts/devops/pipeline-cicd.md +358 -0
- package/content/prompts/devops/terraform-iac.md +502 -0
- package/content/prompts/escalabilidade/analise-performance.md +240 -0
- package/content/prompts/escalabilidade/analise-performance.txt +94 -0
- package/content/prompts/escalabilidade/caching.md +255 -0
- package/content/prompts/observabilidade/chaos-testing.md +237 -0
- package/content/prompts/observabilidade/estrategia-observabilidade.md +263 -0
- package/content/prompts/observabilidade/estrategia-observabilidade.txt +134 -0
- package/content/prompts/observabilidade/slos.md +215 -0
- package/content/prompts/produto/discovery-inicial.md +203 -0
- package/content/prompts/produto/discovery-inicial.txt +33 -0
- package/content/prompts/requisitos/refinar-requisitos.md +232 -0
- package/content/prompts/requisitos/refinar-requisitos.txt +40 -0
- package/content/prompts/seguranca/analise-seguranca.md +243 -0
- package/content/prompts/seguranca/pentest-checklist.md +333 -0
- package/content/prompts/seguranca/rate-limiting.md +356 -0
- package/content/prompts/seguranca/revisao-lgpd.md +227 -0
- package/content/prompts/seguranca/threat-modeling.md +224 -0
- package/content/prompts/testes/contract-testing.md +340 -0
- package/content/prompts/testes/gerar-testes-unitarios.md +474 -0
- package/content/prompts/testes/testes-e2e.md +460 -0
- package/content/prompts/testes/testes-integracao.md +418 -0
- package/content/prompts/testes/testes-performance.md +458 -0
- package/content/prompts/ux/gerar-ui-stitch.md +151 -0
- package/content/skills/api-patterns/SKILL.md +81 -0
- package/content/skills/api-patterns/api-style.md +42 -0
- package/content/skills/api-patterns/auth.md +24 -0
- package/content/skills/api-patterns/documentation.md +26 -0
- package/content/skills/api-patterns/graphql.md +41 -0
- package/content/skills/api-patterns/rate-limiting.md +31 -0
- package/content/skills/api-patterns/response.md +37 -0
- package/content/skills/api-patterns/rest.md +40 -0
- package/content/skills/api-patterns/scripts/api_validator.py +211 -0
- package/content/skills/api-patterns/security-testing.md +122 -0
- package/content/skills/api-patterns/trpc.md +41 -0
- package/content/skills/api-patterns/versioning.md +22 -0
- package/content/skills/app-builder/SKILL.md +75 -0
- package/content/skills/app-builder/agent-coordination.md +71 -0
- package/content/skills/app-builder/feature-building.md +53 -0
- package/content/skills/app-builder/project-detection.md +34 -0
- package/content/skills/app-builder/scaffolding.md +118 -0
- package/content/skills/app-builder/tech-stack.md +40 -0
- package/content/skills/app-builder/templates/SKILL.md +39 -0
- package/content/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/content/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/content/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/content/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/content/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/content/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/content/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/content/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/content/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/content/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/content/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/content/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/content/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/content/skills/architecture/SKILL.md +55 -0
- package/content/skills/architecture/context-discovery.md +43 -0
- package/content/skills/architecture/examples.md +94 -0
- package/content/skills/architecture/pattern-selection.md +68 -0
- package/content/skills/architecture/patterns-reference.md +50 -0
- package/content/skills/architecture/trade-off-analysis.md +77 -0
- package/content/skills/bash-linux/SKILL.md +199 -0
- package/content/skills/behavioral-modes/SKILL.md +242 -0
- package/content/skills/brainstorming/SKILL.md +163 -0
- package/content/skills/brainstorming/dynamic-questioning.md +350 -0
- package/content/skills/clean-code/SKILL.md +201 -0
- package/content/skills/code-review-checklist/SKILL.md +109 -0
- package/content/skills/database-design/SKILL.md +52 -0
- package/content/skills/database-design/database-selection.md +43 -0
- package/content/skills/database-design/indexing.md +39 -0
- package/content/skills/database-design/migrations.md +48 -0
- package/content/skills/database-design/optimization.md +36 -0
- package/content/skills/database-design/orm-selection.md +30 -0
- package/content/skills/database-design/schema-design.md +56 -0
- package/content/skills/database-design/scripts/schema_validator.py +172 -0
- package/content/skills/deployment-procedures/SKILL.md +241 -0
- package/content/skills/doc.md +177 -0
- package/content/skills/documentation-templates/SKILL.md +194 -0
- package/content/skills/frontend-design/SKILL.md +396 -0
- package/content/skills/frontend-design/animation-guide.md +331 -0
- package/content/skills/frontend-design/color-system.md +311 -0
- package/content/skills/frontend-design/decision-trees.md +418 -0
- package/content/skills/frontend-design/motion-graphics.md +306 -0
- package/content/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/content/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/content/skills/frontend-design/typography-system.md +345 -0
- package/content/skills/frontend-design/ux-psychology.md +541 -0
- package/content/skills/frontend-design/visual-effects.md +383 -0
- package/content/skills/game-development/2d-games/SKILL.md +119 -0
- package/content/skills/game-development/3d-games/SKILL.md +135 -0
- package/content/skills/game-development/SKILL.md +167 -0
- package/content/skills/game-development/game-art/SKILL.md +185 -0
- package/content/skills/game-development/game-audio/SKILL.md +190 -0
- package/content/skills/game-development/game-design/SKILL.md +129 -0
- package/content/skills/game-development/mobile-games/SKILL.md +108 -0
- package/content/skills/game-development/multiplayer/SKILL.md +132 -0
- package/content/skills/game-development/pc-games/SKILL.md +144 -0
- package/content/skills/game-development/vr-ar/SKILL.md +123 -0
- package/content/skills/game-development/web-games/SKILL.md +150 -0
- package/content/skills/geo-fundamentals/SKILL.md +156 -0
- package/content/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/content/skills/i18n-localization/SKILL.md +154 -0
- package/content/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/content/skills/intelligent-routing/SKILL.md +334 -0
- package/content/skills/lint-and-validate/SKILL.md +45 -0
- package/content/skills/lint-and-validate/scripts/lint_runner.py +172 -0
- package/content/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/content/skills/mcp-builder/SKILL.md +176 -0
- package/content/skills/mobile-design/SKILL.md +394 -0
- package/content/skills/mobile-design/decision-trees.md +516 -0
- package/content/skills/mobile-design/mobile-backend.md +491 -0
- package/content/skills/mobile-design/mobile-color-system.md +420 -0
- package/content/skills/mobile-design/mobile-debugging.md +122 -0
- package/content/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/content/skills/mobile-design/mobile-navigation.md +458 -0
- package/content/skills/mobile-design/mobile-performance.md +767 -0
- package/content/skills/mobile-design/mobile-testing.md +356 -0
- package/content/skills/mobile-design/mobile-typography.md +433 -0
- package/content/skills/mobile-design/platform-android.md +666 -0
- package/content/skills/mobile-design/platform-ios.md +561 -0
- package/content/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/content/skills/mobile-design/touch-psychology.md +537 -0
- package/content/skills/nextjs-best-practices/SKILL.md +203 -0
- package/content/skills/nodejs-best-practices/SKILL.md +333 -0
- package/content/skills/parallel-agents/SKILL.md +175 -0
- package/content/skills/performance-profiling/SKILL.md +143 -0
- package/content/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/content/skills/plan-writing/SKILL.md +152 -0
- package/content/skills/powershell-windows/SKILL.md +167 -0
- package/content/skills/python-patterns/SKILL.md +441 -0
- package/content/skills/react-patterns/SKILL.md +198 -0
- package/content/skills/red-team-tactics/SKILL.md +199 -0
- package/content/skills/seo-fundamentals/SKILL.md +129 -0
- package/content/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/content/skills/server-management/SKILL.md +161 -0
- package/content/skills/systematic-debugging/SKILL.md +109 -0
- package/content/skills/tailwind-patterns/SKILL.md +269 -0
- package/content/skills/tdd-workflow/SKILL.md +149 -0
- package/content/skills/testing-patterns/SKILL.md +178 -0
- package/content/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/content/skills/vulnerability-scanner/SKILL.md +276 -0
- package/content/skills/vulnerability-scanner/checklists.md +121 -0
- package/content/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/content/skills/webapp-testing/SKILL.md +187 -0
- package/content/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/content/specialists/Especialista em Acessibilidade.md +266 -0
- package/content/specialists/Especialista em An/303/241lise de Testes.md" +434 -0
- package/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +358 -0
- package/content/specialists/Especialista em Arquitetura de Software.md +177 -0
- package/content/specialists/Especialista em Banco de Dados.md +260 -0
- package/content/specialists/Especialista em Contrato de API.md +172 -0
- package/content/specialists/Especialista em Dados e Analytics com IA.md +246 -0
- package/content/specialists/Especialista em Debugging e Troubleshooting.md +191 -0
- package/content/specialists/Especialista em Desenvolvimento Frontend.md +477 -0
- package/content/specialists/Especialista em Desenvolvimento Mobile.md +241 -0
- package/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +417 -0
- package/content/specialists/Especialista em DevOps e Infraestrutura.md +294 -0
- package/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +227 -0
- package/content/specialists/Especialista em Engenharia de Requisitos com IA.md +299 -0
- package/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +179 -0
- package/content/specialists/Especialista em Gest/303/243o de Produto.md" +179 -0
- package/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +410 -0
- package/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +248 -0
- package/content/specialists/Especialista em Observabilidade.md +415 -0
- package/content/specialists/Especialista em Performance e Escalabilidade.md +373 -0
- package/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +341 -0
- package/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +419 -0
- package/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +508 -0
- package/content/specialists/Especialista em UX Design.md +453 -0
- package/content/specialists/INDEX.md +43 -0
- package/content/templates/PRD.md +165 -0
- package/content/templates/README.md +65 -0
- package/content/templates/adr.md +103 -0
- package/content/templates/arquitetura.md +279 -0
- package/content/templates/backlog.md +185 -0
- package/content/templates/checklist-seguranca.md +180 -0
- package/content/templates/contexto.md +120 -0
- package/content/templates/criterios-aceite.md +99 -0
- package/content/templates/design-banco.md +270 -0
- package/content/templates/design-doc.md +240 -0
- package/content/templates/feature.md +88 -0
- package/content/templates/historia-backend.md +84 -0
- package/content/templates/historia-frontend.md +75 -0
- package/content/templates/historia-usuario.md +125 -0
- package/content/templates/mapa-navegacao.md +133 -0
- package/content/templates/matriz-rastreabilidade.md +121 -0
- package/content/templates/modelo-dominio.md +219 -0
- package/content/templates/plano-testes.md +199 -0
- package/content/templates/prototipo-stitch.md +138 -0
- package/content/templates/requisitos.md +162 -0
- package/content/templates/slo-sli.md +197 -0
- package/content/workflows/README-MCP.md +363 -0
- package/content/workflows/brainstorm.md +113 -0
- package/content/workflows/create.md +59 -0
- package/content/workflows/debug.md +103 -0
- package/content/workflows/deploy.md +176 -0
- package/content/workflows/enhance.md +63 -0
- package/content/workflows/mcp-debug.md +506 -0
- package/content/workflows/mcp-feature.md +385 -0
- package/content/workflows/mcp-gate.md +413 -0
- package/content/workflows/mcp-next.md +388 -0
- package/content/workflows/mcp-refactor.md +600 -0
- package/content/workflows/mcp-start.md +304 -0
- package/content/workflows/mcp-status.md +400 -0
- package/content/workflows/orchestrate.md +237 -0
- package/content/workflows/plan.md +89 -0
- package/content/workflows/preview.md +81 -0
- package/content/workflows/status.md +86 -0
- package/content/workflows/test.md +144 -0
- package/content/workflows/ui-ux-pro-max.md +296 -0
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.js +138 -0
- package/dist/commands/update.d.ts +5 -0
- package/dist/commands/update.js +50 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +21 -0
- package/package.json +48 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
Vou colar abaixo anotações soltas de reuniões com o cliente.
|
|
2
|
+
|
|
3
|
+
Notas:
|
|
4
|
+
[COLE TEXTO]
|
|
5
|
+
|
|
6
|
+
Atue como analista de requisitos.
|
|
7
|
+
Organize em:
|
|
8
|
+
- visão resumida
|
|
9
|
+
- requisitos funcionais ("O sistema deve ...")
|
|
10
|
+
- requisitos não funcionais
|
|
11
|
+
- dúvidas que precisam ser respondidas com o cliente
|
|
12
|
+
- critérios de aceitação em Gherkin para os principais requisitos
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Resposta Esperada (Exemplo)
|
|
17
|
+
|
|
18
|
+
**Visão**: Sistema de agendamento online para salões de beleza.
|
|
19
|
+
|
|
20
|
+
**Requisitos Funcionais**:
|
|
21
|
+
- RF1: O sistema deve permitir que clientes agendem horários online
|
|
22
|
+
- RF2: O sistema deve enviar confirmação via WhatsApp
|
|
23
|
+
- RF3: O sistema deve permitir cancelamento até 2h antes
|
|
24
|
+
|
|
25
|
+
**Requisitos Não-Funcionais**:
|
|
26
|
+
- RNF1: Tempo de resposta < 2 segundos
|
|
27
|
+
- RNF2: Disponibilidade 99.5%
|
|
28
|
+
|
|
29
|
+
**Dúvidas**:
|
|
30
|
+
- Quais serviços serão oferecidos?
|
|
31
|
+
- Há limite de agendamentos por dia?
|
|
32
|
+
|
|
33
|
+
**Gherkin (RF1)**:
|
|
34
|
+
```gherkin
|
|
35
|
+
Cenário: Cliente agenda horário
|
|
36
|
+
Dado que estou na página de agendamento
|
|
37
|
+
Quando seleciono o serviço "Corte"
|
|
38
|
+
E escolho o horário "14:00"
|
|
39
|
+
Então devo ver a confirmação do agendamento
|
|
40
|
+
```
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
# Prompt: Análise de Segurança
|
|
2
|
+
|
|
3
|
+
> **Quando usar**: Antes de ir para produção, ou durante code review
|
|
4
|
+
> **Especialista**: Segurança da Informação
|
|
5
|
+
> **Nível**: Médio a Complexo
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Fluxo de Contexto
|
|
10
|
+
|
|
11
|
+
Antes de usar este prompt, tenha em mãos:
|
|
12
|
+
- `docs/CONTEXTO.md` - Entendimento do projeto
|
|
13
|
+
- `docs/05-arquitetura/arquitetura.md` - Arquitetura do sistema
|
|
14
|
+
- Código-fonte a analisar (ou descrição técnica)
|
|
15
|
+
|
|
16
|
+
Após gerar, salve o resultado em:
|
|
17
|
+
- `docs/09-seguranca/analise-seguranca.md`
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Prompt Completo
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
Atue como especialista em segurança de aplicações (AppSec).
|
|
25
|
+
|
|
26
|
+
## Contexto do Projeto
|
|
27
|
+
|
|
28
|
+
[COLE O CONTEÚDO DE docs/CONTEXTO.md]
|
|
29
|
+
|
|
30
|
+
## Arquitetura
|
|
31
|
+
|
|
32
|
+
[DESCREVA A ARQUITETURA - Frontend, Backend, Banco, APIs externas]
|
|
33
|
+
|
|
34
|
+
## Stack Tecnológica
|
|
35
|
+
|
|
36
|
+
- Backend: [Framework/Linguagem]
|
|
37
|
+
- Frontend: [Framework]
|
|
38
|
+
- Banco de dados: [Tipo]
|
|
39
|
+
- Autenticação: [Método atual - JWT, Sessions, OAuth]
|
|
40
|
+
- Infraestrutura: [Cloud/On-premise]
|
|
41
|
+
|
|
42
|
+
## Código/Fluxo a Analisar (opcional)
|
|
43
|
+
|
|
44
|
+
```[LINGUAGEM]
|
|
45
|
+
[COLE CÓDIGO ESPECÍFICO SE QUISER ANÁLISE PONTUAL]
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Dados Sensíveis no Sistema
|
|
49
|
+
|
|
50
|
+
- [Liste tipos de dados: PII, financeiros, saúde, etc]
|
|
51
|
+
|
|
52
|
+
## Compliance Requerido
|
|
53
|
+
|
|
54
|
+
- [ ] LGPD
|
|
55
|
+
- [ ] SOC2
|
|
56
|
+
- [ ] PCI-DSS
|
|
57
|
+
- [ ] HIPAA
|
|
58
|
+
- [ ] Nenhum específico
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Sua Missão
|
|
63
|
+
|
|
64
|
+
Realize uma análise de segurança completa:
|
|
65
|
+
|
|
66
|
+
### 1. OWASP Top 10 - Análise de Riscos
|
|
67
|
+
|
|
68
|
+
Para cada item do OWASP Top 10 aplicável:
|
|
69
|
+
|
|
70
|
+
| # | Vulnerabilidade | Risco no Sistema | Severidade | Mitigação |
|
|
71
|
+
|---|-----------------|------------------|------------|-----------|
|
|
72
|
+
| A01 | Broken Access Control | [Aplica/Não aplica] | [Crítico/Alto/Médio/Baixo] | [Ação] |
|
|
73
|
+
| A02 | Cryptographic Failures | ... | ... | ... |
|
|
74
|
+
| A03 | Injection | ... | ... | ... |
|
|
75
|
+
| A04 | Insecure Design | ... | ... | ... |
|
|
76
|
+
| A05 | Security Misconfiguration | ... | ... | ... |
|
|
77
|
+
| A06 | Vulnerable Components | ... | ... | ... |
|
|
78
|
+
| A07 | Auth Failures | ... | ... | ... |
|
|
79
|
+
| A08 | Data Integrity Failures | ... | ... | ... |
|
|
80
|
+
| A09 | Logging Failures | ... | ... | ... |
|
|
81
|
+
| A10 | SSRF | ... | ... | ... |
|
|
82
|
+
|
|
83
|
+
### 2. Autenticação e Autorização
|
|
84
|
+
|
|
85
|
+
- Método de autenticação atual
|
|
86
|
+
- Vulnerabilidades identificadas
|
|
87
|
+
- Recomendações:
|
|
88
|
+
- Password policy
|
|
89
|
+
- MFA
|
|
90
|
+
- Session management
|
|
91
|
+
- Token handling (JWT best practices)
|
|
92
|
+
- RBAC/ABAC
|
|
93
|
+
|
|
94
|
+
### 3. Proteção de Dados
|
|
95
|
+
|
|
96
|
+
- Dados em repouso (at rest)
|
|
97
|
+
- Criptografia de banco
|
|
98
|
+
- Campos sensíveis
|
|
99
|
+
- Dados em trânsito (in transit)
|
|
100
|
+
- TLS/HTTPS
|
|
101
|
+
- Certificate pinning (mobile)
|
|
102
|
+
- Dados em uso
|
|
103
|
+
- Mascaramento em logs
|
|
104
|
+
- Sanitização de inputs
|
|
105
|
+
|
|
106
|
+
### 4. Validação de Input
|
|
107
|
+
|
|
108
|
+
- Onde inputs são recebidos
|
|
109
|
+
- Riscos de injection (SQL, NoSQL, Command, LDAP)
|
|
110
|
+
- XSS (Stored, Reflected, DOM-based)
|
|
111
|
+
- Recomendações de sanitização
|
|
112
|
+
|
|
113
|
+
### 5. API Security
|
|
114
|
+
|
|
115
|
+
- Rate limiting
|
|
116
|
+
- API keys / OAuth
|
|
117
|
+
- Validação de payloads
|
|
118
|
+
- CORS configuration
|
|
119
|
+
- Versionamento seguro
|
|
120
|
+
|
|
121
|
+
### 6. Infraestrutura
|
|
122
|
+
|
|
123
|
+
- Secrets management
|
|
124
|
+
- Network segmentation
|
|
125
|
+
- WAF configuration
|
|
126
|
+
- Container security (se aplicável)
|
|
127
|
+
- Dependency scanning
|
|
128
|
+
|
|
129
|
+
### 7. Logging e Monitoramento de Segurança
|
|
130
|
+
|
|
131
|
+
- O que logar para auditoria
|
|
132
|
+
- Detecção de ataques
|
|
133
|
+
- Alertas de segurança
|
|
134
|
+
- Retenção de logs
|
|
135
|
+
|
|
136
|
+
### 8. Checklist de Hardening
|
|
137
|
+
|
|
138
|
+
Para cada componente, verificar:
|
|
139
|
+
- [ ] Headers de segurança (CSP, HSTS, X-Frame-Options)
|
|
140
|
+
- [ ] Desabilitar debug em produção
|
|
141
|
+
- [ ] Remover endpoints de desenvolvimento
|
|
142
|
+
- [ ] Atualizar dependências
|
|
143
|
+
- [ ] Configurar firewall corretamente
|
|
144
|
+
|
|
145
|
+
### 9. Plano de Resposta a Incidentes
|
|
146
|
+
|
|
147
|
+
- Passos iniciais ao detectar breach
|
|
148
|
+
- Quem notificar
|
|
149
|
+
- Como preservar evidências
|
|
150
|
+
- Comunicação com usuários (LGPD)
|
|
151
|
+
|
|
152
|
+
### 10. Priorização de Correções
|
|
153
|
+
|
|
154
|
+
| Vulnerabilidade | Severidade | Esforço | Prioridade |
|
|
155
|
+
|-----------------|------------|---------|------------|
|
|
156
|
+
| [Vuln 1] | Crítico | Baixo | ⭐⭐⭐ URGENTE |
|
|
157
|
+
| [Vuln 2] | Alto | Médio | ⭐⭐⭐ |
|
|
158
|
+
| [Vuln 3] | Médio | Alto | ⭐⭐ |
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Exemplo de Uso
|
|
164
|
+
|
|
165
|
+
```text
|
|
166
|
+
Atue como especialista em segurança de aplicações (AppSec).
|
|
167
|
+
|
|
168
|
+
## Contexto do Projeto
|
|
169
|
+
|
|
170
|
+
Sistema de agendamento para salões de beleza.
|
|
171
|
+
Clientes agendam online, dados são armazenados.
|
|
172
|
+
|
|
173
|
+
## Arquitetura
|
|
174
|
+
|
|
175
|
+
- Frontend: Next.js na Vercel
|
|
176
|
+
- Backend: NestJS na AWS ECS
|
|
177
|
+
- Banco: PostgreSQL RDS
|
|
178
|
+
- Cache: Redis ElastiCache
|
|
179
|
+
|
|
180
|
+
## Stack Tecnológica
|
|
181
|
+
|
|
182
|
+
- Backend: NestJS + TypeScript
|
|
183
|
+
- Frontend: Next.js + React
|
|
184
|
+
- Banco de dados: PostgreSQL
|
|
185
|
+
- Autenticação: JWT armazenado em httpOnly cookie
|
|
186
|
+
- Infraestrutura: AWS
|
|
187
|
+
|
|
188
|
+
## Dados Sensíveis no Sistema
|
|
189
|
+
|
|
190
|
+
- Nome e telefone de clientes (PII)
|
|
191
|
+
- Email dos clientes
|
|
192
|
+
- Histórico de agendamentos
|
|
193
|
+
- Senhas dos administradores (hash)
|
|
194
|
+
|
|
195
|
+
## Compliance Requerido
|
|
196
|
+
|
|
197
|
+
- [x] LGPD
|
|
198
|
+
- [ ] SOC2
|
|
199
|
+
- [ ] PCI-DSS
|
|
200
|
+
- [ ] HIPAA
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Resposta Esperada (Resumo)
|
|
206
|
+
|
|
207
|
+
### OWASP Top 10 - Resumo
|
|
208
|
+
|
|
209
|
+
| # | Vulnerabilidade | Risco | Severidade |
|
|
210
|
+
|---|-----------------|-------|------------|
|
|
211
|
+
| A01 | Broken Access Control | Alto - Verificar IDOR | Crítico |
|
|
212
|
+
| A02 | Cryptographic Failures | Médio - Verificar hash de senhas | Alto |
|
|
213
|
+
| A03 | Injection | Baixo - Usando ORM | Médio |
|
|
214
|
+
| A07 | Auth Failures | Médio - Verificar brute force | Alto |
|
|
215
|
+
|
|
216
|
+
### Top 3 Prioridades
|
|
217
|
+
|
|
218
|
+
1. **IDOR em endpoints** (Crítico, Esforço Baixo)
|
|
219
|
+
- Verificar autorização por recurso
|
|
220
|
+
- Implementar middleware de ownership
|
|
221
|
+
|
|
222
|
+
2. **Rate Limiting** (Alto, Esforço Baixo)
|
|
223
|
+
- Adicionar limite em /login
|
|
224
|
+
- Adicionar limite em /api/*
|
|
225
|
+
|
|
226
|
+
3. **Audit Logging** (Médio, Esforço Médio)
|
|
227
|
+
- Logar ações administrativas
|
|
228
|
+
- Logar acessos a dados sensíveis
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Checklist Pós-Geração
|
|
233
|
+
|
|
234
|
+
- [ ] OWASP Top 10 analisado
|
|
235
|
+
- [ ] Autenticação e autorização revisadas
|
|
236
|
+
- [ ] Proteção de dados mapeada
|
|
237
|
+
- [ ] Input validation verificada
|
|
238
|
+
- [ ] API security checklist completo
|
|
239
|
+
- [ ] Secrets management verificado
|
|
240
|
+
- [ ] Logging de segurança configurado
|
|
241
|
+
- [ ] Priorização de correções definida
|
|
242
|
+
- [ ] LGPD compliance verificado (se aplicável)
|
|
243
|
+
- [ ] Salvar em `docs/09-seguranca/analise-seguranca.md`
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
# Prompt: Checklist de Pentest para Desenvolvedores
|
|
2
|
+
|
|
3
|
+
> **Quando usar**: Antes de releases, após implementar autenticação/autorização
|
|
4
|
+
> **Especialista**: [Segurança da Informação](../../02-especialistas/Especialista%20em%20Segurança%20da%20Informação.md)
|
|
5
|
+
> **Nível**: Médio
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Fluxo de Contexto
|
|
10
|
+
|
|
11
|
+
Antes de usar este prompt, tenha em mãos:
|
|
12
|
+
- `docs/CONTEXTO.md` - Entendimento do projeto
|
|
13
|
+
- `docs/05-arquitetura/arquitetura.md` - Arquitetura e endpoints
|
|
14
|
+
- URLs de ambiente de staging/desenvolvimento
|
|
15
|
+
|
|
16
|
+
Após gerar, salve o resultado em:
|
|
17
|
+
- `docs/09-seguranca/pentest-checklist.md`
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Prompt Completo
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
Atue como pentester especializado em aplicações web.
|
|
25
|
+
|
|
26
|
+
## Contexto do Projeto
|
|
27
|
+
|
|
28
|
+
[COLE O CONTEÚDO DE docs/CONTEXTO.md]
|
|
29
|
+
|
|
30
|
+
## Stack Tecnológica
|
|
31
|
+
|
|
32
|
+
- Backend: [Framework/Linguagem]
|
|
33
|
+
- Frontend: [Framework]
|
|
34
|
+
- Banco de dados: [Tipo]
|
|
35
|
+
- Autenticação: [JWT/Sessions/OAuth]
|
|
36
|
+
- APIs externas: [Lista]
|
|
37
|
+
|
|
38
|
+
## Endpoints Críticos
|
|
39
|
+
|
|
40
|
+
Liste os endpoints mais sensíveis:
|
|
41
|
+
- [POST /api/auth/login]
|
|
42
|
+
- [POST /api/payments]
|
|
43
|
+
- [GET /api/users/:id]
|
|
44
|
+
- [PUT /api/admin/*]
|
|
45
|
+
|
|
46
|
+
## Ambiente de Teste
|
|
47
|
+
|
|
48
|
+
- URL: [staging.example.com]
|
|
49
|
+
- Credenciais teste: [user/pass ou como obter]
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Sua Missão
|
|
54
|
+
|
|
55
|
+
Crie um checklist de pentest executável por desenvolvedores, com comandos e ferramentas:
|
|
56
|
+
|
|
57
|
+
### 1. Reconhecimento
|
|
58
|
+
|
|
59
|
+
#### 1.1 Mapeamento de Endpoints
|
|
60
|
+
```bash
|
|
61
|
+
# Usando ferramentas de crawling
|
|
62
|
+
# Listar todos os endpoints descobertos
|
|
63
|
+
# Identificar endpoints não documentados
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Ferramentas:
|
|
67
|
+
- [ ] Verificar sitemap.xml e robots.txt
|
|
68
|
+
- [ ] Inspecionar JavaScript para endpoints hardcoded
|
|
69
|
+
- [ ] Usar Burp Suite / OWASP ZAP para spider
|
|
70
|
+
|
|
71
|
+
#### 1.2 Análise de Headers
|
|
72
|
+
```bash
|
|
73
|
+
# Verificar headers de resposta
|
|
74
|
+
curl -I https://[URL]
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Checklist:
|
|
78
|
+
- [ ] X-Content-Type-Options: nosniff
|
|
79
|
+
- [ ] X-Frame-Options: DENY/SAMEORIGIN
|
|
80
|
+
- [ ] Content-Security-Policy configurado
|
|
81
|
+
- [ ] Strict-Transport-Security presente
|
|
82
|
+
- [ ] X-XSS-Protection (legacy browsers)
|
|
83
|
+
- [ ] Server header não expõe versões
|
|
84
|
+
|
|
85
|
+
### 2. Autenticação
|
|
86
|
+
|
|
87
|
+
#### 2.1 Login Brute Force
|
|
88
|
+
```bash
|
|
89
|
+
# Testar rate limiting
|
|
90
|
+
for i in {1..20}; do
|
|
91
|
+
curl -X POST [URL]/api/auth/login \
|
|
92
|
+
-d '{"email":"test@test.com","password":"wrong'$i'"}' \
|
|
93
|
+
-w "%{http_code}\n"
|
|
94
|
+
done
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
- [ ] Rate limiting ativo após X tentativas
|
|
98
|
+
- [ ] Lockout de conta após Y tentativas
|
|
99
|
+
- [ ] Mensagens de erro não revelam se email existe
|
|
100
|
+
|
|
101
|
+
#### 2.2 Password Policy
|
|
102
|
+
- [ ] Mínimo 8 caracteres
|
|
103
|
+
- [ ] Exige complexidade (maiúscula, número, especial)
|
|
104
|
+
- [ ] Verifica contra senhas comuns
|
|
105
|
+
- [ ] Verifica contra dados do usuário
|
|
106
|
+
|
|
107
|
+
#### 2.3 Session Management
|
|
108
|
+
```bash
|
|
109
|
+
# Verificar atributos de cookie
|
|
110
|
+
curl -c - [URL]/api/auth/login
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
- [ ] Cookie com HttpOnly
|
|
114
|
+
- [ ] Cookie com Secure
|
|
115
|
+
- [ ] Cookie com SameSite=Strict/Lax
|
|
116
|
+
- [ ] Sessão expira em tempo razoável
|
|
117
|
+
- [ ] Logout invalida sessão no servidor
|
|
118
|
+
|
|
119
|
+
### 3. Autorização (IDOR/BOLA)
|
|
120
|
+
|
|
121
|
+
#### 3.1 Acesso Horizontal
|
|
122
|
+
```bash
|
|
123
|
+
# Tentar acessar recurso de outro usuário
|
|
124
|
+
# Login como user1, tentar acessar dados de user2
|
|
125
|
+
curl -H "Authorization: Bearer [TOKEN_USER1]" \
|
|
126
|
+
[URL]/api/users/[ID_USER2]/profile
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
- [ ] Não consegue ver dados de outros usuários
|
|
130
|
+
- [ ] Não consegue editar recursos de outros
|
|
131
|
+
- [ ] Não consegue deletar recursos de outros
|
|
132
|
+
|
|
133
|
+
#### 3.2 Acesso Vertical
|
|
134
|
+
```bash
|
|
135
|
+
# Tentar acessar endpoint admin como usuário comum
|
|
136
|
+
curl -H "Authorization: Bearer [TOKEN_USER]" \
|
|
137
|
+
[URL]/api/admin/users
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
- [ ] Endpoints admin retornam 403 para usuários comuns
|
|
141
|
+
- [ ] Funcionalidades admin não aparecem no frontend
|
|
142
|
+
|
|
143
|
+
#### 3.3 Manipulação de IDs
|
|
144
|
+
- [ ] IDs não são sequenciais previsíveis (UUID)
|
|
145
|
+
- [ ] Ou validação de ownership é feita
|
|
146
|
+
|
|
147
|
+
### 4. Injection
|
|
148
|
+
|
|
149
|
+
#### 4.1 SQL Injection
|
|
150
|
+
```bash
|
|
151
|
+
# Payloads básicos
|
|
152
|
+
curl "[URL]/api/search?q=test' OR '1'='1"
|
|
153
|
+
curl "[URL]/api/search?q=test'; DROP TABLE users;--"
|
|
154
|
+
curl "[URL]/api/users/1 OR 1=1"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
- [ ] Queries parametrizadas usadas
|
|
158
|
+
- [ ] Sem erros SQL expostos na resposta
|
|
159
|
+
- [ ] WAF bloqueia payloads suspeitos
|
|
160
|
+
|
|
161
|
+
#### 4.2 NoSQL Injection
|
|
162
|
+
```bash
|
|
163
|
+
# Para MongoDB
|
|
164
|
+
curl -X POST [URL]/api/login \
|
|
165
|
+
-d '{"email":{"$gt":""},"password":{"$gt":""}}'
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
- [ ] Input validation antes das queries
|
|
169
|
+
- [ ] Sem operadores MongoDB em inputs
|
|
170
|
+
|
|
171
|
+
#### 4.3 Command Injection
|
|
172
|
+
- [ ] Sem chamadas shell com input do usuário
|
|
173
|
+
- [ ] Se necessário, whitelist de comandos
|
|
174
|
+
|
|
175
|
+
### 5. XSS (Cross-Site Scripting)
|
|
176
|
+
|
|
177
|
+
#### 5.1 Reflected XSS
|
|
178
|
+
```bash
|
|
179
|
+
# Testar em parâmetros de URL
|
|
180
|
+
curl "[URL]/search?q=<script>alert('xss')</script>"
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
#### 5.2 Stored XSS
|
|
184
|
+
```bash
|
|
185
|
+
# Tentar salvar payload em campos
|
|
186
|
+
curl -X POST [URL]/api/posts \
|
|
187
|
+
-d '{"title":"<img src=x onerror=alert(1)>"}'
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Checklist:
|
|
191
|
+
- [ ] Output encoding aplicado
|
|
192
|
+
- [ ] CSP configurado corretamente
|
|
193
|
+
- [ ] Sanitização de HTML (se permitir rich text)
|
|
194
|
+
|
|
195
|
+
### 6. CSRF (Cross-Site Request Forgery)
|
|
196
|
+
|
|
197
|
+
```html
|
|
198
|
+
<!-- Tentar executar ação via página externa -->
|
|
199
|
+
<form action="[URL]/api/settings" method="POST">
|
|
200
|
+
<input name="email" value="attacker@evil.com">
|
|
201
|
+
</form>
|
|
202
|
+
<script>document.forms[0].submit();</script>
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
- [ ] Token CSRF em formulários
|
|
206
|
+
- [ ] Verificação de Origin/Referer
|
|
207
|
+
- [ ] SameSite cookie attribute
|
|
208
|
+
|
|
209
|
+
### 7. Upload de Arquivos
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# Testar bypass de validação
|
|
213
|
+
curl -X POST [URL]/api/upload \
|
|
214
|
+
-F "file=@malicious.php;type=image/png"
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
- [ ] Validação de tipo por magic bytes (não apenas extensão)
|
|
218
|
+
- [ ] Renomeação de arquivos uploadados
|
|
219
|
+
- [ ] Armazenamento fora do webroot
|
|
220
|
+
- [ ] Limite de tamanho de arquivo
|
|
221
|
+
- [ ] Scan de malware (se aplicável)
|
|
222
|
+
|
|
223
|
+
### 8. API Security
|
|
224
|
+
|
|
225
|
+
#### 8.1 Rate Limiting
|
|
226
|
+
```bash
|
|
227
|
+
# Testar limites
|
|
228
|
+
for i in {1..100}; do
|
|
229
|
+
curl [URL]/api/expensive-operation &
|
|
230
|
+
done
|
|
231
|
+
wait
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
- [ ] Rate limit por IP
|
|
235
|
+
- [ ] Rate limit por usuário
|
|
236
|
+
- [ ] Resposta 429 Too Many Requests
|
|
237
|
+
|
|
238
|
+
#### 8.2 Mass Assignment
|
|
239
|
+
```bash
|
|
240
|
+
# Tentar adicionar campos não permitidos
|
|
241
|
+
curl -X PUT [URL]/api/users/me \
|
|
242
|
+
-d '{"name":"test","role":"admin","verified":true}'
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
- [ ] Whitelist de campos atualizáveis
|
|
246
|
+
- [ ] Campos sensíveis ignorados
|
|
247
|
+
|
|
248
|
+
### 9. Informação Sensível
|
|
249
|
+
|
|
250
|
+
#### 9.1 Exposição em Respostas
|
|
251
|
+
```bash
|
|
252
|
+
# Verificar o que retorna nas APIs
|
|
253
|
+
curl [URL]/api/users | jq
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
- [ ] Senhas nunca retornadas (nem hash)
|
|
257
|
+
- [ ] Tokens internos não expostos
|
|
258
|
+
- [ ] IDs internos não vazam
|
|
259
|
+
|
|
260
|
+
#### 9.2 Erros e Debug
|
|
261
|
+
```bash
|
|
262
|
+
# Provocar erros
|
|
263
|
+
curl [URL]/api/undefined-route
|
|
264
|
+
curl "[URL]/api/users/abc" # ID inválido
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
- [ ] Stack traces não expostos
|
|
268
|
+
- [ ] Versões de framework ocultas
|
|
269
|
+
- [ ] Mensagens de erro genéricas
|
|
270
|
+
|
|
271
|
+
### 10. Ferramentas Recomendadas
|
|
272
|
+
|
|
273
|
+
| Ferramenta | Uso | Link |
|
|
274
|
+
|------------|-----|------|
|
|
275
|
+
| Burp Suite | Proxy, scanner | community edition gratuita |
|
|
276
|
+
| OWASP ZAP | Proxy, scanner | open source |
|
|
277
|
+
| sqlmap | SQL injection | open source |
|
|
278
|
+
| Nikto | Web scanner | open source |
|
|
279
|
+
| nuclei | Vulnerability scanner | open source |
|
|
280
|
+
|
|
281
|
+
### 11. Relatório de Findings
|
|
282
|
+
|
|
283
|
+
| ID | Vulnerabilidade | Severidade | Endpoint | PoC | Status |
|
|
284
|
+
|----|-----------------|------------|----------|-----|--------|
|
|
285
|
+
| V1 | [descrição] | [Crítico/Alto/Médio/Baixo] | [endpoint] | [como reproduzir] | [Aberto/Corrigido] |
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## Exemplo de Uso
|
|
291
|
+
|
|
292
|
+
```text
|
|
293
|
+
Atue como pentester especializado em aplicações web.
|
|
294
|
+
|
|
295
|
+
## Contexto do Projeto
|
|
296
|
+
|
|
297
|
+
Sistema de RH para gestão de funcionários. Permite cadastro, folha de pagamento, férias.
|
|
298
|
+
|
|
299
|
+
## Stack
|
|
300
|
+
|
|
301
|
+
- Backend: Node.js + Express
|
|
302
|
+
- Frontend: React
|
|
303
|
+
- Banco: PostgreSQL
|
|
304
|
+
- Auth: JWT em localStorage
|
|
305
|
+
|
|
306
|
+
## Endpoints Críticos
|
|
307
|
+
|
|
308
|
+
- POST /api/auth/login
|
|
309
|
+
- GET /api/employees/:id/salary
|
|
310
|
+
- POST /api/payroll/generate
|
|
311
|
+
- GET /api/admin/reports
|
|
312
|
+
|
|
313
|
+
## Ambiente
|
|
314
|
+
|
|
315
|
+
- URL: staging-rh.company.internal
|
|
316
|
+
- Test user: test@company.com / Test123!
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## Checklist Pós-Geração
|
|
322
|
+
|
|
323
|
+
- [ ] Headers de segurança verificados
|
|
324
|
+
- [ ] Autenticação testada (brute force, session)
|
|
325
|
+
- [ ] Autorização testada (IDOR, escalação)
|
|
326
|
+
- [ ] Injection testada (SQL, NoSQL, Command)
|
|
327
|
+
- [ ] XSS testada (reflected, stored)
|
|
328
|
+
- [ ] CSRF verificado
|
|
329
|
+
- [ ] Upload de arquivos testado (se aplicável)
|
|
330
|
+
- [ ] Rate limiting verificado
|
|
331
|
+
- [ ] Informações sensíveis verificadas
|
|
332
|
+
- [ ] Relatório de findings documentado
|
|
333
|
+
- [ ] Salvar em `docs/09-seguranca/pentest-checklist.md`
|