Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
crml — 사이버 위험 모델링을 위한 오픈소스 선언형 언어입니다. QBER, FAIR Monte Carlo 엔진 및 엔터프라이즈 위험 정량화 플랫폼과 같은 베이지안 위험 모델을 구축할 수 있습니다. PyPI에서 사용 가능합니다. | Kitploit
도구/GitHubGitHub/faux16/crml
Vulnerability AnalysisThreat IntelligencePapers & ResearchLearning & Education
GitHubfaux16/crml

crml

사이버 위험 모델링을 위한 오픈소스 선언형 언어입니다. QBER, FAIR Monte Carlo 엔진 및 엔터프라이즈 위험 정량화 플랫폼과 같은 베이지안 위험 모델을 구축할 수 있습니다. PyPI에서 사용 가능합니다.

저장소 보기웹사이트
37105개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CRML — 사이버 위험 모델링 언어


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

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

상태: 초안. 이 프로젝트는 활발히 개발 중이며 예고 없이 변경될 수 있습니다. 의견, 이슈, 기여를 환영합니다. ⚠️ 경고 이 코드베이스는 현재 crml-dev-1.3 브랜치에서 개발 중입니다. 최신 진행 상황과 소스는 다음을 참조하세요: https://github.com/Faux16/crml/tree/crml-dev-1.3

버전: 1.2

유지 관리: Zeron Research Labs 및 CyberSec Consulting LLC

지원:

  • 커뮤니티 기여자 및 얼리어답터

CRML은 개방형 선언적 엔진 독립적이며 제어/공격 프레임워크 독립적인 사이버 위험 모델링 언어입니다. 특정 정량화 방법, 시뮬레이션 엔진, 보안 제어/위협 카탈로그를 강제하지 않으면서 사이버 위험 모델, 텔레메트리 매핑, 시뮬레이션 파이프라인, 종속성 및 출력 요구 사항을 설명하기 위한 YAML/JSON 형식을 제공합니다.

CRML은 **RaC(Risk as Code)**를 가능하게 합니다: 위험 및 규정 준수 가정이 버전 관리되고 검토 가능한 아티팩트가 되어 팀과 도구 전반에서 일관되게 검증 및 실행될 수 있습니다.

문제 설명 (CRML이 해결하는 것)

사이버 보안, 규정 준수 및 위험 관리 전문가는 종종 동일한 실무 문제에 직면합니다:

  • 위험 모델이 스프레드시트, 슬라이드 데크 또는 독점 도구에 갇혀 있어 검토, 감사, 재현 및 자동화가 어렵습니다.
  • 제어 효과성 및 '심층 방어' 가정이 일관되지 않게 문서화되어 분석가와 분기별로 결과가 달라집니다.
  • 위협 및 제어 프레임워크(예: ATT&CK, CIS, NIST, ISO, SCF, 내부 카탈로그)는 시간이 지남에 따라 변경되며, 일관된 기계 판독 가능 형식을 제공하지 않습니다. 매핑은 취약하고 버전 관리가 거의 되지 않습니다.
  • 정량화 엔진이 다릅니다(FAIR 스타일 몬테카를로, 베이지안/QBER, 보험계리 모델, 내부 플랫폼). 따라서 비용이 많이 드는 재작성 및 재해석이 발생합니다.
  • 감사 준비 증거가 분산되어 있습니다: '무엇이 모델링되었는지, 어떤 매개변수로, 어떤 데이터를 사용하여, 어떤 출력을 생성했는지' 증명하기 어렵습니다.

CRML은 사이버 위험 모델과 그 입력/출력에 대한 설명을 표준화하여 다양한 엔진과 조직이 명확한 검증 및 추적 가능성을 가지고 동일한 모델을 교환하고 실행할 수 있도록 함으로써 이 문제를 해결합니다.

정성적 평가만으로 충분하지 않은 이유

정성적 방법(적색/황색/녹색, '높음/중간/낮음', 성숙도 점수)은 의사소통 및 우선순위 지정에 유용하지만 다음과 같은 경우에는 한계가 있습니다:

  • 투자 유무에 따른 예상 위험을 비교하여 보안 지출(또는 새로운 보안 제품)을 정당화해야 하는 경우
  • 사업 부서, 공급업체 또는 기간 전반에 걸쳐 일관되게 위험을 비교해야 하는 경우
  • 제어로 인한 측정된 위험 감소를 보여줘야 하는 경우('개선된 자세'만이 아닌)
  • 사이버 위험을 기업 위험, 보험 및 재무 계획과 연결해야 하는 경우
  • '이 숫자를 어떻게 계산했는지'에 대한 반복 가능하고 감사 준비된 증거를 생성해야 하는 경우

다음 진화는 정량화된 위험 관리입니다: 사이버 위험을 명시적 가정과 데이터에 기반하여 추정 가능한 결과 분포로 취급하고 반복 가능한 방법으로 계산하는 것입니다. 그러나 정량화된 접근 방식은 모델이 표준화되어야만 확장될 수 있습니다. 즉, 도구와 팀 간에 검증, 검토, 재사용 및 실행될 수 있어야 합니다.

