Pranjal-1234/cyber-threat-intelligence-portal
GitHub: Pranjal-1234/cyber-threat-intelligence-portal
Stars: 0 | Forks: 0
# Cyber Threat Intelligence (CTI) Portal
A complete, clean, and simple CTI Portal built for student internship projects.
## Tech Stack
- **Frontend:** React.js, Bootstrap, Chart.js, Lucide-React
- **Backend:** Node.js, Express.js, JWT
- **Database:** MySQL
## Features
- User Authentication (Register/Login) with JWT
- Role-based Access (Admin/User)
- Threat Intelligence Management (Add/View/Delete)
- Automated Risk Scoring Logic
- Interactive Dashboard with Threat Statistics
## Setup Instructions
### 1. Database Setup
- Open your MySQL terminal or phpMyAdmin.
- Run the SQL commands found in `database.sql` to create the database and tables.
- By default, it expects a database named `cyber_threat_db` with `root` user and no password.
### 2. Backend Setup
- Open a terminal in the `backend/` directory.
- Run `npm install` to install dependencies.
- Update the `.env` file if your MySQL credentials are different.
- Run `npm run dev` to start the backend server on port 5000.
### 3. Frontend Setup
- Open a new terminal in the `frontend/` directory.
- Run `npm install` to install dependencies.
- Run `npm start` to launch the React application.
- The app will be available at `http://localhost:3000`.
## Usage
1. Register a new user (choose "Admin" role if you want to test deletion).
2. Login with your credentials.
3. Go to the **Threat Intelligence** page to report new threats.
4. Try adding threats with keywords like "malicious" or "phishing" to see the automated risk scoring in action.
5. Check the **Dashboard** for visual statistics.
## Risk Scoring Logic
- **High:** If the threat value contains the keyword `malicious`.
- **Medium:** If the threat value contains the keyword `phishing`.
- **Low:** For all other threats.
标签:自定义脚本