Inspiration
With the increasing risk of malware and malicious USB devices, we wanted to create a simple yet effective tool to scan and analyze USB files for potential threats. Our goal was to provide an extra layer of security using VirusTotal's API, helping users identify and remove dangerous files before they can cause harm.
What it does
Bad USB Detector scans files on a USB drive for known malware signatures. By calculating file hashes and checking them against VirusTotal’s database, the tool can quickly determine if a file is safe or potentially harmful. If a malicious file is detected, the user is given the option to delete it instantly with a dedicated delete button. If a file is unknown, it can be uploaded for further analysis. The tool also generates a QR code linking to the VirusTotal report for additional details.
How we built it
We developed the application using Python and Tkinter for the graphical user interface. File scanning is performed by computing SHA-256 hashes and querying VirusTotal’s API. If a file is found to be malicious, a delete button appears, allowing the user to remove it immediately. We also integrated QR code generation to provide an easy way to access VirusTotal reports.
Challenges we ran into
- Handling VirusTotal API rate limits while ensuring real-time feedback.
- Managing file deletion permissions across different operating systems.
- Designing a user-friendly interface that balances security and ease of use.
- Handling unexpected API response formats and errors effectively.
Accomplishments that we're proud of
- Successfully integrating VirusTotal’s API for file scanning and uploads.
- Implementing an instant delete feature to remove malicious files.
- Creating a streamlined and intuitive user interface.
- Ensuring the tool runs smoothly on Raspberry Pi and other low-power devices.
What we learned
- How to effectively work with VirusTotal’s API and interpret scan results.
- Secure file deletion methods.
- The importance of real-time security measures in USB scanning tools.
- Strategies for optimizing API requests while maintaining usability.
What's next for Bad USB Detector
- Expanding compatibility to support additional file types and analysis tools.
- Implementing real-time USB monitoring to automatically scan newly inserted devices.
- Adding machine learning-based anomaly detection for unknown threats.
- Enhancing reporting features with detailed scan history and alert notifications.
Built With
- bash
- hashlib
- linux
- nx
- python
- qrcode
- raspberry-pi
- tkinter
- virustotal

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