Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
crml — Lenguaje declarativo de código abierto para el modelado de riesgo cibernético. Construya modelos de riesgo bayesianos como QBER, motores Monte Carlo de FAIR y plataformas empresariales de cuantificación de riesgos. Disponible en PyPI. | Kitploit
Herramientas/GitHubGitHub/faux16/crml
Análisis de VulnerabilidadesInteligencia de AmenazasPapers e InvestigaciónAprendizaje y Educación
GitHubfaux16/crml

crml

Lenguaje declarativo de código abierto para el modelado de riesgo cibernético. Construya modelos de riesgo bayesianos como QBER, motores Monte Carlo de FAIR y plataformas empresariales de cuantificación de riesgos. Disponible en PyPI.

Ver Repositorio
37103hace 5 mesesRevisado por Kitploit
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CRML — Lenguaje de Modelado de Riesgo Cibernético


CRML - CRML is a declaritive language for writing cyberrisk as code | Product Hunt

crml-lang crml-engine Python 3.9+ License: MIT

Estado: Borrador. Este proyecto está en desarrollo intenso y puede cambiar sin previo aviso. Agradecemos sugerencias, incidencias y contribuciones. ⚠️ ADVERTENCIA Este código se está desarrollando actualmente en la rama crml-dev-1.3. Para el último trabajo en curso y la fuente de verdad, consulte: https://github.com/Faux16/crml/tree/crml-dev-1.3

Versión: 1.2

Mantenido por: Zeron Research Labs y CyberSec Consulting LLC

Apoyado por:

  • Contribuyentes de la comunidad y adoptantes tempranos

CRML es un lenguaje de modelado de riesgo cibernético abierto, declarativo, independiente del motor e independiente del marco de Control/Ataque. Proporciona un formato YAML/JSON para describir modelos de riesgo cibernético, asignaciones de telemetría, pipelines de simulación, dependencias y requisitos de salida, sin forzarlo a un método de cuantificación específico, motor de simulación o catálogo de controles de seguridad/amenazas.

CRML permite RaC (Risk as Code - Riesgo como Código): las suposiciones de riesgo y cumplimiento se convierten en artefactos versionados, revisables que pueden ser validados y ejecutados de manera consistente entre equipos y herramientas.

Declaración del problema (qué resuelve CRML)

Los profesionales de la ciberseguridad, el cumplimiento y la gestión de riesgos a menudo se enfrentan a los mismos problemas prácticos:

  • Los modelos de riesgo están encerrados en hojas de cálculo, presentaciones o herramientas propietarias, lo que dificulta su revisión, auditoría, reproducción y automatización.
  • La efectividad de los controles y los supuestos de “defensa en profundidad” se documentan de manera inconsistente, por lo que los resultados varían según el analista y el trimestre.
  • Los marcos de amenazas y controles (por ejemplo, ATT&CK, CIS, NIST, ISO, SCF, catálogos internos) cambian con el tiempo; no proporcionan un formato legible por máquina consistente; las asignaciones son frágiles y rara vez versionadas.
  • Los motores de cuantificación difieren (Monte Carlo al estilo FAIR, QBER bayesiano, modelos actuariales, plataformas internas), lo que provoca costosas reescrituras y reinterpretaciones.
  • La evidencia lista para auditoría está fragmentada: “qué se modeló, con qué parámetros, utilizando qué datos y produciendo qué resultados” es difícil de probar.

CRML aborda esto estandarizando la descripción de los modelos de riesgo cibernético y sus entradas/salidas, para que diferentes motores y organizaciones puedan intercambiar y ejecutar el mismo modelo con validación y trazabilidad claras.

Por qué las evaluaciones cualitativas no son suficientes

Los métodos cualitativos (rojo/ámbar/verde, “alto/medio/bajo”, puntuaciones de madurez) son útiles para la comunicación y la priorización, pero tienden a fallar cuando se necesita:

  • Justificar el gasto en seguridad (o un nuevo producto de seguridad) comparando el riesgo esperado con vs. sin la inversión.
  • Comparar el riesgo de manera consistente entre unidades de negocio, proveedores o períodos de tiempo.
  • Mostrar la reducción del riesgo medida a partir de controles (no solo “mejora de la postura”).
  • Conectar el riesgo cibernético con el riesgo empresarial, los seguros y la planificación financiera.
  • Producir evidencia repetible y lista para auditoría de “cómo calculamos este número”.

La siguiente evolución es la gestión de riesgos cuantificada: tratar el riesgo cibernético como una distribución estimable de resultados, basada en supuestos y datos explícitos, y calculada por métodos repetibles. Pero los enfoques cuantificados solo escalan cuando los modelos están estandarizados — para que puedan ser validados, revisados, reutilizados y ejecutados entre herramientas y equipos.

El objetivo de CRML es ser este estándar: hace que el modelo sea portátil, los supuestos explícitos y los resultados reproducibles.

Características clave

  • Modelado de efectividad de controles — cuantifica cómo los controles reducen el riesgo (incluyendo defensa en profundidad)
  • Parametrización basada en mediana — especifica medianas directamente para distribuciones lognormales
  • Soporte multi-moneda — modela entre monedas con conversión automática
  • Autocalibración — calibra distribuciones a partir de datos de pérdidas
  • Validación estricta — la validación con esquema JSON detecta errores antes de la simulación
  • Independiente de implementación — funciona con cualquier motor de simulación compatible
  • YAML legible por humanos — fácil de leer, revisar y auditar

