Inspiration

While scrolling through Instagram, I stumbled upon a reel highlighting the surge in cybercrimes and the lurking dangers of the digital world. This piqued my curiosity and prompted me to question how these threats could be prevented. Is there an effective way to mitigate them? My initial research led me to various antivirus solutions, but I quickly realized that these were often insufficient in fully identifying and countering the complexities of modern digital threats. That's when an idea struck me: what if there was a system capable of not just identifying threats, but also understanding and analyzing files to determine their potential danger? An AI that could think and comprehend, evaluating whether a file poses a risk to the device by analyzing its contents and behavior.

What it Does

Soteria is an advanced AI chatbot designed to assist with everyday PC needs while providing robust protection against malware, viruses, and malicious files. It leverages the power of YARA rules and combines them with logic and comprehension to deliver comprehensive security. Here are the main features of Soteria:

  • Scanning with YARA: Utilizes YARA rules to identify and categorize potentially harmful files.
  • Real-Time Scanning: Continuously monitors and scans files in real time to ensure ongoing protection.
  • Logic and Comprehension: Employs advanced AI to analyze and understand files, determining their threat levels.
  • Report/Isolation/Delete: Offers options to generate detailed reports, isolate suspicious files, and delete confirmed threats.

Additionally, Soteria includes several sub-features:

  • Create/Search/Execute Folders and Files: Facilitates efficient file and folder management.
  • Text/Voice Recognition Prompt: Enhances user interaction through text and voice commands.
  • Tips for Security: Provides practical advice to help users maintain a secure digital environment.

How I Built It

  • Programming Language: I'm using Python for both the backend and frontend.
  • User Interface and Functionality:
    • I'm working with Tkinter and customTkinter to create a clean and user-friendly interface and serve as a foundation.
    • CustomTkinter helps me add more customization and style to the UI.
    • I'm implementing YARA rules to accurately identify and categorize malicious files.
    • I'm incorporating various essential libraries to enhance functionality and performance.
  • Development Process:
    • I've spent a lot of time on YouTube tutorials to learn and understand basic concepts.
    • The process involves continuous cycles of coffee, tutorials, ChatGPT, coding, debugging, and optimizing to ensure everything works seamlessly.
    • The last part is the finalization from checking to proofreading.
    • This project has required a significant time investment to overcome challenges and refine each feature to perfection.

Challenges I Ran Into

One of the most prominent challenges was the lack of sleep, as I found myself working late into the night until 2am. This sleep deprivation hindered my ability to think clearly and resolve bugs efficiently. Additionally, being a solo developer meant I had to juggle multiple aspects of the project simultaneously, which was particularly challenging given the time constraints and the pressure to deliver a high-quality product. Other challenges that I encountered include ChatGPT being unable to fully understand what I need and finding info on how to do stuff. In terms of technicality, the most challenging part was the UI—it was a headache to create and fix and took a lot of tutorials to fully understand. Despite these hurdles, I thoroughly enjoyed the process and found it to be a rewarding experience.

What I Learned

Through this project, I gained a deeper understanding of software development and the dedication required to bring an idea to fruition. I also learned the importance of adequate sleep and time management, especially during intense periods of work. I also learned that ChatGPT is not inherently capable of understanding more complex lines of code, causing the need for manual debugging and revision. Nevertheless, this experience has further fueled my interest in the digital and tech realms, and I am eager to continue exploring and learning in this field.

What's Next for Soteria

The future of Soteria involves making it more applicable and enhancing its logical thinking and comprehension capabilities in identifying malicious files and malware. Potential new features include:

  • Link Checker: Analyzes links to determine if they are dangerous.
  • Email Scam Checker: Evaluates emails to identify potential scams.
  • Voice Customization: Changes the voice of the AI since the current one sounds very standard and robotic.

These enhancements aim to make Soteria even more robust and user-friendly, providing comprehensive protection and assistance in the digital world.

Built With

  • customtkinter
  • python
  • tkinter
  • yara
Share this project:

Updates