Inspiration
In a digital world where email is everywhere, phishing attacks pose a significant threat. According to an article I found, there are 3.4 billion phishing emails sent daily, and in 2021 over 300,000 people fell victim to a phishing attack. Because of this, I wanted to create a project that not only identifies phishing attempts but also educates users on potential risks.
My vision was to give users knowledge about phishing tactics and provide a practical and easy-to-use tool for identifying attacks. The goal was to contribute to a safer online environment by creating a solution that addresses threats and gives people the knowledge to safely navigate the internet!
What it does
MailKnyte is an AI-powered email security tool that protects users from phishing attacks by scanning emails and providing a likelihood score for potential threats. In addition, MailKnyte features a URL scanner powered by the VirusTotal API, identifying and warning users about malicious URLs. This comprehensive tool not only enhances email security but also empowers users to navigate the online landscape with increased awareness and protection.
How we built it
I built MailKnyte with a combination of web development and machine learning.
I first built the front end using HTML5 and CSS, with styling provided by the HTML5Up Stellar template. For the backend, I used Node.js and Express to create a server to handle requests.
The core of MailKnyte's functionality lies in its AI model, trained to detect phishing emails. Using Python, I developed a machine learning model with the scikit-learn library, employing a RandomForestClassifier. The model is trained on a dataset containing examples of both safe and phishing emails, enabling it to identify potential threats accurately.
Finally, I integrated the VirusTotal API for URL scanning. This allows MailKnyte to analyze URLs and warn users about potential threats on malicious websites.
Challenges we ran into
While developing MailKnyte, I faced several challenges. First, choosing the right machine learning model proved to be a difficult decision, given the many options available. After careful consideration, I settled on the RandomForestClassifier from scikit-learn, which demonstrated effectiveness in phishing email classification.
Another hurdle was navigating the process of setting up API connections for my custom Python API. This task presented a learning curve, but the experience increased my understanding of creating connections between different components of a website. Overcoming these challenges strengthened the overall development process and contributed to the success of MailKnyte.
Accomplishments that we're proud of
Developing MailKnyte has been a very fun and rewarding journey!
One key aspect is the successful integration of a RandomForestClassifier for phishing email detection. I'm also very proud of my success in connecting the VirusTotal API with my project and being able to use its features!
Also, creating a pleasing web interface, along with a short and informative blog on phishing for end-users, added to the overall project!
What's next for MailKnyte
In the future, MailKnyte could become a comprehensive email security toolkit with enhanced features and a refined machine-learning model. The plan includes exploring different models and datasets to improve phishing detection accuracy. Additionally, integrating other cybersecurity APIs will broaden MailKnyte's capabilities!
However with the limited time that I had for this project I am very happy with how the finished project came out!
Thank you!!
Built With
- axios
- cors
- express.js
- flask
- html5
- javascript
- node.js
- python
- scss
- sklearn
- virustotal
Log in or sign up for Devpost to join the conversation.