Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
crml — Linguaggio dichiarativo open-source per la modellazione del rischio informatico. Costruisci modelli di rischio bayesiani come QBER, motori Monte Carlo FAIR e piattaforme di quantificazione del rischio aziendale. Disponibile su PyPI. | Kitploit
Strumenti/GitHubGitHub/faux16/crml
Analisi delle VulnerabilitàThreat IntelligencePaper e RicercaApprendimento e Formazione
GitHubfaux16/crml

crml

Linguaggio dichiarativo open-source per la modellazione del rischio informatico. Costruisci modelli di rischio bayesiani come QBER, motori Monte Carlo FAIR e piattaforme di quantificazione del rischio aziendale. Disponibile su PyPI.

Vedi Repository
371036 mesi faRevisionato da Kitploit
Sito web

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CRML — Linguaggio di Modellazione del Rischio Cyber


CRML - CRML è un linguaggio dichiarativo per scrivere il rischio cyber come codice | Product Hunt

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

Stato: Bozza. Questo progetto è in fase di sviluppo intenso e può cambiare senza preavviso. Accogliamo con favore input, segnalazioni e contributi. ⚠️ ATTENZIONE Questo codice è attualmente in fase di sviluppo sul ramo crml-dev-1.3. Per l'ultimo lavoro in corso e la fonte della verità, vedere: https://github.com/Faux16/crml/tree/crml-dev-1.3

Versione: 1.2

Mantenuto da: Zeron Research Labs e CyberSec Consulting LLC

Supportato da:

  • Contributori della comunità e primi utilizzatori

CRML è un linguaggio di modellazione del rischio cyber aperto, dichiarativo, agnostico rispetto al motore e agnostico rispetto al framework di controllo/attacco. Fornisce un formato YAML/JSON per descrivere modelli di rischio cyber, mappature di telemetria, pipeline di simulazione, dipendenze e requisiti di output, senza obbligarti a un metodo di quantificazione specifico, motore di simulazione o catalogo di controlli/minacce.

CRML abilita RaC (Risk as Code): le ipotesi di rischio e conformità diventano artefatti versionati e revisionabili che possono essere validati ed eseguiti in modo coerente tra team e strumenti.

Dichiarazione del problema (cosa risolve CRML)

I professionisti della sicurezza informatica, conformità e gestione del rischio affrontano spesso gli stessi problemi pratici:

  • I modelli di rischio sono bloccati in fogli di calcolo, presentazioni o strumenti proprietari, rendendoli difficili da revisionare, verificare, riprodurre e automatizzare.
  • Le ipotesi sull'efficacia dei controlli e sulla "difesa in profondità" sono documentate in modo incoerente, quindi i risultati variano da analista a trimestre.
  • I framework di minacce e controlli (ad es., ATT&CK, CIS, NIST, ISO, SCF, cataloghi interni) cambiano nel tempo; non forniscono un formato leggibile dalla macchina coerente; le mappature sono fragili e raramente versionate.
  • I motori di quantificazione differiscono (Monte Carlo stile FAIR, Bayesian/QBER, modelli attuariali, piattaforme interne), causando costose riscritture e re-interpretazioni.
  • Le prove pronte per audit sono frammentate: "cosa è stato modellato, con quali parametri, utilizzando quali dati e producendo quali output" è difficile da dimostrare.

CRML affronta questo problema standardizzando la descrizione dei modelli di rischio cyber e dei loro input/output, in modo che diversi motori e organizzazioni possano scambiare ed eseguire lo stesso modello con una validazione e tracciabilità chiara.

Perché le valutazioni qualitative non bastano

I metodi qualitativi (rosso/ambra/verde, "alto/medio/basso", punteggi di maturità) sono utili per la comunicazione e la prioritizzazione, ma tendono a fallire quando è necessario:

  • Giustificare la spesa per la sicurezza (o un nuovo prodotto di sicurezza) confrontando il rischio atteso con vs. senza l'investimento
  • Confrontare il rischio in modo coerente tra unità aziendali, fornitori o periodi di tempo
  • Mostrare la riduzione del rischio misurata dai controlli (non solo "miglioramento della postura")
  • Collegare il rischio cyber al rischio aziendale, assicurazioni e pianificazione finanziaria
  • Produrre prove ripetibili e pronte per audit di "come abbiamo calcolato questo numero"

La prossima evoluzione è la gestione quantificata del rischio: trattare il rischio cyber come una distribuzione stimabile di risultati, basata su ipotesi e dati espliciti, e calcolata con metodi ripetibili. Ma gli approcci quantificati scalano solo quando i modelli sono standardizzati — così possono essere validati, revisionati, riutilizzati ed eseguiti tra strumenti e team.

