Threat Modeling com PyTM
Modelagem de ameaças automatizada usando Python - Arquitetura como Código
O que é Threat Modeling?
Threat Modeling é o processo de identificar, documentar e mitigar ameaças de segurança durante a fase de design do software. Para SaMD (Software as a Medical Device), é obrigatórioconforme IEC 62304 e análises de risco de segurança.
Etapa 6.4 do PQ.044 - Durante especificação (SDS), ANTES de codificar
Arquiteto + CISO (revisão) + QA Leader (valida mitigações)
DFD + Lista STRIDE + Mitigações → DefectDojo + Docnix
PyTM - Python Threat Modeling
Biblioteca que define arquitetura como código Python e gera STRIDE threats automaticamente
💡 Benefício: Ao definir a arquitetura como código, o modelo vive no Git, tem versionamento, e é auditável. Mudanças na arquitetura = atualização do modelo = novas threats identificadas.
Outputs Gerados Automaticamente
1. DFD (Data Flow Diagram) - dfd.png
- • Diagrama visual da arquitetura
- • Mostra boundaries, atores, servidores, datastores
- • Fluxos de dados com protocolo e criptografia
2. Threat Report - threats.md
3. JSON Export - threats.json
Integração no Pipeline CI/CD
O threat modeling deve ser executado automaticamente no pipeline sempre que houver mudanças na arquitetura:
Entrega Final: O que você terá
Artefatos Gerados
- Modelo da arquitetura versionado em Git
- DFD visual (PNG/SVG) para documentação
- Lista completa de ameaças STRIDE
- Upload automático para Docnix/SharePoint
Integração com Ferramentas
- DefectDojo rastreia cada ameaça como Finding
- Azure DevOps cria Work Items para mitigações
- Dashboard de ameaças em tempo real
- Auditoria: prova de threat modeling realizado