Skip to content

Team-Catalyst-MLSA/Vulnerability-Analysis-in-Code

 
 

Repository files navigation

Vulnerability Analysis in Code 🕵️

Welcome to our Code Analysis and Vulnerability Prediction Tool! This web application is designed to assist developers in analyzing their code for potential vulnerabilities and predicting security issues using machine learning techniques.

Overview 🔭

In today's software development landscape, ensuring the security of code is paramount. However, identifying vulnerabilities manually can be time-consuming and prone to oversight. Our tool aims to streamline this process by automating code analysis and providing predictive insights into potential security risks.

Features⭐️

1. Comprehensive Vulnerability Detection🔍

Our tool leverages a database of 22 MITRE vulnerabilities, covering a wide range of common security issues. By analyzing code against these vulnerabilities, we provide developers with a comprehensive assessment of potential risks.

2. Transformer Model Integration🤗

To enhance the accuracy of vulnerability detection, we've integrated a Transformer model trained on labeled vulnerability data. This model predicts vulnerability percentages for each identified issue, helping prioritize and address high-risk areas.

3. Power Virtual Agent (PVA) Bot for Education🤖

Our tool includes a Power Virtual Agent (PVA) bot, trained on MITRE Att&ck website, OWASP code review guide, and Writing Secured code book by Microsoft. This bot serves as an educational resource for developers, providing insights into safe coding practices, frameworks, vulnerability details, and mitigation strategies for identified vulnerabilities.

4. User-Friendly Interface😀

Our web application features an intuitive and user-friendly interface, built using Python Django for the backend and HTML/CSS for the frontend. This makes it easy for developers to upload their code, initiate analysis, and interpret results. Visualizations and highlighting of vulnerable code segments aid in understanding and addressing security issues.

Getting Started 🚀

To use our tool, follow these steps:

Upload Code: Navigate to our web application and upload your codebase.

Initiate Analysis: Start the code analysis process to identify vulnerabilities and predict security risks.

Review Results: Explore the analysis results, including highlighted vulnerable code segments and predicted vulnerability percentages.

Interact with PVA Bot: Our tool includes a Power Virtual Agent (PVA) bot, trained on MITRE Att&ck website, OWASP code review guide, and Writing Secured code book by Microsoft. This bot serves as an educational resource for developers, providing insights into safe coding practices, frameworks, vulnerability details, and mitigation strategies for identified vulnerabilities.

Installation 🔨🔧

Our tool is accessible through a web interface, hosted on Azure App Services. No local installation is required. Simply visit http://codearmor.azurewebsites.net/ . to get started.

Requirements 🔧

Web browser with JavaScript enabled Stable internet connection for accessing the web application

Technologies Used 💻

Backend: Python Django

Frontend: HTML, CSS

Machine Learning Model: Hugging face mrm8488/codebert-base-finetuned-detect-insecure-code from Azure Machine Learning Studio

Database: PostgreSQL

Chatbot: Power Virtual Agents

Hosting: Azure App Services

Screenshots

Screenshot 2024-04-05 141031 Screenshot 2024-04-05 141215 Screenshot 2024-04-05 141238 Screenshot 2024-04-05 141428

About

Created by Team Catalyst, is intended for submission to the March-May MLSA Project cohort Demo: https://youtu.be/ItupX4iNhG4 Presentation Deck: https://1drv.ms/p/s!AgMRo25pA3MFm14Y-qB52xZ9zR5Q?e=jS1oWC

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 69.0%
  • HTML 27.6%
  • CSS 3.4%