Skip to content
This repository has been archived by the owner on Jun 5, 2022. It is now read-only.
/ imsc Public archive

Linux Scoring Engine for CyberPatriot tryout / practice images

License

Notifications You must be signed in to change notification settings

tinkerrc/imsc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

imsc - Scoring Engine for Linux

This project is still under development.

How does it work

This is an attempt at making a scoring engine for tryout images (Linux) for CyberPatriot. The user needs to run imsc TOKEN after he/she boots up the image. The token is sent by the proctor beforehand.

A tryout image is defined using a TOML config file, which stores a ruleset (a set of vulnerabilities plus a set of penalties) plus some other information such as duration and image name. The proctor can then create tryout sessions for every participant and generate tokens for each. The token is then passed as an argument to imsc so that it can fetch and upload scoring data.

To use this, you need to host your own server with imsc-server (for now) and set up SSL certificate with certbot from Let’s Encrypt.

How to Build

Install dependencies

Arch

yay -S libcurlpp # replace yay with your favorite AUR helper
sudo pacman -S cmake crypto++ libnotify

Ubuntu

sudo apt update
sudo apt install -y cmake libcurlpp-dev libcurl4-openssl-dev libcrypto++-dev libnotify-dev

Note that for older versions of Ubuntu like Ubuntu 14 & 16, you need to obtain newer versions of cmake and gcc/g++ to enable C++17. You might also need to build & install a newer version of libcurlpp from source if you encounter build errors (don’t forget to remove the libcurlpp-dev package first).

Build

git clone --recurse-submodules https://www.github.com/oakrc/imsc
mkdir build
cd build
cmake .. -DIMSC_KEY=MySecretPassword -DIMSC_URL=https://example.com # **CHANGE THIS**
make && sudo make install

License

GPL v3.0, see LICENSE

About

Linux Scoring Engine for CyberPatriot tryout / practice images

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published