L'obiettivo di CRML è essere questo standard: rende il modello portabile, le ipotesi esplicite e i risultati riproducibili.

Caratteristiche principali

  • Modellazione dell'efficacia dei controlli — quantificare come i controlli riducono il rischio (inclusa la difesa in profondità)
  • Parametrizzazione basata sulla mediana — specificare direttamente le mediane per distribuzioni lognormali
  • Supporto multi-valuta — modellazione tra valute con conversione automatica
  • Autocalibrazione — calibrare le distribuzioni dai dati di perdita
  • Validazione rigorosa — la validazione JSON Schema rileva errori prima della simulazione
  • Agnostico rispetto all'implementazione — funziona con qualsiasi motore di simulazione conforme
  • YAML leggibile dall'uomo — facile da leggere, revisionare e verificare

Visione (un mondo in cui CRML è lo standard)

Immagina un futuro prossimo in cui CRML è normale per il lavoro sul rischio quanto lo IaC per l'infrastruttura:

  • Un architetto della sicurezza propone un nuovo programma di controllo aggiornando i documenti CRML; la modifica viene revisionata dai pari in Git con diff chiari.
  • I team GRC e audit possono tracciare ogni metrica fino a un modello validato e versionato (input, ipotesi, mappature, output).
  • Diversi motori di quantificazione (piattaforme fornitore, FAIR Monte Carlo interno, Bayesian QBER, modelli attuariali assicurativi) consumano tutti gli stessi documenti CRML.
  • I cambiamenti del framework vengono gestiti aggiornando cataloghi/mappature (anch'essi versionati), piuttosto che riscrivere la logica del modello.
  • Le organizzazioni possono scambiare modelli con partner, assicuratori e regolatori senza inviare fogli di calcolo o screenshot.
  • Un'autorità di sicurezza cyber può pubblicare il suo rapporto annuale sul panorama delle minacce in CRML — codificando sfumature più ricche rispetto ai PDF narrativi (ipotesi, distribuzioni, dipendenze, baseline di controllo e mappature) — e a sua volta beneficiare di invii di dati più standardizzati e leggibili dalla macchina da parte dell'industria.

In quel mondo, il rischio cyber diventa riproducibile, confrontabile e automatizzabile tra team — pur consentendo la diversità metodologica.

Vedi Architettura Generale: wiki/Concepts/Architecture.md

Breve esempio (come appare un CRML "standardizzato")

Un'organizzazione tipica potrebbe tenere CRML insieme al codice di rilevamento e infrastruttura:

  • risk/models/ — scenari e portafogli in CRML
  • risk/catalogs/ — cataloghi di controlli + attacchi versionati (interni o esterni)
  • risk/mappings/ — mappature di telemetria/controllo/minacce con proprietà e cronologia delle modifiche
  • CI esegue crml-lang validate su ogni PR; un job notturno esegue crml simulate e pubblica dashboard

Esempio di snippet (illustrativo):

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

Questo repository fornisce due pacchetti Python e un'interfaccia web:

  • crml-lang: modelli linguaggio/specifica + validazione schema + I/O YAML
  • crml-engine: runtime di riferimento + CLI crml (dipende da crml-lang)
  • web/: CRML Studio — interfaccia browser per validazione e simulazione (Next.js)

Installazione

Se vuoi la CLI:

root@kitploit:~
pip install crml-engine

Se vuoi solo la libreria del linguaggio:

root@kitploit:~
pip install crml-lang
# or with SCF support:
pip install "crml-lang[scf]"

Avvio rapido (CLI)

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

# Import SCF Catalog from Excel
crml-lang scf-import-catalog path/to/SCF_2025.xlsx scf-catalog.yaml

Avvio rapido (Python)

Carica e valida:

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)

Esegui una simulazione:

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)

Struttura del repository

  • crml_lang/ — pacchetto linguaggio/specifica
  • crml_engine/ — pacchetto motore di riferimento
  • web/ — interfaccia web (Next.js)
  • examples/ — modelli YAML CRML di esempio e configurazione FX
  • wiki/ — sorgente documentazione (MkDocs)

CRML Studio

CRML Studio si trova in web/.

Eseguilo localmente:

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

Apri http://localhost:3000

Screenshot

Simulazione

Validatore

Documentazione

Vedi la documentazione in wiki/ (inizia da wiki/Home.md).

Regole di interoperabilità e mappatura OSCAL: wiki/Guides/OSCAL.md.

Guida all'integrazione e mappatura SCF: wiki/Guides/SCF.md.

Tipi di documento correnti:

  • Documenti di scenario: crml_scenario: "1.0" con top-level scenario:
  • Documenti di portafoglio: crml_portfolio: "1.0" con top-level portfolio:

Licenza

Licenza MIT — vedi LICENSE.

Scarica lo strumento