/veach

VEACH – Vulnerabilities Exposure and Analysis in Code and Hardware

Primary LanguageJupyter NotebookMIT LicenseMIT

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

VEACH Project

VEACH – Vulnerabilities Exposure and Analysis in Code and Hardware
Software & hardware vulnerabilities detection and elimination system for Debian GNU/Linux operating system
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

VEACH – Vulnerabilities Exposure and Analysis in Code and Hardware.

VEACH project is designed to help novice Linux-Debian users to keep their system secure by detecting exploitable vulnerability using CVEs (Common Vulnerabilities and Exposures) machine’s component scanning. Once a vulnerability will be found, VEACH agent will suggest the user (by Web UI) a way to prevent or minimize the vulnerability (when available) and will produce a report representing the overall findings of the scan and preventing methods if available.

Architecture Diagram
Logo

(back to top)

Built With

The following are the frameworks and npm packages used in the project:

(back to top)

Getting Started

To get a local copy up and running, follow these steps.

Installation

Install git (If not already installed)

sudo apt install git

Clone the repo

git clone https://github.com/omeround3/veach.git

cd into "veach" folder

cd veach

Standard Installation

Install system dependencies by running

  xargs sudo apt-get install -y < requirements.system

Install Python3.9 Update the packages list and install the prerequisites

sudo apt update
sudo apt install software-properties-common

Add the deadsnakes PPA to your system’s sources list

sudo add-apt-repository ppa:deadsnakes/ppa

Once the repository is enabled, you can install Python 3.9

sudo apt install python3.9
sudo apt-get install python3.9-dev python3.9-venv

Create python virutalenv

python3.9 -m venv venv

Activate python virutalenv

source venv/bin/activate

Install requirements

pip install -r requirements.txt

Install MongoDB Commands are are taken from MongoDB offical docs

Run the commands:

wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

Ubuntu 20.04

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

Ubuntu 18.04

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo systemctl daemon-reload
sudo systemctl start mongod

Verify status of mongodb

sudo systemctl status mongod

if all is ok, enable mongodb to start on system startup

sudo systemctl enable mongod

Create Django superuser

python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser_if_none_exists --user=veach --password=veach4Life!

Install Node.js and npm

sudo apt install curl

Enable the NodeSource repository

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -

Once the NodeSource repository is enabled, install Node.js and npm

sudo apt install nodejs

cd into the frontend directory

cd veach_front

Install npm packages

npm install

Run Django server (app backend)

python manage.py runserver

Open new terminal and run front-end app (default address is http://localhost:8080)

npm run serve

If you get a DNS related error from python, follow whese steps: Install resolvconf from the official repositories

sudo apt install resolvconf

Start and enable it as follows

sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
sudo systemctl status resolvconf.service

Open the /etc/resolvconf/resolv.conf.d/head configuration file

sudo nano /etc/resolvconf/resolv.conf.d/head

Aadd the following lines in it

nameserver 8.8.8.8 
nameserver 8.8.4.4

Save the changes and restart the resolvconf.service and systemd-resolved or reboot the system

sudo systemctl restart resolvconf.service
sudo systemctl restart systemd-resolved.service

Production Installation

Installing dependencies**

cat requirements.system requirements.prod | sudo xargs apt-get install -y
  • [] TODO

(back to top)

Usage

Login Page VEAHC-Login

Dashboard VEACH-Dashboard-1 VEACH-Dashboard-2

Mitigation Page VEACH-mitigate

Settings Page VEACH-settings

(back to top)

Roadmap

  • [ ]
  • [ ]
  • [ ]

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Project Link: https://github.com/omeround3/veach

(back to top)

Acknowledgments

  • Project inspired by

(back to top)