Skip to content

Latest commit

 

History

77 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

System Description

RiskMetrics provides risk management metrics for any given github repository. It utilizes nexB's scancode-toolkit to scan a repository's files for license information (i.e., how many files are licensed, what types of licenses are used, etc.). RiskMetrics also constructs and checks the repository's software package’s Common Platform Enumeration (CPE) against the National Vulnerability Database (NVD). Presence in this database indicates a documented security vulnerability within the software package.

Use Case

  • Title: Provide Risk Management Metrics on Software Package
  • Primary Actor: Open Source Contemplator (someone interested in utilizing OSS)
  • Goal in Context: Provide metrics for determination of risk in any given software package
  • Stakeholders: Open Source Contemplator, Software Package Vendor
  • Preconditions Software package is present in system
  • Main Success Scenario: Software package is analyzed and results outputted
  • Failed End Conditions: Software package fails to be analyzed
  • Trigger: Executes ./start.sh and provides software package

Dependencies

Installation

Ubuntu 16.04.2+ (with at least 2 GB Ram)

  1. Python 2.7 ships with Ubuntu 16
  2. Install virtualenv 15.0.1+
    • sudo apt install virtualenv
  3. In a Terminal, set your working directory where you want to install RiskMetrics
  4. In that directory, run git clone https://github.com/hacksmath/RiskMetrics.git
    • If git is not installed, intall git with sudo apt install git or manually download RiskMetrics
  5. Change directories to the newly downloaded RiskMetrics
  6. Create a virtualenv to install python dependencies with virtualenv env
  7. Activate the virtualenv with source env/bin/activate
  8. Install python dependencies with pip pip install -r requirements.txt

Usage

  1. In the RiskMetrics directory, run python riskmetrics/riskmetrics.py <github-repo-url>
    • ScanCode and the NVD will be automatically downloaded and configured as necessary.
  2. The results will be displayed on the Terminal

Development Environment

Development is currently being performed on macOS Sierra and Windows 10 using Python 2.7.

Those interested in contributing should contact Micah (mswab@unomaha.edu) or Kiet (khtran@unomaha.edu).

Test Cases

To execute unit tests, run command pytest in the test directory.

Data Flow Diagram

Data Flow Diagram

Database Schema

This section is intentionally empty as no generated data is currently being cached.

License & Copyright Declarations

RiskMetrics source code licensed under MIT.

Documents licensed under CC BY-SA 4.0.

All work copyright © Micah Swab, Kiet Tran 2017.

About

Providing value free open source software risk metrics since 2017

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages