
FAIR CRQ Framework का एक कार्यान्वयन
FAIR v3.1 (Factor Analysis of Information Risk) ढांचे का उपयोग करके मात्रात्मक साइबर सुरक्षा जोखिम मूल्यांकन के लिए एक स्थानीय, ओपन-सोर्स प्लेटफॉर्म। खतरों को मॉडल करें, मोंटे कार्लो सिमुलेशन चलाएं, नियंत्रण प्रभावशीलता मापें, और जोखिम पोर्टफोलियो प्रबंधित करें — सब आपके ब्राउज़र से, बिना किसी क्लाउड खाते की आवश्यकता के।
LM = PLM + SLEF × SLEM

| आवश्यकता | संस्करण | नोट्स |
|---|---|---|
| Node.js | 22.5 या बाद का | v22.5 में पेश किए गए अंतर्निहित node:sqlite मॉड्यूल का उपयोग करता है |
| npm | Node.js के साथ आता है | अलग से स्थापना की आवश्यकता नहीं है |
brew install nodenvm install 22 && nvm use 22winget install OpenJS.NodeJS# Clone the repository
git clone https://github.com/iiamit/CyberQRM.git
cd CyberQRM
# Run the installer (checks Node version, installs all dependencies, downloads ATT&CK data)
chmod +x install.sh
./install.sh
REM Clone the repository (Git Bash, PowerShell, or any terminal)
git clone https://github.com/iiamit/CyberQRM.git
cd CyberQRM
REM Run the installer (double-click or run from a terminal)
install.bat
इंस्टॉलर निम्नलिखित करेगा:
npm निर्भरताएँ स्थापित करेंbackend/data/ निर्देशिका बनाएँ./start.sh
यह दो टर्मिनल विंडो (या डेस्कटॉप के बिना Linux पर बैकग्राउंड प्रक्रियाएँ) खोलता है — एक बैकएंड API के लिए और एक फ्रंटएंड dev सर्वर के लिए — फिर आपका ब्राउज़र स्वचालित रूप से खोलता है।
start.bat
दो कंसोल विंडो (बैकएंड और फ्रंटएंड) खुलेंगी। आपका ब्राउज़र 5 सेकंड के बाद स्वचालित रूप से खुल जाएगा।
एक बार चलने पर, ऐप तक निम्नलिखित URL पर पहुँचें:
| सेवा | URL |
|---|---|
| फ्रंटएंड | http://localhost:5173 |
| बैकएंड API | http://localhost:3001 |
यदि पोर्ट 5173 पहले से उपयोग में है, तो Vite स्वचालित रूप से 5174 पर स्विच करेगा।
CyberQRM FAIR v3.1 पद्धति को चार चरणों में लागू करता है:
बहु-आधार संपत्ति मूल्यांकन — संपत्ति मूल्य चरण पर "उन्नत: कई मूल्यांकन आधारों का उपयोग करें" टॉगल करें ताकि प्रत्येक मूल्य आयाम के लिए अलग-अलग वितरण परिभाषित कर सकें। सिमुलेशन प्रति पुनरावृत्ति सभी आधारों का योग करता है।
प्राथमिक और द्वितीयक हानि — हानि प्रभाव चरण पर "उन्नत: प्राथमिक और द्वितीयक हानि में विभाजित करें" टॉगल करें ताकि प्राथमिक प्रत्यक्ष लागत और द्वितीयक हितधारक-लगाई गई लागत (जुर्माना, प्रतिष्ठा क्षति, प्रतिस्पर्धात्मक हानि) को एक सशर्त SLEF संभावना के साथ मॉडल कर सकें। सभी राशियाँ पूर्ण USD में हैं।
MITRE ATT&CK — TEF और भेद्यता चरणों पर, तकनीक ब्राउज़र खोलें ताकि रणनीति द्वारा फ़िल्टर कर सकें, नाम या ID द्वारा खोज सकें, और प्रासंगिक तकनीकों का चयन कर सकें। प्लेटफॉर्म वास्तविक दुनिया के प्रचलन स्तरों (Red Canary / CTID दृश्यों से प्राप्त) के आधार पर TEF श्रेणियाँ और आपके द्वारा लागू किए गए ATT&CK शमनों की संख्या के आधार पर भेद्यता श्रेणियाँ सुझाता है।
डेटाबेस पहली बार चलाने पर स्वचालित रूप से बनाया जाता है (backend/data/cyberqrm.db)। सभी डेटा आपकी स्थानीय मशीन पर रहता है।
CyberQRM/
├── backend/ # Express.js + TypeScript API
│ ├── src/
│ │ ├── index.ts # Server entry point (port 3001)
│ │ ├── db/ # SQLite adapter, schema & migrations
│ │ ├── routes/ # REST endpoints (scenarios, controls, portfolios, ATT&CK)
│ │ ├── services/ # Business logic, Monte Carlo engine & ATT&CK service
│ │ ├── data/ # attack-prevalence.json (bundled TEF tier data)
│ │ └── middleware/ # Error handling
│ └── data/ # SQLite database + ATT&CK STIX file (auto-created)
├── frontend/ # React 18 + Vite + TypeScript
│ └── src/
│ ├── pages/ # Dashboard, Scenarios, Controls, Portfolios
│ ├── components/ # Charts, forms, UI primitives
│ │ └── forms/ # ScenarioForm, AttackTechniqueSelector,
│ │ # ValuationBasisList, PrimarySecondaryLossForm
│ ├── store/ # Zustand state management
│ └── utils/ # API client, formatting, report generator
├── shared/ # Shared TypeScript types (FAIR data model)
├── install.sh # macOS/Linux installer
├── install.bat # Windows installer
├── start.sh # macOS/Linux launcher
└── start.bat # Windows launcher
हॉट-रिलोडिंग के साथ कोड पर काम करने के लिए:
# Install dependencies (if not done already)
./install.sh # macOS/Linux
install.bat # Windows
# Start both services with live reload
npm run dev # from the project root (requires npm-run-all)
# Or start them individually
npm run dev:backend
npm run dev:frontend
उत्पादन बंडल बनाने के लिए:
npm run build
# Then run the compiled backend:
cd backend && npm start
# Serve frontend/dist with any static file server
योगदान का स्वागत है। कृपया महत्वपूर्ण बदलावों पर चर्चा करने के लिए पहले एक मुद्दा खोलें।
git checkout -b feature/your-feature)MIT — विवरण के लिए LICENSE देखें।
यह परियोजना FAIR™ (Factor Analysis of Information Risk) ऑन्टोलॉजी को लागू करती है। FAIR FAIR Institute का एक ट्रेडमार्क है।
ATT&CK® माइट्र कॉर्पोरेशन का एक पंजीकृत ट्रेडमार्क है। ATT&CK सामग्री का उपयोग ATT&CK उपयोग की शर्तों के तहत किया जाता है।
| स्वास्थ्य जाँच | http://localhost:3001/api/health |
| परत | तकनीक |
|---|
| फ्रंटएंड फ्रेमवर्क | React 18, TypeScript, Vite |
| स्टाइलिंग | Tailwind CSS |
| स्टेट प्रबंधन | Zustand, TanStack React Query |
| चार्ट | Recharts |
| बैकएंड फ्रेमवर्क | Express.js, TypeScript |
| डेटाबेस | SQLite via Node.js built-in node:sqlite |
| सत्यापन | Zod |
| खतरा खुफिया | MITRE ATT&CK Enterprise (STIX 2.1) |