crml
CRML (crml) é uma linguagem declarativa open-source para modelagem de risco cibernético, usando YAML/JSON para modelos, mapeamentos, simulações e saídas.
O que é crml?
crml (CRML — Cyber Risk Modeling Language) é uma linguagem declarativa open-source para modelagem de risco cibernético. Ela permite descrever modelos de risco, mapeamentos de telemetria, pipelines de simulação, dependências e saídas necessárias usando formato YAML/JSON — sem exigir um método de quantificação específico, motor de simulação ou framework de controles/ameaças.
O projeto é projetado para suportar fluxos de trabalho “Risk as Code”, onde premissas e definições de modelo podem viver em artefatos versionados e revisáveis (ex.: no Git). Isso visa facilitar a validação, reprodução e troca de modelos de risco cibernético entre equipes e ferramentas, padronizando a representação de entradas, premissas e saídas.
Principais Recursos
- Descrições de modelo declarativas em YAML/JSON: Expresse modelos de risco e seus requisitos de execução em um formato portátil, em vez de embutir lógica em planilhas ou ferramentas pontuais.
- Especificação de simulação independente de motor: Defina pipelines de simulação e dependências para que diferentes motores de simulação consumam a mesma definição de modelo (contanto que sejam compatíveis com CRML).
- Mapeamentos independentes de frameworks de controles/ataques: Represente mapeamentos para controles e ataques sem travar o modelo a um único framework ou catálogo, facilitando adaptações quando frameworks evoluem.
- Modelagem de efetividade de controles: Modele como controles reduzem risco, incluindo premissas de “defense in depth”.
- Parametrização baseada em mediana para distribuições lognormais: Especifique medianas diretamente para distribuições lognormais, alinhando com a parametrização de distribuições de risco na abordagem CRML.
- Validação rigorosa via JSON Schema: Valide documentos de modelo antes da simulação para capturar erros estruturais precocemente.
Como Usar crml
- Obtenha o projeto e documentação: Comece pelo repositório (README e docs inclusos no conteúdo do repo) e instale o pacote disponível no PyPI.
- Escreva um documento CRML: Crie um documento YAML/JSON descrevendo os elementos do modelo que deseja executar — como mapeamentos de telemetria, dependências, estrutura de pipeline de simulação e requisitos de saída.
- Valide o documento: Use a validação baseada em schema do projeto para verificar erros antes de executar simulações.
- Execute com um motor compatível: Rode o modelo usando um pipeline de simulação compatível com CRML. Como o CRML é projetado para ser independente de motor, o mesmo documento CRML pode ser reutilizado em diferentes motores compatíveis.
Casos de Uso
- Tornar modelos de risco revisáveis no Git: Converta premissas de modelos baseados em planilhas ou apresentações em documentos CRML versionados, para que mudanças sejam visíveis em diffs e possam ser auditadas.
- Padronizar troca de modelos entre equipes: Compartilhe um único modelo de risco definido em CRML entre analistas e ferramentas, garantindo interpretação consistente de entradas/premissas/saídas.
- Comparação de risco quantificado com premissas explícitas: Rode cenários como “com vs. sem investimento” ou “ao longo de períodos” mantendo premissas explícitas e vinculadas a definições de modelo validadas.
- Mapeamento de risco cibernético para fluxos de risco empresarial: Use a representação padronizada de entrada/saída do CRML para suportar rastreabilidade quando métricas cibernéticas alimentam processos de risco e planejamento financeiro empresarial.
- Evolução de mapeamentos com mudanças em frameworks: Quando frameworks de controles ou ameaças (ex.: ATT&CK, NIST, ISO ou catálogos internos) atualizarem, atualize os mapeamentos CRML em vez de reescrever lógica específica de motor.
FAQ
-
O crml está pronto para produção? O repositório indica que o status do projeto é Draft e que está em desenvolvimento intensivo, podendo mudar sem aviso. Também nota que o branch de desenvolvimento ativo é crml-dev-1.3.
-
Que formato o crml usa para definir modelos? O CRML usa formato YAML/JSON para descrever modelos de risco, mapeamentos de telemetria, pipelines de simulação, dependências e requisitos de saída.
-
O crml impõe um método específico de quantificação de risco? Não. Ele é projetado para ser implementation-agnostic e engine-agnostic, permitindo descrever modelos sem forçar um método de quantificação ou motor de simulação específico.
-
Como o crml reduz erros de modelagem? Ele suporta validação rigorosa usando JSON Schema para capturar erros nos documentos de modelo antes da simulação.
-
Onde o projeto é distribuído? Os metadados do repositório indicam que está disponível no PyPI.
Alternativas
- Modelagem de risco cibernético baseada em planilhas ou slides: Comum para trabalhos qualitativos ou semi-quantitativos, mas esses formatos são mais difíceis de validar e reproduzir de forma consistente em comparação com uma abordagem declarativa e validada por esquema.
- Implementações de modelagem de risco cibernético específicas de engine: Ferramentas que incorporam premissas e lógica de simulação diretamente em formatos de modelo proprietários podem ser mais integradas, mas frequentemente exigem reescritas ao trocar engines quantitativos ou atualizar mapeamentos.
- Formatos declarativos de configuração de uso geral (por exemplo, arquivos de configuração de modelo): Você pode usar formatos genéricos para externalizar parâmetros, mas eles geralmente não fornecem a estrutura específica de risco cibernético do CRML para mapeamento de telemetria, pipelines de simulação e saídas padronizadas.
- Outras abordagens de modelagem “Risk as Code”: Abordagens que versionam premissas e parâmetros podem melhorar a revisibilidade, mas podem não ser projetadas especificamente para modelagem de risco cibernético em contextos de controle/ataque e engines.
Alternativas
AakarDev AI
AakarDev AI é uma plataforma poderosa que simplifica o desenvolvimento de aplicações de IA com integração perfeita de banco de dados vetorial, permitindo implantação rápida e escalabilidade.
Ably Chat
Ably Chat é uma API de chat e SDKs para criar apps de mensagens em tempo real com reações, presença e edição/remoção de mensagens.
garden-md
Transforme transcrições de reuniões em uma wiki de empresa estruturada e vinculada, com arquivos Markdown locais e visualização em HTML, com sincronização.
BookAI.chat
BookAI permite que você converse com seus livros usando IA, simplesmente fornecendo o título e o autor.
DeepMotion
DeepMotion é uma plataforma de body-tracking e motion capture com IA para gerar animações 3D a partir de vídeo (ou texto) no navegador, com Animate 3D API.
skills-janitor
skills-janitor audita, rastreia e compara suas skills do Claude Code com nove ações focadas por comandos slash, sem dependências.