Coder Social home page Coder Social logo

container-safety-determination's Introduction

Container Safety Determination (CSD) is an open source scanning and monitoring tool that lets engineers examine the safety state of their containers. The tool works for both images and containers, and can be configured to work without user intervention.

CSD detects suspicious files by comparing all the files of a given image with a database of known malicious and non-malicious binaries in order to determine how safe an image is. The security engineer works on the feedback received for a particular image and takes action accordingly.

Rahul Sharma
Jeremy Mwenda
Renqing Gao
Kostas Papadopoulos

Mentored by: Sastry S Duri (IBM Research)


Project Demo

Prerequisites
sudo apt-get -y install python-pip rabbitmq-server git wget clamav docker-compose
sudo pip install Flask
pip install elasticsearch
pip install pika
pip install -U flask-cors
Docker installation
wget -qO- https://get.docker.com/ | sh
sudo usermod -aG docker $(whoami)
reboot
Installation:
Installation steps

What it does:

Detect New Image —> Pull —> Hash —> Compare

CSD works by listening for notifications from an assigned Docker registry. Whenever someone pushes a new image, CSD pulls that image and proceeds to compute similarity digest hashes of all its files. CSD utilizes sdhash to compare files from an image to a reference data set of known files stored in elasticsearch database. The files that are not found in the database or are deemed to be different from the reference files, can then be sent to external scanning tools for further analysis. We have currently integrated ClamAV as an external scanner for such files.

The end-goal of the CSD design is to provide a customizable and scalable way for engineers to check safety related attributes of image files in order to help them decide the if an image is safe.


More detailed documentation of our project can be found on the project wiki page. The wiki includes:

Contributors:

container-safety-determination's People

Contributors

rahulait avatar gladius1218 avatar mwenda11 avatar konpap94 avatar

Watchers

James Cloos avatar Canturk Isci 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.