Inspiration
With the rise of the internet, online scams and digital threats are more dangerous than ever before and can lead to financial loss and identity theft. We thus wish to come up with solutions against what would threaten our wa of life
What it does
Verifish takes a list of legitimate websites and creates all leetspeak variations of the domain names. Scammers usually use domains that look similar to that of legitimate websites and would make them look similar using leetspeak. This can be used to trick users into clicking on the links as they look similar even though upon closer inspection, they are actually different.
Verifish then takes this list of fake domain names and puts it in the /etc/hosts folder for the domain names to point to nowhere. Effectively blocking all fake domain names on an Operation System level and fully preventing the phishing links from working even on different browsers.
How we built it
Our Github repository contains the Python code of Verifish. We simply took some lists of the most popular websites and put them through a leetspeak conversion function in Python. It then takes these fake domain names generated and blocks them. This is done by editing the system's /etc/hosts file to point all of these domain names to nowhere, effectively blocking them on an Operating System level.
Challenges we ran into
The main challenge we ran into was performance limits with Verifish. While the program has a negligible impact on performance after installation, running the program initially to generate the fake domains and save them takes a toll on the computer's resources. Initially the program could use over 28 GB of RAM which was problematic at first as it would crash once resources were used up. We eventually managed to fix these performance issues by optimising the code and website lists to make it such that it will only use at most 2 GB of RAM for a few seconds and was over 200% faster than the first version of the program.
Accomplishments that we're proud of
We have managed to not only have a fully functional version of the code optimised and functional on Linux and MacOS systems. But we also have a Figma prototype showing how Verifish could be used as a system app and prevent scams happening even on Android or IOS phones.
What we learned
Creating and managing a Python project on Gitub was one thing we learned. Commit branches and code management was new to a few of us so it resulted in quite a learning curve to overcome.
What's next for Verifish
Verifish could be better optimised to use even less resources so that lower performance devices like Chromebooks could also be supported. Additionally we wish to add full Windows support to our program and potentially make a GUI that makes installation easier for less technical users we are more likely to fall for scams.
Built With
- figma
- python

Log in or sign up for Devpost to join the conversation.