Skip to content

DesignByDevDan/Cyber-Risk-Assessment-Framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# 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
  1. Create a virtual environment:

    python -m venv .venv
    source .venv/bin/activate
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run the backend server:

    python app.py

Frontend Setup

  1. Navigate to the frontend directory:

    cd ../frontend
  2. Install dependencies:

    npm install
  3. Start the React development server:

    npm start

MongoDB Setup

  1. Start the MongoDB service:

    brew services start mongodb-community
  2. Create a new database named risk_framework and collections assessments and scans.


Environment Variables

Create a .env file in the backend directory with the following content:

JWT_SECRET_KEY=your_generated_jwt_secret

To dynamically generate the secret key, run:

python -c "import secrets; print(secrets.token_hex(32))"

Usage

  1. Start both the backend and frontend servers.
  2. Open the frontend in your browser at http://localhost:3000.
  3. 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.

Testing with Postman

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

Contributing

Contributions are welcome! Feel free to fork the repository and create pull requests.


License

This project is licensed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published