CRML의 목표는 이 표준이 되는 것입니다: 모델을 이식 가능하게 하고, 가정을 명시적으로 만들며, 결과를 재현 가능하게 합니다.

주요 기능

  • 제어 효과성 모델링 — 제어가 위험을 어떻게 감소시키는지 정량화(심층 방어 포함)
  • 중앙값 기반 매개변수화 — 로그정규 분포에 대해 중앙값을 직접 지정
  • 다중 통화 지원 — 자동 변환으로 여러 통화 간 모델링
  • 자동 보정 — 손실 데이터로 분포 보정
  • 엄격한 검증 — JSON 스키마 검증으로 시뮬레이션 전 오류 포착
  • 구현 독립성 — 모든 호환 시뮬레이션 엔진에서 작동
  • 사람이 읽을 수 있는 YAML — 읽기, 검토 및 감사가 용이

비전 (CRML이 표준이 되는 세상)

CRML이 인프라에서 IaC만큼 위험 작업에서 일반적인 미래를 상상해보세요:

  • 보안 설계자가 CRML 문서를 업데이트하여 새로운 제어 프로그램을 제안합니다; 변경 사항은 명확한 diff와 함께 Git에서 동료 검토됩니다.
  • GRC 및 감사 팀은 모든 메트릭을 검증되고 버전 관리된 모델(입력, 가정, 매핑, 출력)로 추적할 수 있습니다.
  • 다양한 정량화 엔진(벤더 플랫폼, 내부 FAIR 몬테카를로, 베이지안 QBER, 보험계리 모델)이 모두 동일한 CRML 문서를 사용합니다.
  • 프레임워크 변경은 모델 로직을 다시 작성하는 대신 카탈로그/매핑(또한 버전 관리됨)을 업데이트하여 처리됩니다.
  • 조직은 스프레드시트나 스크린샷을 보내지 않고 파트너, 보험사, 규제 기관과 모델을 교환할 수 있습니다.
  • 사이버 보안 당국은 연례 위협 환경 보고서를 CRML로 게시할 수 있습니다. 내러티브 PDF(가정, 분포, 종속성, 제어 기준선, 매핑)보다 더 풍부한 뉘앙스를 인코딩하고, 업계에서 더 표준화된 기계 판독 가능 데이터 제출의 혜택을 받습니다.

그러한 세상에서 사이버 위험은 팀 간에 재현 가능하고, 비교 가능하며, 자동화 가능해지면서도 방법론적 다양성을 허용합니다.

일반 아키텍처 참조: wiki/Concepts/Architecture.md

간단한 예시 ('표준화된 CRML'은 어떤 모습인가)

일반적인 조직은 CRML을 탐지 및 인프라 코드와 함께 유지할 수 있습니다:

  • risk/models/ — CRML의 시나리오 및 포트폴리오
  • risk/catalogs/ — 버전 관리된 제어 + 공격 카탈로그 (내부 또는 외부)
  • risk/mappings/ — 소유권 및 변경 기록이 있는 텔레메트리/제어/위협 매핑
  • CI는 모든 PR에서 crml-lang validate를 실행합니다; 야간 작업은 crml simulate를 실행하고 대시보드를 게시합니다

예시 스니펫 (설명용):

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

이 저장소는 두 개의 Python 패키지와 웹 UI를 제공합니다:

  • crml-lang: 언어/사양 모델 + 스키마 검증 + YAML 입출력
  • crml-engine: 참조 런타임 + crml CLI (crml-lang에 의존)
  • web/: CRML Studio — 검증 및 시뮬레이션을 위한 브라우저 UI (Next.js)

설치

CLI를 원하는 경우:

root@kitploit:~
pip install crml-engine

언어 라이브러리만 필요한 경우:

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

빠른 시작 (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

빠른 시작 (Python)

로드 및 검증:

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)

시뮬레이션 실행:

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)

저장소 구조

  • crml_lang/ — 언어/사양 패키지
  • crml_engine/ — 참조 엔진 패키지
  • web/ — 웹 UI (Next.js)
  • examples/ — 예제 CRML YAML 모델 및 FX 구성
  • wiki/ — 문서 소스 (MkDocs)

CRML Studio

CRML Studio는 web/에 있습니다.

로컬에서 실행:

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

http://localhost:3000 열기

스크린샷

Simulation

Validator

문서

문서는 wiki/에서 확인하세요 (wiki/Home.md에서 시작).

OSCAL 상호 운용성 및 매핑 규칙: wiki/Guides/OSCAL.md.

SCF 통합 및 매핑 가이드: wiki/Guides/SCF.md.

현재 문서 유형:

  • 시나리오 문서: 최상위 scenario:를 가진 crml_scenario: "1.0"
  • 포트폴리오 문서: 최상위 portfolio:를 가진 crml_portfolio: "1.0"

라이선스

MIT 라이선스 — LICENSE 참조.

도구 다운로드