Giter Club home page Giter Club logo

gamified-cybersecurity's Introduction

gamified-cybersecurity

The goal of this project is for users to be able to learn cyber security in hackthebox like environment. This project is divided into 5 main parts.

  1. Frontend: Here, users will be be interacting with a terminal to try to solve a puzzle. We also plan to have interactions with a llm here to assist in learning. For this, we plan to use a react js app with the react-terminal package.
  2. Vulnerable machines: These will be randomly generated vulnerable docker images. One goal we have is to make the game similar to a rogue like so we will want to randomly generate these images. However, if every user will be able to randomly spin up a dockerfile in the backend, that will be a scalability nightmare. So the current plan is to have 4 randomly generated dockerfiles which will rotate every day or so. That way there will be no need to spin up new images.
  3. Backend: The main task of the backend is connect the frontend to the ssh logs of the vulnerable machine and also connect the llm with the frontend.
  4. LLM: This LLM will be inspired by pentest gpt and will be the main part I will be working on. My goal is to have a minimal "teacher" model which can help with pentesting while not providing answers and not hallucinating.
  5. Attacker machine: These will be an attacker machine to attack vulnerable containers

As the project becomes more complicated, I suspect we will need to include celery and redis for scalability but for now this should do. I also added a postgres dataset in docker-compose just for future use. THe main idea for the dataset is used to correct user commands for future improvement

How to run

git clone https://github.com/isamu-isozaki/gamified-cybersecurity-frontend.git frontend
git clone https://github.com/isamu-isozaki/gamified-cybersecurity-backend.git backend
git clone https://github.com/isamu-isozaki/gamified-cybersecurity-ai-server.git ai-server

To update do

cd frontend
git checkout main
git pull origin main
cd ../backend
git checkout main
git pull origin main
cd ../ai-server
git checkout main
git pull origin main
cd ..

Then, make a .env file in frontend folder with the following contents

REACT_APP_API_URL='http://localhost:10000'

In the backend folder, make a .env file with the following contents

APP_PORT=10000
API_URL="http://localhost:3000"
TEMP_DIR="imgs"
SSH_HOST="localhost"
SSH_USER="root"
SSH_PASS="root"
SSH_PORT=1022

Then, do

docker-compose up

I recommend commenting out the frontend part of docker-compose and just do

cd frontend
yarn
yarn start

and if you are developing backend, you can just do

npm install
npm run dev

To start testing out, you should have with an url localhost:3000. Put in the command ls in there and you should get the terminal output.

gamified-cybersecurity's People

Contributors

isamu-isozaki avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.