Welcome to the repository for CYGA, the Cyber Geolocation Analysis tool designed to show real-time data and insights. CYGA is designed for tracking, analyzing, and responding to cyber threats with precision and efficiency. This project is a web application built with React and Material-UI on the front end, Node.js and Express on the back end, and MySQL for the database.
-
Timestamping: Every event is recorded with a precise timestamp, ensuring that you can track the sequence of events down to the millisecond.
-
Location Finding: Quickly pinpoint the geographical origin of an attack with our advanced geolocation algorithms.
-
Attack Type Identification: Our system classifies the nature of the attack, providing you with immediate insight into the potential threat.
-
Attack Analysis: In-depth analysis of each attack helps you understand the attacker's methods and motives.
-
Data Statistics: Comprehensive statistics offer a macro and micro view of the cyber threat landscape, aiding in strategic decision-making.
- React for Front-end Development
- Node.js and Express.js for Back-end Development
- MySQL for Database Management
- OpenAI API key (Optional)
-
Clone the repository:
git clone https://github.com/DroitXenon/CYGA.git cd CYGA/server
-
Install the dependencies:
npm install
-
Create the MySQL database:
CREATE DATABASE web_traffic;
-
Update the MySQL connection details in
server.js
:const db = mysql.createConnection({ host: 'localhost', user: 'Change to Your Own User', password: 'Change to Your Own Password', database: 'web_traffic' });
-
Start the backend server:
node server.js
-
Navigate to the frontend directory:
cd ../client
-
Update the OpenAI API Key in
server.js
:const openai = new OpenAI({ apiKey: 'Replace with your own API key', dangerouslyAllowBrowser: true });;
-
Install the dependencies:
npm install
-
Install the Material-UI:
npm install @mui/material @mui/styled-engine @emotion/react @emotion/styled
-
Start the React application:
npm start
- Open your browser and go to
http://localhost:3000
. - View the cybersecurity attack data in the table.
- Click on the column headers to sort the data.
- Select rows using the checkboxes.
- Click the "Analysis" button to analyze the selected rows using the OpenAI API.
- View the analysis results displayed below the table.
-
Frontend:
- React
- Material-UI
-
Backend:
- Node.js
- Express
-
Database:
- MySQL
-
API:
- OpenAI API