Inspiration

I came across a website which looked very authentic, but I was still doubtful because it required credit card information and needed to install files on my system. To confirm this, I had to do a lot of research to understand the authenticity of the website. After researching I found that the website was fake and I was pretty happy I did not fall into their trap. However, I realized that if an average user was in my place, he/she might not have gone through the hassle of verifying that a website is authentic or not. This was when the idea of Malicite was born

What it does

It takes in a URL and it classifies the URL as 'malicious' or 'not malicious', allows user to blacklist the malicious websites, gives the user tips on identifying such website themselves, shares a form to report such websites

How I built it

I trained two machine learning models, logistic regression and random forest on a publicly available dataset, which had labelled websites as malicious or not malicious. Logistic regression performed better, so I chose it as the final model. In addition I trained a vectorizer model to make sense of the url. Both these models were then integrated into the framework flask. I also wrote a script in python for blacklisting malicious websites

Challenges I ran into

This was my first Flask project at such a scale. I already knew a lot about making machine learning models in jupyter notebooks, but I did not have a lot of experience with actually deploying the model on a web app, so I struggled in that. The part of blocking the malicious website was also very difficult, because it was not limited to the app, it needed to be implemented for the whole system. Using references, I was able to solve this problem by overwriting the 'host' file on my device

Accomplishments that I'm proud of

I am proud that I was able to deploy a machine learning model on a website and I was able to create an app that could be useful in the real world

What I learned

Integrating machine learning model in flask, forms in flask, 'host' file on mac and its significance

What's next for Malicite

Integrating this flask app in a chrome extension could make the interface smoother, the model can be made more technical by using more features related to the content of the website

Built With

Share this project:

Updates