Visión (un mundo donde CRML sea el estándar)

Imagine un futuro cercano en el que CRML sea tan normal para el trabajo de riesgo como IaC lo es para la infraestructura:

  • Un arquitecto de seguridad propone un nuevo programa de controles actualizando documentos CRML; el cambio es revisado por pares en Git con diferencias claras.
  • Los equipos de GRC y auditoría pueden rastrear cada métrica hasta un modelo validado y versionado (entradas, supuestos, asignaciones, salidas).
  • Diferentes motores cuantitativos (plataformas de proveedores, Monte Carlo FAIR interno, QBER bayesiano, modelos actuariales de seguros) consumen los mismos documentos CRML.
  • Los cambios en los marcos se manejan actualizando catálogos/asignaciones (también versionados), en lugar de reescribir la lógica del modelo.
  • Las organizaciones pueden intercambiar modelos con socios, aseguradoras y reguladores sin enviar hojas de cálculo o capturas de pantalla.
  • Una autoridad de ciberseguridad puede publicar su informe anual del panorama de amenazas en CRML — codificando un matiz más rico que los PDF narrativos (supuestos, distribuciones, dependencias, líneas base de control y asignaciones) — y a su vez beneficiarse de envíos de datos más estandarizados y legibles por máquina desde la industria.

En ese mundo, el riesgo cibernético se vuelve reproducible, comparable y automatizable entre equipos, manteniendo al mismo tiempo la diversidad metodológica.

Consulte Arquitectura General: wiki/Concepts/Architecture.md

Ejemplo breve (cómo se ve “CRML estandarizado”)

Una organización típica podría mantener CRML junto con el código de detección e infraestructura:

  • risk/models/ — escenarios y carteras en CRML
  • risk/catalogs/ — catálogos versionados de controles + ataques (internos o externos)
  • risk/mappings/ — asignaciones de telemetría/control/amenaza con propiedad e historial de cambios
  • CI ejecuta crml-lang validate en cada PR; un trabajo nocturno ejecuta crml simulate y publica paneles

Fragmento de ejemplo (ilustrativo):

root@kitploit:~
crml_scenario: "1.0"
meta:
  name: "ransomware-baseline"
  description: "A simple ransomware risk model"

scenario:
  frequency:
    basis: per_organization_per_year
    model: poisson
    parameters:
      lambda: 0.15

  severity:
    model: lognormal
    parameters:
      median: "250 000"
      currency: USD
      sigma: 1.2

  # Optional, threat-centric controls (org posture typically belongs in portfolios/assessments)
  controls:
    - id: "org:iam.mfa"
      effectiveness_against_threat: 0.35

Este repositorio incluye dos paquetes Python y una interfaz web:

  • crml-lang: modelos de lenguaje/especificación + validación de esquemas + E/S YAML
  • crml-engine: tiempo de ejecución de referencia + CLI crml (depende de crml-lang)
  • web/: CRML Studio — interfaz de usuario en navegador para validación y simulación (Next.js)

Instalación

Si desea la CLI:

root@kitploit:~
pip install crml-engine

Si solo desea la biblioteca de lenguaje:

root@kitploit:~
pip install crml-lang
# o con soporte SCF:
pip install "crml-lang[scf]"

Inicio rápido (CLI)

root@kitploit:~
crml-lang validate examples/scenarios/qber-enterprise.yaml
crml simulate examples/scenarios/data-breach-simple.yaml --runs 10000

# Importar catálogo SCF desde Excel
crml-lang scf-import-catalog path/to/SCF_2025.xlsx scf-catalog.yaml

Inicio rápido (Python)

Cargar y validar:

root@kitploit:~
from crml_lang import CRScenario, validate

scenario = CRScenario.load_from_yaml("examples/scenarios/data-breach-simple.yaml")
report = validate("examples/scenarios/data-breach-simple.yaml", source_kind="path")
print(report.ok)

Ejecutar una simulación:

root@kitploit:~
from crml_engine.runtime import run_simulation

result = run_simulation("examples/scenarios/data-breach-simple.yaml", n_runs=10000)
print(result.metrics.eal)

Estructura del repositorio

  • crml_lang/ — paquete de lenguaje/especificación
  • crml_engine/ — paquete del motor de referencia
  • web/ — interfaz web (Next.js)
  • examples/ — modelos YAML de ejemplo y configuración FX
  • wiki/ — fuente de documentación (MkDocs)

CRML Studio

CRML Studio se encuentra en web/.

Ejecútelo localmente:

root@kitploit:~
pip install crml-engine
cd web
npm install
npm run dev

Abra http://localhost:3000

Capturas de pantalla

Simulación

Validador

Documentación

Consulte la documentación en wiki/ (comience en wiki/Home.md).

Interoperabilidad OSCAL y reglas de asignación: wiki/Guides/OSCAL.md.

Guía de integración y asignación SCF: wiki/Guides/SCF.md.

Tipos de documentos actuales:

  • Documentos de escenario: crml_scenario: "1.0" con scenario: de nivel superior
  • Documentos de cartera: crml_portfolio: "1.0" con portfolio: de nivel superior

Licencia

Licencia MIT — consulte LICENSE.

Descargar herramienta