# Cyber Risk Assessment Framework
The **Cyber Risk Assessment Framework** is a comprehensive web application designed to assess and mitigate cybersecurity risks. It includes features such as risk factor analysis, compliance checks, network vulnerability scanning, and encryption/decryption utilities.
## Features
- **User Authentication**: Secure login and signup functionality with JWT-based authentication.
- **Risk Assessment**: Evaluate risk factors and generate recommendations based on their severity.
- **Compliance Check**: Verify compliance with industry standards like ISO 27001, HIPAA, and PCI DSS.
- **Network Vulnerability Scanning**: Scan networks for open ports and potential vulnerabilities using Nmap.
- **Encryption/Decryption**: Real-time encryption and decryption for sensitive data.
- **Machine Learning**: Predict risk scores using a Random Forest regression model.
---
## Technology Stack
- **Backend**: Python, Flask, Flask-JWT-Extended
- **Frontend**: React, Material-UI
- **Database**: MongoDB
- **Tools**: Nmap, scikit-learn, Cryptography library
---
## Installation and Setup
### Prerequisites
- [Python 3.12+](https://www.python.org/)
- [Node.js](https://nodejs.org/)
- [MongoDB](https://www.mongodb.com/)
- [Nmap](https://nmap.org/)
- Git
---
### Backend Setup
1. Clone the repository:
```bash
git clone https://github.com/DesignByDevDan/Cyber-Risk-Assessment-Framework.git
cd Cyber-Risk-Assessment-Framework/backend-
Create a virtual environment:
python -m venv .venv source .venv/bin/activate -
Install dependencies:
pip install -r requirements.txt
-
Run the backend server:
python app.py
-
Navigate to the frontend directory:
cd ../frontend -
Install dependencies:
npm install
-
Start the React development server:
npm start
-
Start the MongoDB service:
brew services start mongodb-community
-
Create a new database named
risk_frameworkand collectionsassessmentsandscans.
Create a .env file in the backend directory with the following content:
JWT_SECRET_KEY=your_generated_jwt_secretTo dynamically generate the secret key, run:
python -c "import secrets; print(secrets.token_hex(32))"- Start both the backend and frontend servers.
- Open the frontend in your browser at
http://localhost:3000. - Use the following features:
- Sign up and log in with your credentials.
- Test the risk assessment and compliance tools.
- Scan a network for vulnerabilities.
- Encrypt and decrypt sensitive text.
Use Postman to test API endpoints:
- Authentication:
/signup,/login - Risk Assessment:
/assess-risk - Compliance Check:
/check-compliance - Network Scanning:
/scan-network - Encryption/Decryption:
/encrypt,/decrypt
Contributions are welcome! Feel free to fork the repository and create pull requests.
This project is licensed under the MIT License. See the LICENSE file for details.