From kairos-forge
Produz um modelo de ameaças (threat model) para uma feature ou área do sistema. Use ANTES de implementar features sensíveis — auth, PII, multi-tenant, upload, integrações externas, IA, billing, RBAC. Coordenada por Helena. Identifica ativos, trust boundaries, capacidades realistas do atacante, abuse paths e mitigações por componente. Read-only: produz docs/seguranca/AMEACAS-<feature>-YYYY-MM-DD.md.
How this skill is triggered — by the user, by Claude, or both
Slash command
/kairos-forge:analisar-ameacasThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Você está sendo invocado para mapear como um atacante real **provavelmente** atacaria esta parte do sistema, e que mitigações fazem sentido **antes** de a feature existir.
Você está sendo invocado para mapear como um atacante real provavelmente atacaria esta parte do sistema, e que mitigações fazem sentido antes de a feature existir.
Você não está corrigindo vulnerabilidades nesta skill. Você está antecipando. O artefato é um documento que vai para a SPEC ou para decisoes/. Mitigação concreta vira tarefa em /kairos-forge:mobilizar ou ressalva em /kairos-forge:revisar depois.
Não invente cenário improvável. Atacante real custa dinheiro e tempo, e ataca o que dá retorno.
Se a feature for trivial (mudança de cor, label), não use. Threat model em tudo vira ruído.
Invoque helena-security. Pergunte ao usuário:
decisoes/log.md e decisoes/estado-operacional.md)Helena pode chamar:
Ativo é o que o atacante quer ou o que o usuário perde se for atacado. Não confunda ativo com componente.
| Ativo | Por que importa | Quem tem acesso hoje |
|---|
Exemplos: token de sessão, lista de e-mails de clientes, chave da API de pagamento, capacidade de enviar e-mail em nome da empresa, capacidade de aprovar transação.
Trust boundary é onde um nível de confiança muda. Exemplos comuns:
Para cada boundary relevante: o que cruza? em que formato? com que validação?
Para cada ponto onde algo entra no sistema:
| Entrypoint | Quem chama | Auth requerida | Rate limit | Validação |
|---|
Cubra rotas HTTP, endpoints internos, jobs assíncronos, webhooks, uploads, importações.
Não modele NSA. Modele:
| Perfil | Motivação | Capacidade típica |
|---|---|---|
| Usuário comum curioso | Ver dados de outro | Devtools, replay de request |
| Atacante oportunista | Monetizar via spam/credential stuffing | Ferramentas de massa, lista de senhas vazadas |
| Atacante motivado | Roubo direcionado, fraude | Scripts customizados, social engineering, tempo |
| Insider | Acessar/exfiltrar com login válido | Tudo que o login dele permite |
| Terceiro comprometido | Já tem acesso à integração X | Tudo que a integração X permite |
Escolha 2-3 perfis relevantes para esta feature. Se for billing, atacante motivado entra. Se for blog público, usuário curioso e oportunista bastam.
Para cada perfil escolhido, escreva um caminho concreto. Exemplo:
Perfil: usuário comum curioso Objetivo: ver fatura de outro usuário Caminho:
GET /invoices/123.GET /invoices/124.userId == invoice.userId.Por path, registrar:
Para cada abuse path com controle insuficiente, propor mitigação na camada mais barata e mais perto da origem:
| Camada | Exemplos de mitigação |
|---|---|
| UI | Esconder caminho não-autorizado (não é proteção, é UX) |
| Borda (proxy/WAF) | Rate limit, bloqueio por IP, normalização |
| Aplicação | AuthZ check, validação de input, escape de output, idempotência |
| Banco | RLS, constraint, índice de unicidade, audit log |
| Infra | Secret manager, network policy, IAM mínimo |
| Observabilidade | Alerta de tentativa, log estruturado, fingerprint |
UI nunca é mitigação real. Borda é defesa em profundidade. Aplicação e banco são onde a decisão vive.
Em docs/seguranca/AMEACAS-<feature-slug>-YYYY-MM-DD.md:
# Modelo de ameaças — <feature> — YYYY-MM-DD
**Coordenado por:** Helena (com <outros se houver>)
**SPEC relacionada:** <SPEC-NNN ou "não há ainda">
**Escopo:** 1-2 frases.
## Resumo executivo
- Ameaça principal em 1 frase
- 3 mitigações com maior alavancagem
- Custo de não mitigar
## Ativos
| Ativo | Por que importa | Acesso atual |
|---|---|---|
## Trust boundaries
| Boundary | O que cruza | Formato | Validação atual |
|---|---|---|---|
## Entrypoints
| Entrypoint | Caller esperado | Auth | Rate limit | Validação |
|---|---|---|---|---|
## Perfis de atacante considerados
| Perfil | Por que entra neste modelo |
|---|---|
## Abuse paths
### AP-01: <título>
**Perfil:** ...
**Objetivo:** ...
**Caminho:** passos numerados.
**Ativos atingidos:** ...
**Controle atual:** existente / parcial / inexistente.
**Mitigação proposta:** camada + ação concreta.
**Severidade:** baixa / média / alta / crítica.
(repetir AP-02, AP-03...)
## Mitigações priorizadas
| ID | Mitigação | Camada | Custo | Alavancagem | Cobre |
|---|---|---|---|---|---|
## Detecção e resposta
| Sinal | Onde monitorar | Quem responde |
|---|---|---|
## Decisões aceitas
Riscos aceitos explicitamente (com data e justificativa).
## Próximo passo
- Mitigações P1 viram tarefas em SPEC-NNN.
- Mitigações P2 vão como ressalvas em `/kairos-forge:revisar`.
- Reavaliar este modelo se: <gatilhos>.
Resumo curto:
Modelo de ameaças salvo em `docs/seguranca/AMEACAS-<slug>-YYYY-MM-DD.md`.
Coordenado por Helena (+ <outros se houver>).
Ameaça principal: <1 frase>.
Mitigações de maior alavancagem:
1. <mitigação>
2. <mitigação>
3. <mitigação>
Próximo passo: <atualizar SPEC-NNN | abrir SPEC | aceitar risco>.
npx claudepluginhub vilelaai/kairos-forgeProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.